1

This Question might sound strange ! But this is my observation. I'm currently using Debian wheezy , it initially had python-pip 1.1 version. installing llvmlite with the above pip version requested for a LLVM_CONFIG path , Compatible versions of LLVM for llvmlite - were not available in the default repository of debian wheezy sources.list. So i could not install llvmlite.

Later point i upgraded pip version to 18.1 and tried to reinstall llvmlite using llvmlite. Now it did not prompt for any LLVM_CONFIG file (and got successfully installed). And i don't see any library related to LLVM installed in my system ? What has happened here ?
FYI :: I had to install llvmlite as it is a hard dependency of librosa -> numba

thiran509
  • 11
  • 2

1 Answers1

1

It seems you originally had a quite old version of pip installed (https://pypi.org/project/pip/#history) that didn't support wheels (binary packages). It would have likely tried to build from source, which needs an LLVM version to statically link against.

With a newer pip, the wheel can be used, which already has LLVM statically linked. See the llvmlite docs here for more details.

https://llvmlite.readthedocs.io/en/latest/admin-guide/install.html#why-static

chrisb
  • 49,833
  • 8
  • 70
  • 70
  • Can u brief what static linking is ? How does llvmlite get configured without availability of LLVM in the OS? – thiran509 Dec 04 '18 at 16:07
  • Can i summarise it like , required parts of LLVM for llvmlite were integrated with newer versions of llvmlite ? Avoiding unused parts of LLVM – thiran509 Dec 04 '18 at 16:12
  • That's right - required bits of LLVM are embedded into the llvmlite binary – chrisb Dec 04 '18 at 16:23