RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd

Hi,

Could someone help with this please?
I’m getting this error when I try to start assign3.1.0 on Ubuntu 20.22 using the Ubuntu16 compiled version.
Here’s the output from the shell:

Program licence (non-profit) valid until Tue Jan 5 04:34:08 2100
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
File “/home/jo/software/ccpnmr3.1.0/src/python/ccpn/util/Common.py”, line 826, in loadModules
module = found.load_module(name)
File “”, line 462, in _check_name_wrapper
File “”, line 962, in load_module
File “”, line 787, in load_module
File “”, line 265, in _load_module_shim
File “”, line 702, in _load
File “”, line 671, in _load_unlocked
File “”, line 783, in exec_module
File “”, line 219, in _call_with_frames_removed
File “/home/jo/software/ccpnmr3.1.0/src/python/ccpn/core/lib/PeakPickers/PeakPickerNd.py”, line 36, in
from ccpnc.peak import Peak as CPeak
Error Loading Module PeakPickerNd. numpy.core.multiarray failed to import (Common.loadModules:830)
RuntimeError: module compiled against API version 0xe but this version of numpy is 0xd
Traceback (most recent call last):
File “/home/jo/software/ccpnmr3.1.0/miniconda/lib/python3.8/runpy.py”, line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File “/home/jo/software/ccpnmr3.1.0/miniconda/lib/python3.8/runpy.py”, line 86, in _run_code
exec(code, run_globals)
File “/home/jo/software/ccpnmr3.1.0/src/python/ccpn/AnalysisAssign/main.py”, line 31, in
from ccpn.AnalysisAssign.AnalysisAssign import Assign as Application
File “/home/jo/software/ccpnmr3.1.0/src/python/ccpn/AnalysisAssign/AnalysisAssign.py”, line 30, in
from ccpn.framework.Framework import Framework
File “/home/jo/software/ccpnmr3.1.0/src/python/ccpn/framework/Framework.py”, line 102, in
from ccpn.ui.gui.Gui import Gui
File “/home/jo/software/ccpnmr3.1.0/src/python/ccpn/ui/gui/Gui.py”, line 979, in
from ccpn.ui.gui.lib.GuiSpectrumViewNd import GuiSpectrumViewNd as _GuiSpectrumViewNd
File “/home/jo/software/ccpnmr3.1.0/src/python/ccpn/ui/gui/lib/GuiSpectrumViewNd.py”, line 37, in
from ccpnc.contour import Contourer2d
ImportError: numpy.core.multiarray failed to import

Thanks,
Jo

“module compiled against API version 0xe but this version of numpy is 0xd”

a ‘wrong’ version of numpy seemingly causes this error. but please just see my reply as a hint - my technical abilities regarding this software is somewhat limited ^^

you could try to force to a different numpy version (as 0xe > 0xd you should try a newer one) using your packet manager (apt or apt-get) or pip (python packet manager) depending on the fact which packages are used (sometimes the ones from python are used, but sometimes the system-packages are used - yes it is possible to install python packages via apt-get e.g.) → ask the search engine of your trust for further information

OK so I removed the system numpy and reinstalled it but then I got:

CcpNmrAnalysis: symbol lookup error: ccpnmr3.1.0/miniconda/plugins/platforms/…/…/lib/libQt5XcbQpa.so.5: undefined symbol: _ZN22QWindowSystemInterface24setPlatformFiltersEventsEb, version Qt_5_PRIVATE_API

I’m not sure this is an improvement!

Hi
There is a 20.04 version that can be downloaded from
https://www.ccpn.ac.uk/download/3.1.0/ccpnmr3.1.0Ubuntu20.04Academic.zip

Ed

The 20.04 version is now also available for download directly on the website:

Vicky

I have downloaded the 20.04 version and I got the same undefined symbol error. I then removed PyQt and qt5 and reinstalled and now I get:

from PyQt5 import QtCore, QtWebEngineWidgets
ImportError: /lib/x86_64-linux-gnu/libgssapi_krb5.so.2: undefined symbol: krb5_ser_context_init, version krb5_3_MIT

I’ll have a bit more of a look into it but if anyone has any ideas that would be great

Can you tell me where assign is looking for numpy? I’ve updated numpy in my virtual environment but I think it’s looking somewhere else…

OK I think the problem is that the system numpy version is 1.21.5 and this is the latest system version that I can install, even though I am running in a virtual environment with numpy1.23, this seems to be overridden when starting assign.