Public bug reported:

The libssl-dev package in Ubuntu 26.04 provides the libcrypto.a static
library.

This static library comes with a pkg-config configuration that declares
a dependency on libjitterentropy.a, which is packaged in the
libjitterentropy3-dev package. The libcrypto.a static library also has
undefined references to various jent_* functions that are defined in
libjitterentropy.a.

But the libssl-dev package does not actually have a dependency link to
the libjitterentropy3-dev package, so by installing libssl-dev it's
possible to get the system into a state where libcrypto.a exists but
can't be used to build a program with static linking. If the downstream
custom program uses pkg-config to find its libcrypto dependency, the
build will fail because libjitterentropy.a is not available.

To reproduce, start a Docker container of Ubuntu 26.04:

```
docker run -ti --rm ubuntu:26.04
```

And run these commands:

```
export DEBIAN_FRONTEND=noninteractive
apt update && apt install -y libssl-dev binutils pkg-config

nm -u /usr/lib/*-linux-gnu/libcrypto.a | grep jent
#                 U jent_version
#                 U jent_entropy_collector_alloc
#                 U jent_entropy_collector_free
#                 U jent_entropy_init_ex
#                 U jent_read_entropy

pkg-config --libs --static libcrypto
#-lcrypto -l:libjitterentropy.a -lz -lzstd -ldl -pthread

find / -name libjitterentropy.a
# No results

apt install -y libjitterentropy3-dev

nm -U /usr/lib/*-linux-gnu/libjitterentropy.a | grep jent_version
#0000000000000448 T jent_version
```

The expected behavior, as observed with other *-dev packages, is that
you should be able to install an apt package and link against any static
library it packages (using the flags that it registered with pkg-config,
if it provides that configuration), with no missing transitive
dependency static libraries.

ProblemType: Bug
DistroRelease: Ubuntu 26.04
Package: libssl-dev 3.5.5-1ubuntu3.2
Uname: Linux 6.12.54-linuxkit aarch64
ApportVersion: 2.34.0-0ubuntu2
Architecture: arm64
CasperMD5CheckResult: unknown
CloudBuildName: ubuntu-oci:minimized
CloudSerial: 20260421
Date: Tue Jun 23 21:01:09 2026
ProcEnviron:
 PATH=(custom, no user)
 TERM=xterm
SourcePackage: openssl
UpgradeStatus: No upgrade log present (probably fresh install)

** Affects: openssl (Ubuntu)
     Importance: Undecided
         Status: New


** Tags: apport-bug arm64 cloud-image resolute

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

Title:
  libssl-dev ships a static library that needs libjitterentropy3-dev,
  but the apt package dependency is missing

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openssl/+bug/2158026/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to