Currently, lib64 is simply a symbolic link to lib, with everything compiled as 64 bit code. I believe this is preventing 32-bit apps that were previously dynamically linked from executing. On other distributions, lib and lib64 are independant filestructures, with lib having traditional 32 bit codes for compatibility, and lib64 containing 64 bit codes. Reproducible: Always Steps to Reproduce: 1. Download setiathome (32bit dynamic), setiathome (64bit dynamic), and boinc (32bit static) 2. 64-bit setiathome and boinc will work fine 3. 32-bit setiathome dies with a "no such file or directory" from bash (guessing it can't find its 32-bit dynamically linked libraries) Actual Results: 32 bit dynamically linked binaries won't run Expected Results: Found the 32-bit libraries (if they were installed), and run in 32-bit mode. 32-bit binary compatibility is a major selling feature of AMD-64 processors. I'm told that RedHat and Suse currently support running both 32-bit and 64-bit applications on AMD-64 processors via having seperate libraries.
emerge emul-linux-x86-baselibs is your friend ;-) This installs 32bit libraries into /lib32/ and /usr/lib32/. There are also -xliba and -qtlibs and -gtklibs. Closed.