Llvm5.0-devel

If you are linking a tool against llvm5.0-devel , always use LLVM_STATIC = ON in your CMakeLists, or prepare for missing libLTO.so errors. The C++ ABI Landmine LLVM 5.0 was compiled with GCC 5.1 or GCC 6 (depending on the distro). This uses the CXXABI_1.3.9 (Itanium ABI with C++11 features). If your modern system uses GCC 11+ (CXXABI_1.3.13), you may experience std::string ABI incompatibilities.

Keep a Docker image with llvm5.0-devel in your back pocket. One day, a vendor will send you a tarball of ancient bytecode, and you’ll be glad you did. llvm5.0-devel

The answer is simple:

llvm5.0-devel allows you to keep that legacy analysis pass alive without rewriting it for modern LLVM. You won't find this in apt default repos for Ubuntu 22.04+. You need specific EPEL or Legacy repos. On RHEL 7 / CentOS 7 (EPEL): sudo yum install epel-release sudo yum install llvm5.0-devel # Installs to: /usr/lib64/llvm5.0/ On Ubuntu 18.04 (Bionic) - Old repos: sudo apt install llvm-5.0-dev On Modern Systems (Manual Install): You likely need to build from source or use a Docker container: If you are linking a tool against llvm5

While the rest of the world has moved on, millions of lines of production code, proprietary GPU shaders, and embedded firmware still rely on the quirks and interfaces of LLVM 5.0. Let’s unpack what llvm5.0-devel actually is and when you might need to apt install or yum install it. llvm5.0-devel is the development package for LLVM version 5.0.0 (released September 2017). It contains the static libraries ( libLLVM-5.0.a ), headers ( llvm/*.h ), and CMake files required to build other compilers or tools against the LLVM 5.0 infrastructure. If your modern system uses GCC 11+ (CXXABI_1