Sorry…I didn’t see that I am getting any replies so this is a very, very late response.
So my setup currently is my CM3588 board that I SSH in.
When I use numba
and llmvlite
installed via pip, it works fine
hbina085@cm3588-nas ~/g/numba (main)> conda activate py312 (py312)
hbina085@cm3588-nas ~/g/numba (main)> python hello.py (py312)
hello
10-10-hello-True
Then I installed llvmlite
and numba
from the cloned repo using
LLVM_CONFIG=/usr/bin/llvm-config-15 python setup.py install
I am getting this error
hbina085@cm3588-nas ~/g/llvmlite (main)> python -m pip freeze | grep -E "llvmlite|numba" (numbaenv)
DEPRECATION: Loading egg at /tank/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba-0.62.0.dev0+15.g8348b5d84-py3.12-linux-aarch64.egg is deprecated. pip 24.3 will enforce this behaviour change. A possible replacement is to use pip for package installation. Discussion can be found at https://github.com/pypa/pip/issues/12330
llvmlite==0.43.0
numba==0.62.0.dev0+15.g8348b5d84
hbina085@cm3588-nas ~/g/llvmlite (main)> cd ../numba/ (numbaenv)
hbina085@cm3588-nas ~/g/numba (main)> python hello.py (numbaenv)
Traceback (most recent call last):
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/llvmlite/binding/ffi.py", line 136, in __getattr__
return self._fntab[name]
~~~~~~~~~~~^^^^^^
KeyError: 'LLVMPY_AddSymbol
Edit:
Okay…after revisiting this problem, I do notice that my llvmlite version is not a dev
? So I uninstalled this and reinstalled from the repo.
Now I am getting a different error, but at least its not libc related?
hbina085@cm3588-nas ~/g/numba (main)> python hello.py (numbaenv)
Traceback (most recent call last):
File "/tank/git/numba/hello.py", line 1, in <module>
import numba
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/__init__.py", line 73, in <module>
from numba.core import config
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/core/config.py", line 601, in <module>
_env_reloader = _EnvReloader()
^^^^^^^^^^^^^^
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/core/config.py", line 145, in __init__
self.reset()
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/core/config.py", line 149, in reset
self.update(force=True)
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/core/config.py", line 178, in update
self.process_environ(new_environ)
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/core/config.py", line 413, in process_environ
ENABLE_AVX = _readenv("NUMBA_ENABLE_AVX", int, avx_default)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/core/config.py", line 209, in _readenv
return default() if callable(default) else default
^^^^^^^^^
File "/home/hbina085/miniconda3/envs/numbaenv/lib/python3.12/site-packages/numba/core/config.py", line 403, in avx_default
cpu_name = CPU_NAME or ll.get_host_cpu_name()
^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'llvmlite.binding' has no attribute 'get_host_cpu_name
Oh dear is this related to how aarch64
CPUID works…
Edit2:
Honestly, I am so utterly confused. I tried to make sure my installation of llvmlite
is fine first, but the tests are failing?
hbina085@cm3588-nas ~/g/llvmlite (main)> conda activate numbaenv (numbaenv)
hbina085@cm3588-nas ~/g/llvmlite (main)> LLVM_CONFIG=/usr/bin/llvm-config-15 python setup.py install (numbaenv)
/tank/miniconda3/lib/python3.12/site-packages/setuptools/dist.py:294: InformationOnly: Normalizing '0.45.0dev0+10.g69b8c1b' to '0.45.0.dev0+10.g69b8c1b'
self.metadata.version = self._normalize_version(self.metadata.version)
running install
/tank/miniconda3/lib/python3.12/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py install is deprecated.
!!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer or other
standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************
!!
self.initialize_options()
running build
got version from VCS {'version': '0.45.0dev0+10.g69b8c1b', 'full': '69b8c1b370185c96cdbbd9de2d30e54803c30d43'}
running build_ext
/tank/miniconda3/bin/python /tank/git/llvmlite/ffi/build.py
LLVM version... 15.0.7
SVML not detected
Makefile.linux:22: warning: ignoring prerequisites on suffix rule definition
make: Nothing to be done for 'all'.
running build_py
copying llvmlite/utils.py -> build/lib.linux-aarch64-cpython-312/llvmlite
copying llvmlite/__init__.py -> build/lib.linux-aarch64-cpython-312/llvmlite
copying llvmlite/binding/linker.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/value.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/newpassmanagers.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/common.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/analysis.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/module.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/context.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/executionengine.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/passmanagers.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/transforms.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/object_file.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/targets.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/__init__.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/ffi.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/orcjit.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/initfini.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/options.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/typeref.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/binding/dylib.py -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
copying llvmlite/ir/module.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/types.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/transforms.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/__init__.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/_utils.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/context.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/values.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/instructions.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/ir/builder.py -> build/lib.linux-aarch64-cpython-312/llvmlite/ir
copying llvmlite/tests/refprune_proto.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/tests/customize.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/tests/test_ir.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/tests/__main__.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/tests/test_binding.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/tests/test_refprune.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/tests/__init__.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/tests/test_valuerepr.py -> build/lib.linux-aarch64-cpython-312/llvmlite/tests
copying llvmlite/binding/libllvmlite.so -> build/lib.linux-aarch64-cpython-312/llvmlite/binding
UPDATING build/lib.linux-aarch64-cpython-312/llvmlite/_version.py
running install_lib
copying build/lib.linux-aarch64-cpython-312/llvmlite/_version.py -> /tank/miniconda3/lib/python3.12/site-packages/llvmlite
copying build/lib.linux-aarch64-cpython-312/llvmlite/binding/libllvmlite.so -> /tank/miniconda3/lib/python3.12/site-packages/llvmlite/binding
byte-compiling /tank/miniconda3/lib/python3.12/site-packages/llvmlite/_version.py to _version.cpython-312.pyc
running install_egg_info
running egg_info
writing llvmlite.egg-info/PKG-INFO
writing dependency_links to llvmlite.egg-info/dependency_links.txt
writing top-level names to llvmlite.egg-info/top_level.txt
reading manifest file 'llvmlite.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
warning: no previously-included files matching 'CMakeCache.txt' found anywhere in distribution
adding license file 'LICENSE'
adding license file 'LICENSE.thirdparty'
writing manifest file 'llvmlite.egg-info/SOURCES.txt'
removing '/tank/miniconda3/lib/python3.12/site-packages/llvmlite-0.45.0.dev0+10.g69b8c1b-py3.12.egg-info' (and everything under it)
Copying llvmlite.egg-info to /tank/miniconda3/lib/python3.12/site-packages/llvmlite-0.45.0.dev0+10.g69b8c1b-py3.12.egg-info
running install_scripts
hbina085@cm3588-nas ~/g/llvmlite (main)> python runtests.py (numbaenv)
EEE.....
======================================================================
ERROR: llvmlite.tests.test_binding (unittest.loader._FailedTest.llvmlite.tests.test_binding)
----------------------------------------------------------------------
ImportError: Failed to import test module: llvmlite.tests.test_binding
Traceback (most recent call last):
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 141, in __getattr__
return self._fntab[name]
~~~~~~~~~~~^^^^^^
KeyError: 'LLVMPY_AddSymbol'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 122, in _load_lib
self._lib_handle = ctypes.CDLL(str(lib_path))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/miniconda3/lib/python3.12/ctypes/__init__.py", line 379, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /tank/miniconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /tank/git/llvmlite/llvmlite/binding/libllvmlite.so)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/tank/miniconda3/lib/python3.12/unittest/loader.py", line 396, in _find_test_path
module = self._get_module_from_name(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/miniconda3/lib/python3.12/unittest/loader.py", line 339, in _get_module_from_name
__import__(name)
File "/tank/git/llvmlite/llvmlite/tests/test_binding.py", line 17, in <module>
from llvmlite import binding as llvm
File "/tank/git/llvmlite/llvmlite/binding/__init__.py", line 4, in <module>
from .dylib import *
File "/tank/git/llvmlite/llvmlite/binding/dylib.py", line 36, in <module>
ffi.lib.LLVMPY_AddSymbol.argtypes = [
^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 144, in __getattr__
cfn = getattr(self._lib, name)
^^^^^^^^^
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 136, in _lib
self._load_lib()
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 130, in _load_lib
raise OSError("Could not find/load shared object file") from e
OSError: Could not find/load shared object file
======================================================================
ERROR: llvmlite.tests.test_ir (unittest.loader._FailedTest.llvmlite.tests.test_ir)
----------------------------------------------------------------------
ImportError: Failed to import test module: llvmlite.tests.test_ir
Traceback (most recent call last):
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 141, in __getattr__
return self._fntab[name]
~~~~~~~~~~~^^^^^^
KeyError: 'LLVMPY_AddSymbol'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 122, in _load_lib
self._lib_handle = ctypes.CDLL(str(lib_path))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/miniconda3/lib/python3.12/ctypes/__init__.py", line 379, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /tank/miniconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /tank/git/llvmlite/llvmlite/binding/libllvmlite.so)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/tank/miniconda3/lib/python3.12/unittest/loader.py", line 396, in _find_test_path
module = self._get_module_from_name(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/miniconda3/lib/python3.12/unittest/loader.py", line 339, in _get_module_from_name
__import__(name)
File "/tank/git/llvmlite/llvmlite/tests/test_ir.py", line 14, in <module>
from llvmlite import binding as llvm
File "/tank/git/llvmlite/llvmlite/binding/__init__.py", line 4, in <module>
from .dylib import *
File "/tank/git/llvmlite/llvmlite/binding/dylib.py", line 36, in <module>
ffi.lib.LLVMPY_AddSymbol.argtypes = [
^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 144, in __getattr__
cfn = getattr(self._lib, name)
^^^^^^^^^
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 136, in _lib
self._load_lib()
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 130, in _load_lib
raise OSError("Could not find/load shared object file") from e
OSError: Could not find/load shared object file
======================================================================
ERROR: llvmlite.tests.test_refprune (unittest.loader._FailedTest.llvmlite.tests.test_refprune)
----------------------------------------------------------------------
ImportError: Failed to import test module: llvmlite.tests.test_refprune
Traceback (most recent call last):
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 141, in __getattr__
return self._fntab[name]
~~~~~~~~~~~^^^^^^
KeyError: 'LLVMPY_AddSymbol'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 122, in _load_lib
self._lib_handle = ctypes.CDLL(str(lib_path))
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/miniconda3/lib/python3.12/ctypes/__init__.py", line 379, in __init__
self._handle = _dlopen(self._name, mode)
^^^^^^^^^^^^^^^^^^^^^^^^^
OSError: /tank/miniconda3/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /tank/git/llvmlite/llvmlite/binding/libllvmlite.so)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/tank/miniconda3/lib/python3.12/unittest/loader.py", line 396, in _find_test_path
module = self._get_module_from_name(name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/miniconda3/lib/python3.12/unittest/loader.py", line 339, in _get_module_from_name
__import__(name)
File "/tank/git/llvmlite/llvmlite/tests/test_refprune.py", line 3, in <module>
from llvmlite import binding as llvm
File "/tank/git/llvmlite/llvmlite/binding/__init__.py", line 4, in <module>
from .dylib import *
File "/tank/git/llvmlite/llvmlite/binding/dylib.py", line 36, in <module>
ffi.lib.LLVMPY_AddSymbol.argtypes = [
^^^^^^^^^^^^^^^^^^^^^^^^
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 144, in __getattr__
cfn = getattr(self._lib, name)
^^^^^^^^^
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 136, in _lib
self._load_lib()
File "/tank/git/llvmlite/llvmlite/binding/ffi.py", line 130, in _load_lib
raise OSError("Could not find/load shared object file") from e
OSError: Could not find/load shared object file
----------------------------------------------------------------------
Ran 8 tests in 0.001s
FAILED (errors=3)