Skip to content

Commit 576d086

Browse files
committed
fix(glibc): use lib64 for compatibility
This better reflects a standard Fedora/FHS/LSB distribution and fixes issues with a few containers, with the Nvidia Linux installer, and with the Nvidia container toolkit.
1 parent fe31eff commit 576d086

File tree

2 files changed

+18
-12
lines changed

2 files changed

+18
-12
lines changed

misc/glibc/ld.so.conf

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
/usr/local/glibc/usr/lib64
12
/usr/local/glibc/usr/lib

misc/glibc/pkg.yaml

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -26,12 +26,16 @@ steps:
2626
mkdir build
2727
cd build
2828
29+
echo "libc_cv_slibdir=/usr/local/glibc/usr/lib64" > config.cache
2930
../configure \
3031
--prefix=/usr/local/glibc \
31-
--libdir=/usr/local/glibc/usr/lib \
32-
--libexecdir=/usr/local/glibc/usr/lib \
33-
--enable-stack-protection=strong \
34-
--disable-werror
32+
--bindir=/usr/local/glibc/usr/bin \
33+
--sbindir=/usr/local/glibc/usr/sbin \
34+
--libdir=/usr/local/glibc/usr/lib64 \
35+
--libexecdir=/usr/local/glibc/usr/libexec \
36+
--enable-stack-protector=strong \
37+
--disable-werror \
38+
--cache-file=config.cache
3539
build:
3640
- |
3741
cd build
@@ -41,24 +45,25 @@ steps:
4145
mkdir -p \
4246
/rootfs/usr/local/glibc/usr/bin \
4347
/rootfs/usr/local/glibc/usr/lib \
44-
/rootfs/usr/local/glibc/usr/lib32 \
48+
/rootfs/usr/local/glibc/usr/lib64 \
49+
/rootfs/usr/local/glibc/usr/libexec \
4550
/rootfs/usr/local/glibc/usr/sbin
46-
ln -s usr/bin/ /rootfs/usr/local/glibc/bin
47-
ln -s usr/lib/ /rootfs/usr/local/glibc/lib
48-
ln -s usr/lib/ /rootfs/usr/local/glibc/lib64
49-
ln -s usr/sbin/ /rootfs/usr/local/glibc/sbin
50-
ln -s lib/ /rootfs/usr/local/glibc/usr/lib64
51+
ln -s usr/bin /rootfs/usr/local/glibc/bin
52+
ln -s usr/lib /rootfs/usr/local/glibc/lib
53+
ln -s usr/lib64 /rootfs/usr/local/glibc/lib64
54+
ln -s usr/sbin /rootfs/usr/local/glibc/sbin
5155
5256
cd build
5357
make install DESTDIR=/rootfs
5458
5559
cp /pkg/ld.so.conf /rootfs/usr/local/glibc/etc/ld.so.conf
5660
61+
# Talos has /lib{64} -> /usr/lib, /{s}bin -> /usr/bin.
62+
# Need to make '/sbin/ldconfig' and '/lib64/ld-linux-x86-64.so.2' work for compatibility.
5763
mkdir -p /rootfs/usr/lib /rootfs/usr/bin
58-
ln -s /usr/local/glibc/usr/lib/ld-linux-x86-64.so.2 /rootfs/usr/lib/ld-linux-x86-64.so.2
64+
ln -s /usr/local/glibc/usr/lib64/ld-linux-x86-64.so.2 /rootfs/usr/lib/ld-linux-x86-64.so.2
5965
ln -s /usr/local/glibc/usr/sbin/ldconfig /rootfs/usr/bin/ldconfig
6066
61-
# cleanup
6267
rm -rf /rootfs/usr/local/glibc/include
6368
rm -rf /rootfs/usr/local/glibc/share
6469
rm -rf /rootfs/usr/local/glibc/var

0 commit comments

Comments
 (0)