Skip to content

Commit 11af77e

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 aa25aaf commit 11af77e

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
@@ -28,12 +28,16 @@ steps:
2828
mkdir build
2929
cd build
3030
31+
echo "libc_cv_slibdir=/usr/local/glibc/usr/lib64" > config.cache
3132
../configure \
3233
--prefix=/usr/local/glibc \
33-
--libdir=/usr/local/glibc/usr/lib \
34-
--libexecdir=/usr/local/glibc/usr/lib \
35-
--enable-stack-protection=strong \
36-
--disable-werror
34+
--bindir=/usr/local/glibc/usr/bin \
35+
--sbindir=/usr/local/glibc/usr/sbin \
36+
--libdir=/usr/local/glibc/usr/lib64 \
37+
--libexecdir=/usr/local/glibc/usr/libexec \
38+
--enable-stack-protector=strong \
39+
--disable-werror \
40+
--cache-file=config.cache
3741
build:
3842
- |
3943
cd build
@@ -43,24 +47,25 @@ steps:
4347
mkdir -p \
4448
/rootfs/usr/local/glibc/usr/bin \
4549
/rootfs/usr/local/glibc/usr/lib \
46-
/rootfs/usr/local/glibc/usr/lib32 \
50+
/rootfs/usr/local/glibc/usr/lib64 \
51+
/rootfs/usr/local/glibc/usr/libexec \
4752
/rootfs/usr/local/glibc/usr/sbin
48-
ln -s usr/bin/ /rootfs/usr/local/glibc/bin
49-
ln -s usr/lib/ /rootfs/usr/local/glibc/lib
50-
ln -s usr/lib/ /rootfs/usr/local/glibc/lib64
51-
ln -s usr/sbin/ /rootfs/usr/local/glibc/sbin
52-
ln -s lib/ /rootfs/usr/local/glibc/usr/lib64
53+
ln -s usr/bin /rootfs/usr/local/glibc/bin
54+
ln -s usr/lib /rootfs/usr/local/glibc/lib
55+
ln -s usr/lib64 /rootfs/usr/local/glibc/lib64
56+
ln -s usr/sbin /rootfs/usr/local/glibc/sbin
5357
5458
cd build
5559
make install DESTDIR=/rootfs
5660
5761
cp /pkg/ld.so.conf /rootfs/usr/local/glibc/etc/ld.so.conf
5862
63+
# Talos has /lib{64} -> /usr/lib, /{s}bin -> /usr/bin.
64+
# Need to make '/sbin/ldconfig' and '/lib64/ld-linux-x86-64.so.2' work for compatibility.
5965
mkdir -p /rootfs/usr/lib /rootfs/usr/bin
60-
ln -s /usr/local/glibc/usr/lib/ld-linux-x86-64.so.2 /rootfs/usr/lib/ld-linux-x86-64.so.2
66+
ln -s /usr/local/glibc/usr/lib64/ld-linux-x86-64.so.2 /rootfs/usr/lib/ld-linux-x86-64.so.2
6167
ln -s /usr/local/glibc/usr/sbin/ldconfig /rootfs/usr/bin/ldconfig
6268
63-
# cleanup
6469
rm -rf /rootfs/usr/local/glibc/include
6570
rm -rf /rootfs/usr/local/glibc/share
6671
rm -rf /rootfs/usr/local/glibc/var

0 commit comments

Comments
 (0)