git: c69792a3272e - stable/15 - EC2: Add clibs-lib32 pkg to small/builder images
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 24 Mar 2026 02:47:43 UTC
The branch stable/15 has been updated by cperciva:
URL: https://cgit.FreeBSD.org/src/commit/?id=c69792a3272e211d05c278aa9c1590556b1a0f39
commit c69792a3272e211d05c278aa9c1590556b1a0f39
Author: Colin Percival <cperciva@FreeBSD.org>
AuthorDate: 2026-03-20 00:24:55 +0000
Commit: Colin Percival <cperciva@FreeBSD.org>
CommitDate: 2026-03-23 17:29:01 +0000
EC2: Add clibs-lib32 pkg to small/builder images
The FreeBSD-clang package on amd64 contains libclang_rt.asan-i386.so,
which links to the 32-bit version of libgcc_s.so.1. It is not clear
if that file belongs in FreeBSD-clang or if it should be placed into
a different package.
For unknown reasons, pkg *sometimes* recognizes this and decides that
it needs to install a package to supply libgcc_s.so.1:32.
In particular, when we initially install the VM with 'pkg install
[long list of FreeBSD-* packages]', pkg does not recognize that it
wants this; but the *next* time 'pkg install' runs, it decides that
it needs libgcc_s.so.1:32 -- even though that particular library is
not needed by the particular package we're trying to install -- and
goes looking for it... and ends up picking gcc12-devel as a provider.
Later in the EC2 image building process, we run 'pkg autoremove' (which
was added during 15.0 to get rid of the "bogus dependencies" which were
added while installing other packages) and pkg is once again confused:
It decides that gcc12-devel is an automatic port which is not required
by anything else, but upon determining that it should be removed it
then determines that FreeBSD-clang depends upon a port which is being
removed and deletes FreeBSD-clang as well.
It's not clear what is breaking in pkg, but as a temporary workaround
add the FreeBSD-clibs-lib32 package to the "small" and "builder" EC2
image flavours in order to satisfy the libgcc_s.so.1 demand.
This commit should be reverted if libclang_rt.asan-i386.so moves out
of FreeBSD-clang, (i.e. if it becomes possible to install a 32-bit-free
amd64 system) or when the pkg issue is resolved (i.e. pkg consistently
recognizes the shared library dependency and installs clibs-lib32
automatically as a FreeBSD-clang dependency).
MFC after: 3 days
Sponsored by: Amazon
Differential Revision: https://reviews.freebsd.org/D55978
(cherry picked from commit cfe0b7d37e552d78762c029f5b15e0f36d9d0d38)
---
release/tools/ec2-builder.conf | 1 +
release/tools/ec2-small.conf | 1 +
2 files changed, 2 insertions(+)
diff --git a/release/tools/ec2-builder.conf b/release/tools/ec2-builder.conf
index 3b0344f9eb9a..a272ea49a426 100644
--- a/release/tools/ec2-builder.conf
+++ b/release/tools/ec2-builder.conf
@@ -17,6 +17,7 @@ vm_extra_filter_base_packages() {
-e '.*-dbg$' \
-e '.*-lib32$' \
-e '^FreeBSD-set-tests'
+ echo FreeBSD-clibs-lib32
}
# Packages to install into the image we're creating. In addition to packages
diff --git a/release/tools/ec2-small.conf b/release/tools/ec2-small.conf
index 6564a59c2cf6..c1a05f98356f 100644
--- a/release/tools/ec2-small.conf
+++ b/release/tools/ec2-small.conf
@@ -20,6 +20,7 @@ vm_extra_filter_base_packages() {
-e '.*-dbg$' \
-e '.*-lib32$' \
-e '^FreeBSD-set-tests'
+ echo FreeBSD-clibs-lib32
}
# Packages to install into the image we're creating. In addition to packages