[Bug 2147343] [NEW] _uuid C extension module missing from libpython3.12-stdlib on Ubuntu 24.04 (Noble)

Christiaan Rademan 2147343 at bugs.launchpad.net
Mon Apr 6 14:16:21 UTC 2026


Public bug reported:

The _uuid C extension module is not included in the libpython3.12-stdlib 
package (3.12.3-1ubuntu0.12) on Ubuntu 24.04 amd64.

Impact not on earlier versions using earlier versions of Ubuntu LTS,
such as 22.04.

This module is built by CPython's when uuid-dev (libuuid headers)  is
available at compile time. It provides the generate_time_safe()
function, which wraps libuuid's uuid_generate_time_safe(), enabling
uuid.uuid1() to return SafeUUID.safe when the uuidd daemon is running.

Without _uuid.cpython-312-x86_64-linux-gnu.so in lib-dynload/, Python's
uuid module falls back to pure-Python UUID generation, which always
returns  SafeUUID.unknown, even when uuidd is installed and running.
This makes it impossible for applications to verify the UUID uniqueness
safety.

Steps to reproduce:
  1. Fresh Ubuntu 24.04 install with python3.12 (default)
  2. apt install uuid-runtime
  3. systemctl start uuidd
  4. python3 -c "import uuid; print(uuid.uuid1().is_safe)"

Expected: SafeUUID.safe
Actual: SafeUUID.unknown

Cause: _uuid.cpython-312-x86_64-linux-gnu.so is not present in
/usr/lib/python3.12/lib-dynload/. Confirmed by checking the official
package file list at:
https://packages.ubuntu.com/noble/amd64/libpython3.12-stdlib/filelist

It is a critical feature for services that spawn multiple processes and
need to create unique incremental UUIDs, such as UUID1 in this case.
UUID4 does not solve the incremental part.

** Affects: python3.12 (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to python3.12 in Ubuntu.
https://bugs.launchpad.net/bugs/2147343

Title:
  _uuid C extension module missing from libpython3.12-stdlib on Ubuntu
  24.04 (Noble)

Status in python3.12 package in Ubuntu:
  New

Bug description:
  The _uuid C extension module is not included in the libpython3.12-stdlib 
  package (3.12.3-1ubuntu0.12) on Ubuntu 24.04 amd64.

  Impact not on earlier versions using earlier versions of Ubuntu LTS,
  such as 22.04.

  This module is built by CPython's when uuid-dev (libuuid headers)  is
  available at compile time. It provides the generate_time_safe()
  function, which wraps libuuid's uuid_generate_time_safe(), enabling
  uuid.uuid1() to return SafeUUID.safe when the uuidd daemon is running.

  Without _uuid.cpython-312-x86_64-linux-gnu.so in lib-dynload/,
  Python's uuid module falls back to pure-Python UUID generation, which
  always returns  SafeUUID.unknown, even when uuidd is installed and
  running. This makes it impossible for applications to verify the UUID
  uniqueness safety.

  Steps to reproduce:
    1. Fresh Ubuntu 24.04 install with python3.12 (default)
    2. apt install uuid-runtime
    3. systemctl start uuidd
    4. python3 -c "import uuid; print(uuid.uuid1().is_safe)"

  Expected: SafeUUID.safe
  Actual: SafeUUID.unknown

  Cause: _uuid.cpython-312-x86_64-linux-gnu.so is not present in
  /usr/lib/python3.12/lib-dynload/. Confirmed by checking the official
  package file list at:
  https://packages.ubuntu.com/noble/amd64/libpython3.12-stdlib/filelist

  It is a critical feature for services that spawn multiple processes
  and need to create unique incremental UUIDs, such as UUID1 in this
  case. UUID4 does not solve the incremental part.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/python3.12/+bug/2147343/+subscriptions





More information about the foundations-bugs mailing list