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
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
in the name, so a
pip list can be used to identify whether a
single-build or platform-specific distribution has been installed.
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