13.1 Runtime Support
IMPORTANT: Conflicts between Application Versions
If an application is available both for 32-bit and 64-bit environments,
parallel installation of both versions is bound to lead to problems. In
such cases, decide on one of the two versions and install and use this.
An exception from this rule is PAM (pluggable authentication modules).
openSUSE uses PAM in the authentication process as a layer that
mediates between user and application. On a 64-Bit operating system that
also runs 32-Bit applications it is necessary to always install both
versions of of a PAM module.
To be executed correctly, every application requires a range of
libraries. Unfortunately, the names for the 32-bit and 64-bit versions of
these libraries are identical. They must be differentiated from each
other in another way.
To retain compatibility with the 32-bit version, the libraries are stored
at the same place in the system as in the 32-bit environment. The 32-bit
version of libc.so.6 is located under
/lib/libc.so.6 in both the 32-bit and 64-bit
environments.
All 64-bit libraries and object files are located in directories called
lib64. The 64-bit object files you would normally
expect to find under /lib, and
/usr/lib are now found under
/lib64, and /usr/lib64. This
means that there is space for the 32-bit libraries under
/lib and /usr/lib, so the
filename for both versions can remain unchanged.
Subdirectories of 32-bit /lib directories whose data
content does not depend on the word size are not moved. This scheme
conforms to LSB (Linux Standards Base) and FHS (File System Hierarchy
Standard).