%general-entities; ]> Glibc-&glibc-version; Glibc Installation of Glibc Tell Glibc to install its libraries into /lib: echo "libc_cv_rtlddir=/lib" >> config.cache echo "libc_cv_slibdir=/lib" >> config.cache ../glibc-&glibc-version;/configure --prefix=/usr \ --disable-profile --enable-kernel=&glibc-kernel-version; \ --libexecdir=/usr/lib/glibc --libdir=/usr/lib \ --enable-obsolete-rpc The meaning of the new configure option: --libexecdir=/usr/lib/glibc This changes the location of the getconf utility from its default of /usr/libexec to /usr/lib/glibc. The install will finish by checking that everything is correctly installed. Unfortunately, it will test for a multilib installation. On x86_64 Pure64 this means it will try to test the non-existent 32-bit loader which has a different name from the 64-bit loader (unlike on other 64-bit architectures). We fool it by creating a symlink to the real loader. ln -sv &glibc-ld-name; /lib/ld-linux.so.2 Now we can remove this symlink. We also need to correct the /usr/bin/ldd script - if you look at this, you will see it references not only the 32-bit linker, but also /lib64 where it thinks the 64-bit linker is. The following sed will correct this: rm -v /lib/ld-linux.so.2 sed -i.bak '/RTLDLIST/s%/ld-linux.so.2 /lib64%%' /usr/bin/ldd Check the script to make sure the sed worked correctly, then delete the backup. rm -v /usr/bin/ldd.bak Configuring The Dynamic Loader /etc/ld.so.conf By default, the dynamic loader (/lib/ld-linux-x86-64.so.2) searches through /lib and /usr/lib for dynamic libraries that are needed by programs as they are run. However, if there are libraries in directories other than /lib and /usr/lib, these need to be added to the /etc/ld.so.conf file in order for the dynamic loader to find them. Two directories that are commonly known to contain additional libraries are /usr/local/lib and /opt/lib, so add those directories to the dynamic loader's search path.