Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 14 Mar 2026 23:14:06 +0000
From:      bugzilla-noreply@freebsd.org
To:        pkg@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 293817] ports-mgmt/pkg : pkgbase jail, pkg install ffmpeg pulls FreeBSD-clibs-lib32 when FreeBSD-base is enabled, but ffmpeg installs and runs without it if FreeBSD-base is disabled for the transaction
Message-ID:  <bug-293817-32340-mV4BU1o7RC@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-293817-32340@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-pkg (Nobody)
<pkg@FreeBSD.org> for maintainer-feedback:
Bug 293817: ports-mgmt/pkg : pkgbase jail, pkg install ffmpeg pulls
FreeBSD-clibs-lib32 when FreeBSD-base is enabled, but ffmpeg installs and runs
without it if FreeBSD-base is disabled for the transaction
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=293817



--- Description ---
On a pkgbase-managed amd64 jail, `pkg install ffmpeg` pulls
`FreeBSD-clibs-lib32` when the `FreeBSD-base` repo is enabled.

Inside the jail, that transaction then fails while extracting the pkgbase lib32
package with errors like:

pkg: Fail to chflags /libc.so.7: Operation not permitted
pkg: Fail to chflags /librt.so.1: Operation not permitted
pkg: Fail to chflags /libsys.so.7: Operation not permitted
pkg: Fail to chflags /libthr.so.3: Operation not permitted
pkg: Fail to chflags /libexec/ld-elf32.so.1: Operation not permitted

However, if I perform the same `ffmpeg` install with `FreeBSD-base` unavailable
for that transaction, `ffmpeg` installs successfully, its dependencies still
include `gcc14`, `openblas`, `py311-numpy`, `Imath`, etc., and the resulting
`ffmpeg` binary works normally.

This suggests the issue is not a hard runtime requirement for lib32, but
install-time dependency resolution selecting `FreeBSD-clibs-lib32` on pkgbase
systems when `FreeBSD-base` is enabled.

Steps to reproduce:

1. Create a pkgbase-managed FreeBSD 15.0 amd64 jail.
2. Ensure both `FreeBSD-base` and a ports repo are enabled inside the jail.
3. Run `pkg install -n ffmpeg`.
4. Observe that the transaction includes `FreeBSD-clibs-lib32`.
5. Run the real install and observe extraction failure on base files with
`chflags ... Operation not permitted`.

For comparison:

1. Make `FreeBSD-base` unavailable for the transaction while keeping the ports
repo enabled.
2. Run `pkg install ffmpeg`.
3. Observe that `ffmpeg` installs successfully without `FreeBSD-clibs-lib32`.
4. Verify with `ffmpeg -version`, `ldd /usr/local/bin/ffmpeg`, and a simple
encode test. All of these succeed.

Actual result:

With `FreeBSD-base` enabled, `pkg` pulls `FreeBSD-clibs-lib32` and the install
fails in the jail during extraction/chflags handling.

Expected result:

`pkg install ffmpeg` on an amd64 pkgbase jail should not pull
`FreeBSD-clibs-lib32` unless it is actually required for the installed software
to function.

In this case, `ffmpeg` installs and runs without `FreeBSD-clibs-lib32` when
`FreeBSD-base` is not available to the solver, which suggests the lib32 pkgbase
dependency is not necessary for this transaction.

Additional information:

I traced the dependency chain far enough to show where lib32 becomes attractive
to the solver:

ffmpeg
-> libjxl
-> openexr
-> Imath
-> py311-numpy
-> openblas
-> gcc14

The installed package metadata for `gcc14` shows `MULTILIB` enabled and
declares `:32` shlib requirements such as:

libc.so.7:32
libdl.so.1:32
libm.so.5:32
librt.so.1:32
libthr.so.3:32

So the current behavior appears to be:

- pkg sees `:32` shlib requirements from `gcc14`
- on a pkgbase system with `FreeBSD-base` enabled, pkg resolves those via
`FreeBSD-clibs-lib32`
- in a jail, that becomes operationally problematic
- but the resulting application (`ffmpeg`) still works if lib32 is not brought
in

This may be either an overly aggressive dependency resolution choice in
`pkg`/pkgbase handling, or package metadata that causes unnecessary `:32`
requirements to be treated as mandatory in this context.


home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-293817-32340-mV4BU1o7RC>