Contents
openSUSEŽ is available for 64-bit platforms. This does not necessarily mean that all the applications included have already been ported to 64-bit platforms. openSUSE supports the use of 32-bit applications in a 64-bit system environment. This chapter offers a brief overview of how this support is implemented on 64-bit openSUSE platforms. It explains how 32-bit applications are executed (runtime support) and how 32-bit applications should be compiled to enable them to run both in 32-bit and 64-bit system environments. Additionally, find information about the kernel API and an explanation of how 32-bit applications can run under a 64-bit kernel.
openSUSE for the 64-bit platforms amd64 and Intel 64 is designed so that existing 32-bit applications run in the 64-bit environment “out-of-the-box.” This support means that you can continue to use your preferred 32-bit applications without waiting for a corresponding 64-bit port to become available.
![]() | 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 to 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 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 which
contain data content that does not depend on the word size are not moved.
This scheme conforms to LSB (Linux Standards Base) and FHS (File System
Hierarchy Standard).