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. |
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).