From nobody Sat Mar 14 23:14:06 2026 X-Original-To: pkg@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4fYHH334s0z6VYjB for ; Sat, 14 Mar 2026 23:14:07 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R12" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4fYHH23PJ9z3Y57 for ; Sat, 14 Mar 2026 23:14:06 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773530046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=a5BqblDMS8mJ6c94Ybm7IPn1whe7YlbMKlFimHWcO5U=; b=C+M+pLgiHPMqTIbkKV+4vf/OrASPHF0ZQsSex1zgP4o37x4zAunkCUysQ8prxd5y4oqCwq ep4mi2KkuzVuv0hkm7DZL9x/2iUZ97z1eEcVHYWWGL3BRUD4kWRsQ+S5e7pmjgiklytnw3 oQ/k63/RCXNxh4jPHIMbyXRO9333zHh8y8Kd+fjVSJ/mD/OV/8Lzt7KeHRWY7OSm7kexUF ZAL8LDczZABJsmXPIxrQ7C4UZpJFt/KC9TMlopPzqBZgz8r5h53ffVf+d1y4cOjKWzFapp GLCfEcsfTETOPQzRqQGqiQeKNVTQ2OtWt+2p3zxXaIirvBSW3+MX4hKlnYHLUA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1773530046; a=rsa-sha256; cv=none; b=Zmv+2oL03cPAbHonmywKHrl5wX7FXg/yPHnczZ0KK7DHBVI9S8Jc5QWHnZNYcUjtfzurcV XB4LpMYbv8TwVPsvID5DBjXgw6VpDODj+U7P8v8v+LLQUtDkFxPIcDNm0lrFS1QSOasKJ7 /H1CSJNzyGkY1kbc0U7M/HRQntgYZbdlFk5s4l+wu17WuQJH2U+joovJg+R6siNC322zf0 LeVT52UAow4+mR9Sfunub68WitAHlGRnZknFO50tz5E+GyKJwUl4RkoITQLjjxVHIhgnsi Nmolnf7ahgkr7zdGkHkCdG27TZOopuS3dD4/ae5gLmnpS0jHS6Ag60EU9PmIbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1773530046; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=a5BqblDMS8mJ6c94Ybm7IPn1whe7YlbMKlFimHWcO5U=; b=vTXMMuXOSFw26G3ZIHJ7QNLPkENhpdMCEdnsQBs2czBrPsiPKjA6REQPftuwg/9OyGvOSy BSi4jw1gUU7BtQFOCUnVj+L+L3z4r3q9GMJQxZ9cPDt79FrJ6dxvGi67TzMR+BjTB5O7EA Gniv/lchjPaSwXrbHffm+7nqvA+zeMfrlfwCNPRVZ+H273WlGM3BB25zeXWytFJ68rUa1b ficu5ZNv/M/FYjaJAvI8nxMMUqfSXWx3Eb7Ev6W6OK86TyGTeWH0U+eJ6brwniAFA6ngUo 5Gb6Vy0E14KtN95FebjeErnnReVpX8BxVmhu2ohIiGg24ZVhXENtITJKAlpIcQ== Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4fYHH231Gbz7s0 for ; Sat, 14 Mar 2026 23:14:06 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 62ENE67u095776 for ; Sat, 14 Mar 2026 23:14:06 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 62ENE6hu095775 for pkg@FreeBSD.org; Sat, 14 Mar 2026 23:14:06 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="UTF-8" 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 Date: Sat, 14 Mar 2026 23:14:06 +0000 X-Bugzilla-Type: request X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: X-Bugzilla-Severity: Affects Only Me X-Bugzilla-Who: X-Bugzilla-Status: New X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: pkg@FreeBSD.org X-Bugzilla-Flags: maintainer-feedback? Message-ID: In-Reply-To: References: X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: Binary package management and package tools discussion List-Archive: https://lists.freebsd.org/archives/freebsd-pkg List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-pkg@FreeBSD.org MIME-Version: 1.0 Bugzilla Automation has asked freebsd-pkg (Nobody) 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 r= uns without it if FreeBSD-base is disabled for the transaction https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D293817 --- 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 l= ib32 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` unavail= able 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 pkgba= se 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 po= rts 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 inst= all 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 soft= ware 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 pkg= base dependency is not necessary for this transaction. Additional information: I traced the dependency chain far enough to show where lib32 becomes attrac= tive 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 brou= ght 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.