Common Linux Single-Build Installation¶
The default Linux package contains libraries built to be maximally-compatible with Linux-based systems. It is built specifically to take advantage of the Linux cross-version compatibility guarantees in such a way that the Python package will run on many common Linux platforms.
This distribution is built on the oldest version of Linux supported by OpenEye. This means that the libraries will only depend on older Linux system functions (e.g. libc). Since Linux guarantees forwards compatibility, the distribution will work across many modern Linux systems.
The distribution is built using a later g++ compiler toolchain. This allows us to take advantage of optimizations and language features available in later g++ compiler versions (we’re not tied to the g++ from the oldest Linux OS). This does create a new dependency on later versions of C++ runtime libraries (libstdc++.so, libgcc_s.so, libgomp.so).
For a PIP installation on older RedHat versions, the default behavior is to install a package built against an older gcc version. This version is maximally compatible with a default RedHat system.
One can control the behavior of the pip meta-package installer using the
OE_PIP_ARCH
environment variable before executing the pip install
command. One can set the OE_PIP_ARCH
value to the exact desired
distribution or to the special value old
, which will always download
a version built exactly on the current platform, if available.
On Linux the single-build
distributions include the string linux-x64
in the name, so a pip list
can be used to identify whether a
single-build or platform-specific distribution has been installed.
Note
In previous toolkits, OE_ARCH
was used by the installer for both
Python packages and applications. This caused confusion since the
platform names could be different for the applications and the
Python packages on a platform. Now OE_ARCH
is used exclusively
by the applications and OE_PIP_ARCH
is used exclusively by the
Python toolkits.