- edited description
LLVM ERROR when loading EnMAP-Box 3.7 within conda environment on Ubuntu
I just tried to set up the latest EnMAP-Box within a conda environment including EnPT using this environment file:
Installation runs through without any issues and creates the environment below. QGIS runs properly. However, when installing and activating the EnMAP-Box 3.7, QGIS crashes with:
(enmapbox_enpt) gfz-fe@geoms:~$ qgis
- 'VirtualXPath' [XML Path Language - XPath]
- 'VirtualXPath' [XML Path Language - XPath]
Warning: QXcbConnection: XCB error: 145 (Unknown), sequence: 179, resource id: 0, major code: 139 (Unknown), minor code: 20
- 'VirtualXPath' [XML Path Language - XPath]
Warning: Cannot open file ':/qps/ui/icons/speclib.svg', because: No such file or directory
Warning: Cannot open file ':/qps/ui/icons/speclib.svg', because: No such file or directory
: CommandLine Error: Option 'help-list' registered more than once!
LLVM ERROR: inconsistency in registered CommandLine options
QGIS died on signal 11Aborted
The first warning does not matter. But I am not sure what is the actual problem - the missing files or LLVM (which might be related to numba).
(enmapbox_enpt) gfz-fe@geoms:~$ conda list
# packages in environment at /home/gfz-fe/miniconda3/envs/enmapbox_enpt:
#
# Name Version Build Channel
_libgcc_mutex 0.1 conda_forge conda-forge
_openmp_mutex 4.5 1_llvm conda-forge
appdirs 1.4.4 pyh9f0ad1d_0 conda-forge
argon2-cffi 20.1.0 py38h497a2fe_2 conda-forge
arosics 1.2.5 py38h578d9bd_0 conda-forge
astropy 4.2 pypi_0 pypi
async_generator 1.10 py_0 conda-forge
attrs 20.3.0 pyhd3deb0d_0 conda-forge
backcall 0.2.0 pyh9f0ad1d_0 conda-forge
backports 1.0 py_2 conda-forge
backports.functools_lru_cache 1.6.1 py_0 conda-forge
bleach 3.3.0 pyh44b312d_0 conda-forge
blosc 1.21.0 h9c3ff4c_0 conda-forge
bokeh 2.2.3 py38h578d9bd_0 conda-forge
boost-cpp 1.74.0 hc6e9bd1_2 conda-forge
branca 0.4.2 pyhd8ed1ab_0 conda-forge
brotli 1.0.9 h9c3ff4c_4 conda-forge
brotlipy 0.7.0 py38h497a2fe_1001 conda-forge
brunsli 0.1 h9c3ff4c_0 conda-forge
bzip2 1.0.8 h7f98852_4 conda-forge
c-ares 1.17.1 h36c2ea0_0 conda-forge
ca-certificates 2020.12.5 ha878542_0 conda-forge
cached-property 1.5.1 py_0 conda-forge
cachetools 4.2.1 pyhd8ed1ab_0 conda-forge
cairo 1.16.0 h7979940_1007 conda-forge
cartopy 0.18.0 py38h9b6dd9e_7 conda-forge
cerberus 1.3.2 py_0 conda-forge
certifi 2020.12.5 py38h578d9bd_1 conda-forge
cffi 1.14.4 py38ha65f79e_1 conda-forge
cfitsio 3.470 hb418390_7 conda-forge
cftime 1.4.1 py38h5c078b8_0 conda-forge
chardet 4.0.0 py38h578d9bd_1 conda-forge
charls 2.2.0 h9c3ff4c_0 conda-forge
click 7.1.2 pyh9f0ad1d_0 conda-forge
click-plugins 1.1.1 py_0 conda-forge
cligj 0.7.1 pyhd8ed1ab_0 conda-forge
cloudpickle 1.6.0 py_0 conda-forge
cmocean 2.0 py_3 conda-forge
colorcet 2.0.6 pyhd8ed1ab_0 conda-forge
colorspacious 1.1.2 pyh24bf2e0_0 conda-forge
configobj 5.0.6 py_0 conda-forge
coverage 5.4 py38h497a2fe_0 conda-forge
cryptography 3.3.1 py38h2b97feb_1 conda-forge
curl 7.71.1 he644dc0_8 conda-forge
cycler 0.10.0 py_2 conda-forge
cytoolz 0.11.0 py38h497a2fe_3 conda-forge
dask-core 2021.1.1 pyhd8ed1ab_0 conda-forge
dbus 1.13.6 hfdff14a_1 conda-forge
decorator 4.4.2 py_0 conda-forge
defusedxml 0.6.0 py_0 conda-forge
dicttoxml 1.7.4 py38h06a4308_1
dill 0.3.3 pyhd8ed1ab_0 conda-forge
eccodes 2.20.0 ha0e6eb6_0 conda-forge
ecmwf-api-client 1.6.1 pyhd3deb0d_0 conda-forge
enpt 0.16.4 pyhd8ed1ab_0 conda-forge
enpt-enmapboxapp 0.4.3 pypi_0 pypi
entrypoints 0.3 pyhd8ed1ab_1003 conda-forge
exiv2 0.27.1 had08079_0 conda-forge
expat 2.2.10 h9c3ff4c_0 conda-forge
fftw 3.3.9 nompi_h74d3f13_100 conda-forge
filelock 3.0.12 pyh9f0ad1d_0 conda-forge
fiona 1.8.18 py38h37fbd03_0 conda-forge
folium 0.11.0 py_0 conda-forge
fontconfig 2.13.1 hba837de_1004 conda-forge
freetype 2.10.4 h0708190_1 conda-forge
freexl 1.0.5 h516909a_1002 conda-forge
future 0.18.2 py38h578d9bd_3 conda-forge
gdal 3.1.4 py38h25844d8_3 conda-forge
gdown 3.12.2 pyh9f0ad1d_0 conda-forge
geoarray 0.10.8 py38h578d9bd_0 conda-forge
geojson 2.5.0 py_0 conda-forge
geopandas 0.8.2 pyhd8ed1ab_0 conda-forge
geos 3.8.1 he1b5a44_0 conda-forge
geotiff 1.6.0 h5d11630_3 conda-forge
gettext 0.19.8.1 h0b5b191_1005 conda-forge
giflib 5.2.1 h36c2ea0_2 conda-forge
glib 2.66.5 hcd2ae1e_2 conda-forge
glib-tools 2.66.5 hcd2ae1e_2 conda-forge
glymur 0.9.3 pyhd8ed1ab_0 conda-forge
gmp 6.2.1 h58526e2_0 conda-forge
gmpy2 2.1.0b1 py38hd744826_1 conda-forge
gsl 2.6 he838d99_2 conda-forge
gst-plugins-base 1.14.5 h0935bb2_2 conda-forge
gstreamer 1.18.3 h3560a44_0 conda-forge
h5py 3.1.0 nompi_py38hafa665b_100 conda-forge
hdf4 4.2.13 h10796ff_1004 conda-forge
hdf5 1.10.6 nompi_h6a2412b_1114 conda-forge
holoviews 1.14.1 pyhd3deb0d_0 conda-forge
httplib2 0.18.1 pyh9f0ad1d_0 conda-forge
icu 68.1 h58526e2_0 conda-forge
idna 2.10 pyh9f0ad1d_0 conda-forge
imagecodecs 2021.1.11 py38h6082773_1 conda-forge
imageio 2.9.0 py_0 conda-forge
importlib-metadata 3.4.0 py38h578d9bd_0 conda-forge
importlib_metadata 3.4.0 hd8ed1ab_0 conda-forge
importlib_resources 5.1.0 py38h578d9bd_0 conda-forge
ipykernel 5.4.2 py38h81c977d_0 conda-forge
ipython 7.20.0 py38h81c977d_1 conda-forge
ipython_genutils 0.2.0 py_1 conda-forge
iso8601 0.1.13 pyh9f0ad1d_0 conda-forge
jasper 1.900.1 h07fcdf6_1006 conda-forge
jedi 0.18.0 py38h578d9bd_2 conda-forge
jinja2 2.11.3 pyh44b312d_0 conda-forge
joblib 1.0.0 pyhd8ed1ab_0 conda-forge
jpeg 9d h36c2ea0_0 conda-forge
jsmin 2.2.2 py38h32f6830_1002 conda-forge
json-c 0.13.1 hbfbb72e_1002 conda-forge
jsonschema 3.2.0 py_2 conda-forge
jupyter_client 6.1.11 pyhd8ed1ab_1 conda-forge
jupyter_core 4.7.1 py38h578d9bd_0 conda-forge
jupyterlab_pygments 0.1.2 pyh9f0ad1d_0 conda-forge
jxrlib 1.1 h7f98852_2 conda-forge
kealib 1.4.14 h0042707_0 conda-forge
kiwisolver 1.3.1 py38h1fd1430_1 conda-forge
krb5 1.17.2 h926e7f8_0 conda-forge
lcms2 2.11 hcbb858e_1 conda-forge
ld_impl_linux-64 2.35.1 hea4e1c9_2 conda-forge
lerc 2.2.1 h9c3ff4c_0 conda-forge
libaec 1.0.4 h9c3ff4c_1 conda-forge
libblas 3.9.0 8_openblas conda-forge
libcblas 3.9.0 8_openblas conda-forge
libclang 11.0.1 default_ha53f305_1 conda-forge
libcurl 7.71.1 hcdd3856_8 conda-forge
libdap4 3.20.6 h1d1bd15_1 conda-forge
libdeflate 1.7 h7f98852_5 conda-forge
libedit 3.1.20191231 he28a2e2_2 conda-forge
libev 4.33 h516909a_1 conda-forge
libevent 2.1.10 hcdb4288_3 conda-forge
libffi 3.3 h58526e2_2 conda-forge
libgcc-ng 9.3.0 h2828fa1_18 conda-forge
libgdal 3.1.4 h96b6e7a_3 conda-forge
libgfortran-ng 9.3.0 hff62375_18 conda-forge
libgfortran5 9.3.0 hff62375_18 conda-forge
libglib 2.66.5 h164308a_2 conda-forge
libiconv 1.16 h516909a_0 conda-forge
libkml 1.3.0 h74f7ee3_1012 conda-forge
liblapack 3.9.0 8_openblas conda-forge
libllvm10 10.0.1 he513fc3_3 conda-forge
libllvm11 11.0.1 hf817b99_0 conda-forge
libnetcdf 4.7.4 nompi_h56d31a8_107 conda-forge
libnghttp2 1.43.0 h812cca2_0 conda-forge
libopenblas 0.3.12 pthreads_h4812303_1 conda-forge
libpng 1.6.37 h21135ba_2 conda-forge
libpq 12.3 h255efa7_3 conda-forge
libprotobuf 3.14.0 h780b84a_0 conda-forge
libsodium 1.0.18 h36c2ea0_1 conda-forge
libspatialindex 1.9.3 he1b5a44_3 conda-forge
libspatialite 5.0.0 heaf302f_0 conda-forge
libssh2 1.9.0 hab1572f_5 conda-forge
libstdcxx-ng 9.3.0 h6de172a_18 conda-forge
libtiff 4.2.0 hdc55705_0 conda-forge
libuuid 2.32.1 h7f98852_1000 conda-forge
libwebp 1.2.0 h3452ae3_0 conda-forge
libwebp-base 1.2.0 h7f98852_0 conda-forge
libxcb 1.13 h7f98852_1003 conda-forge
libxkbcommon 1.0.3 he3ba5ed_0 conda-forge
libxml2 2.9.10 h72842e0_3 conda-forge
libxslt 1.1.33 h15afd5d_2 conda-forge
libzip 1.7.3 h4de3113_0 conda-forge
libzopfli 1.0.3 h9c3ff4c_0 conda-forge
llvm-openmp 11.0.1 h4bd325d_0 conda-forge
llvmlite 0.35.0 py38h4630a5e_1 conda-forge
lxml 4.6.2 py38hf1fe3a4_1 conda-forge
lz4-c 1.9.3 h9c3ff4c_0 conda-forge
lzo 2.10 h516909a_1000 conda-forge
markdown 3.3.3 pyh9f0ad1d_0 conda-forge
markupsafe 1.1.1 py38h497a2fe_3 conda-forge
matplotlib 3.3.4 py38h578d9bd_0 conda-forge
matplotlib-base 3.3.4 py38h0efea84_0 conda-forge
mistune 0.8.4 py38h497a2fe_1003 conda-forge
mock 4.0.3 py38h578d9bd_1 conda-forge
mpc 1.1.0 h04dde30_1009 conda-forge
mpfr 4.0.2 he80fd80_1 conda-forge
mpld3 0.5.2 pyhd3deb0d_0 conda-forge
mpmath 1.1.0 py_0 conda-forge
munch 2.5.0 py_0 conda-forge
mvgavg 0.1.0 pyh9f0ad1d_0 conda-forge
mysql-common 8.0.22 ha770c72_3 conda-forge
mysql-libs 8.0.22 h935591d_3 conda-forge
natsort 7.1.1 pyhd8ed1ab_0 conda-forge
nbclient 0.5.1 py_0 conda-forge
nbconvert 6.0.7 py38h578d9bd_3 conda-forge
nbformat 5.1.2 pyhd8ed1ab_1 conda-forge
ncurses 6.2 h58526e2_4 conda-forge
nest-asyncio 1.4.3 pyhd8ed1ab_0 conda-forge
netcdf4 1.5.5.1 nompi_py38h1cdf482_101 conda-forge
networkx 2.5 py_0 conda-forge
nose2 0.9.2 py_0 conda-forge
notebook 6.2.0 py38h578d9bd_0 conda-forge
nspr 4.29 h9c3ff4c_1 conda-forge
nss 3.61 hb5efdd6_0 conda-forge
numba 0.52.0 py38h51da96c_0 conda-forge
numexpr 2.7.2 py38h51da96c_0 conda-forge
numpy 1.20.0 py38h18fd61f_0 conda-forge
numpy-indexed 0.3.5 py_1 conda-forge
olefile 0.46 pyh9f0ad1d_1 conda-forge
openjpeg 2.4.0 hf7af979_0 conda-forge
openssl 1.1.1i h7f98852_0 conda-forge
owslib 0.22.0 pyhd8ed1ab_0 conda-forge
packaging 20.8 pyhd3deb0d_0 conda-forge
pandas 1.2.1 py38h51da96c_0 conda-forge
pandoc 2.11.4 h7f98852_0 conda-forge
pandocfilters 1.4.2 py_1 conda-forge
panel 0.10.3 pyhd8ed1ab_0 conda-forge
param 1.10.1 pyhd3deb0d_0 conda-forge
parso 0.8.1 pyhd8ed1ab_0 conda-forge
pcre 8.44 he1b5a44_0 conda-forge
pebble 4.6.0 pyhd8ed1ab_0 conda-forge
pexpect 4.8.0 pyh9f0ad1d_2 conda-forge
pickleshare 0.7.5 py_1003 conda-forge
pillow 8.1.0 py38h357d4e7_1 conda-forge
pint 0.16.1 py_0 conda-forge
pip 21.0.1 pyhd8ed1ab_0 conda-forge
pixman 0.40.0 h36c2ea0_0 conda-forge
plotly 4.14.3 pyh44b312d_0 conda-forge
pooch 1.3.0 pyhd8ed1ab_0 conda-forge
poppler 0.89.0 h2de54a5_5 conda-forge
poppler-data 0.4.10 0 conda-forge
postgresql 12.3 hc2f5b80_3 conda-forge
proj 7.1.1 h966b41f_3 conda-forge
prometheus_client 0.9.0 pyhd3deb0d_0 conda-forge
prompt-toolkit 3.0.14 pyha770c72_0 conda-forge
psutil 5.8.0 py38h497a2fe_1 conda-forge
psycopg2 2.8.6 py38h2b97feb_1 conda-forge
pthread-stubs 0.4 h36c2ea0_1001 conda-forge
ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge
py-tools-ds 0.16.7 py38h578d9bd_0 conda-forge
pycparser 2.20 pyh9f0ad1d_2 conda-forge
pyct 0.4.6 py_0 conda-forge
pyct-core 0.4.6 py_0 conda-forge
pyepsg 0.4.0 py_0 conda-forge
pyerfa 1.7.1.1 pypi_0 pypi
pyfftw 0.12.0 py38h8e28c27_2 conda-forge
pygments 2.7.4 pyhd8ed1ab_0 conda-forge
pygrib 2.1.3 py38hf021e48_0 conda-forge
pykdtree 1.3.4 py38h0b5ebd8_0 conda-forge
pykrige 1.5.1 py38h25fe258_1 conda-forge
pyopengl 3.1.5 py_0 conda-forge
pyopenssl 20.0.1 pyhd8ed1ab_0 conda-forge
pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge
pyprind 2.11.2 py38h32f6830_1001 conda-forge
pyproj 2.6.1.post1 py38h56787f0_3 conda-forge
pyqt 5.12.3 py38h578d9bd_7 conda-forge
pyqt-impl 5.12.3 py38h7400c14_7 conda-forge
pyqt5-sip 4.19.18 py38h709712a_7 conda-forge
pyqtchart 5.12 py38h7400c14_7 conda-forge
pyqtwebengine 5.12.1 py38h7400c14_7 conda-forge
pyqtwebkit 5.212 py38hd669dca_1 conda-forge
pyresample 1.17.0 py38h0ef3d22_0 conda-forge
pyrsistent 0.17.3 py38h497a2fe_2 conda-forge
pyrsr 0.4.2 pyhd8ed1ab_0 conda-forge
pyshp 2.1.3 pyh44b312d_0 conda-forge
pysocks 1.7.1 py38h578d9bd_3 conda-forge
pytables 3.6.1 py38hc386592_3 conda-forge
python 3.8.6 hffdb5ce_5_cpython conda-forge
python-dateutil 2.8.1 py_0 conda-forge
python_abi 3.8 1_cp38 conda-forge
pytz 2021.1 pyhd8ed1ab_0 conda-forge
pyviz_comms 2.0.1 pyhd3deb0d_0 conda-forge
pywavelets 1.1.1 py38h5c078b8_3 conda-forge
pyyaml 5.4.1 py38h497a2fe_0 conda-forge
pyzmq 22.0.1 py38h3d7ac18_0 conda-forge
qca 2.2.1 h73816c6_3 conda-forge
qgis 3.16.3 py38h74aa261_4 conda-forge
qjson 0.9.0 h73816c6_1006 conda-forge
qscintilla2 2.11.2 py38h63a9b5b_4 conda-forge
qt 5.12.9 h9d6b050_2 conda-forge
qtkeychain 0.12.0 h2264404_0 conda-forge
qtlocation 5.12.9 he1b5a44_0 conda-forge
qtserialport 5.9.8 h73816c6_1 conda-forge
qtwebkit 5.212 h8f65c2e_1 conda-forge
qwt 6.1.5 h73816c6_0 conda-forge
qwtpolar 1.1.1 h73816c6_7 conda-forge
readline 8.0 he28a2e2_2 conda-forge
requests 2.25.1 pyhd3deb0d_0 conda-forge
retrying 1.3.3 py_2 conda-forge
rtree 0.9.7 py38h02d302b_1 conda-forge
scikit-image 0.18.1 py38h51da96c_0 conda-forge
scikit-learn 0.24.0 py38h658cfdd_0 conda-forge
scipy 1.6.0 py38hb2138dd_0 conda-forge
send2trash 1.5.0 py_0 conda-forge
sensormapgeo 0.4.7 py38h578d9bd_0 conda-forge
setuptools 49.6.0 py38h578d9bd_3 conda-forge
shapely 1.7.1 py38ha11d057_1 conda-forge
sicor 0.15.5 pyh1bb2064_0 conda-forge
six 1.15.0 pyh9f0ad1d_0 conda-forge
snappy 1.1.8 he1b5a44_3 conda-forge
spectral 0.22.1 pyh9f0ad1d_0 conda-forge
sqlite 3.34.0 h74cdb3f_0 conda-forge
sympy 1.7.1 py38h578d9bd_1 conda-forge
terminado 0.9.2 py38h578d9bd_0 conda-forge
testpath 0.4.4 py_0 conda-forge
threadpoolctl 2.1.0 pyh5ca1d4c_0 conda-forge
tifffile 2021.2.1 pyhd8ed1ab_0 conda-forge
tiledb 2.2.3 h91fcb0e_0 conda-forge
tk 8.6.10 h21135ba_1 conda-forge
toolz 0.11.1 py_0 conda-forge
tornado 6.1 py38h497a2fe_1 conda-forge
tqdm 4.56.0 pyhd8ed1ab_0 conda-forge
traitlets 5.0.5 py_0 conda-forge
typing_extensions 3.7.4.3 py_0 conda-forge
tzcode 2021a h7f98852_0 conda-forge
urllib3 1.26.3 pyhd8ed1ab_0 conda-forge
utm 0.6.0 pyh9f0ad1d_0 conda-forge
wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge
webencodings 0.5.1 py_1 conda-forge
wheel 0.36.2 pyhd3deb0d_0 conda-forge
xerces-c 3.2.3 h9d8b166_2 conda-forge
xlrd 2.0.1 pyhd8ed1ab_3 conda-forge
xorg-kbproto 1.0.7 h7f98852_1002 conda-forge
xorg-libice 1.0.10 h516909a_0 conda-forge
xorg-libsm 1.2.3 h84519dc_1000 conda-forge
xorg-libx11 1.6.12 h516909a_0 conda-forge
xorg-libxau 1.0.9 h7f98852_0 conda-forge
xorg-libxdmcp 1.1.3 h7f98852_0 conda-forge
xorg-libxext 1.3.4 h516909a_0 conda-forge
xorg-libxrender 0.9.10 h516909a_1002 conda-forge
xorg-renderproto 0.11.1 h14c3975_1002 conda-forge
xorg-xextproto 7.3.0 h7f98852_1002 conda-forge
xorg-xproto 7.0.31 h7f98852_1007 conda-forge
xz 5.2.5 h516909a_1 conda-forge
yaml 0.2.5 h516909a_0 conda-forge
zeromq 4.3.4 h9c3ff4c_0 conda-forge
zfp 0.5.5 h9c3ff4c_4 conda-forge
zipp 3.4.0 py_0 conda-forge
zlib 1.2.11 h516909a_1010 conda-forge
zstd 1.4.8 ha95c52a_1 conda-forge
Comments (18)
-
reporter -
reporter - edited description
-
Testet this under Windows 10 without any probkems/warnings.
-
Can you import numba inside QGIS Python Consol?
-
reporter No, this seems to be the issue. Importing numba crashes QGIS with the same error.
Nice, that it works on Windows. I guess I have to adapt the enpt_enmapbox code a bit to make it work in case EnPT is installed within the same env like QGIS.
-
Thanks @Daniel Scheffler for looking into it!
-
reporter I just reinstalled it with the latest package versions. QGIS still crashes on Linux (Ubuntu 20.04) when trying to activate the EnMAP-Box plugin in the plugin manager. But it gives a different output now:
(enmapbox_enpt) gfz-fe@geoms:~$ qgis Warning: QXcbConnection: XCB error: 145 (Unknown), sequence: 179, resource id: 0, major code: 139 (Unknown), minor code: 20 load /home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/enmapbox/enmapboxresources_rc.py load /home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/enmapbox/coreapps/enmapboxapplications/ressources_rc.py load /home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/enmapbox/externals/qps/qpsresources_rc.py : CommandLine Error: Option 'help-list' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options QGIS died on signal 11Aborted
-
reporter Ok, the problem seems to come from numba. It is used by SICOR which is indirectly installed with EnPT. However, SICOR seems to use numba only for some interpolation functions, mainly related to the atmospheric correction of multispectral data. So, possibly it is not needed for EnMAP data at all. Anyway, I tried to mock the numba import in the QGIS Python console by:
from mock import MagicMock() sys.modules['numba'] = MagicMock()
However, the EnMAP-Box still cannot be activated - but it seems to be related to a dependency check:
Couldn't load plugin 'enmapboxplugin' due to an error when calling its classFactory() method ValueError: numba.__spec__ is not set Traceback (most recent call last): File "/home/gfz-fe/miniconda3/envs/enmapbox_enpt_pinned/share/qgis/python/qgis/utils.py", line 334, in _startPlugin plugins[packageName] = package.classFactory(iface) File "/home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/__init__.py", line 47, in classFactory raise ex File "/home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/__init__.py", line 43, in classFactory plugin = EnMAPBoxPlugin(iface) File "/home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/enmapbox/enmapboxplugin.py", line 48, in __init__ self.initialDependencyCheck() File "/home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/enmapbox/enmapboxplugin.py", line 63, in initialDependencyCheck missing = [p for p in requiredPackages() if not p.isInstalled()] File "/home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/enmapbox/enmapboxplugin.py", line 63, in missing = [p for p in requiredPackages() if not p.isInstalled()] File "/home/gfz-fe/.local/share/QGIS/QGIS3/profiles/default/python/plugins/enmapboxplugin/enmapbox/dependencycheck.py", line 216, in isInstalled spam_spec = importlib.util.find_spec(self.pyPkgName) File "/home/gfz-fe/miniconda3/envs/enmapbox_enpt_pinned/lib/python3.9/importlib/util.py", line 111, in find_spec raise ValueError('{}.__spec__ is not set'.format(name)) from None ValueError: numba.__spec__ is not set
I don´t have much experience with mock but I guess it might be possible to simply work around the import using mock. Note that sicor has some “from numba import jit” lines.
Maybe that helps..
-
reporter Probably you could activate that mock on Linux before checking the numba dependency, catch that error and continue. But the mock should also be deactivated when closing QGIS. Here are some further code snippets: https://stackoverflow.com/questions/8658043/how-to-mock-an-import
-
Note that Numba is also used by the EnSoMAP application.
-
reporter Yes, using mock here could only be a temporary solution to disable numba for SICOR and EnSoMap under Linux to make things work for now. But I think especially EnSoMap would be severely slower without numba.
I guess the actual source of the LLVM error is related to an issue in the current numba conda-forge recipe in the numba-feedstock. Somewhere here: https://github.com/conda-forge/numba-feedstock/blob/9796deb403ad0986e959f44f9c62d8e81d961f3c/recipe/meta.yaml#L45. But I don´t know enough about how LLVM is linked to numba and how things work there. However, if we could narrow the issue down to a minimal set of packages (e.g., only qgis and numba) that reproduce this issue, than we could have a chance to get a fix from the numba-feedstock maintainers when we open an issue there.
We can also try to use another conda channel only for numba but from my experience, this often causes more problems than it solves because individual channels are often not compatible to each other.
-
reporter I just reproduced the issue with a minimal environment:
mamba create -n qgisnumba -c conda-forge qgis numba
When starting qgis from that environment and importing numba on the QGIS Python console, QGIS crashes with:
(qgisnumba) gfz-fe@geoms:~/scheffler/python/EnPT$ qgis Warning: QXcbConnection: XCB error: 145 (Unknown), sequence: 179, resource id: 0, major code: 139 (Unknown), minor code: 20 : CommandLine Error: Option 'help-list' registered more than once! LLVM ERROR: inconsistency in registered CommandLine options QGIS died on signal 11Aborted
I will open an issue in the numba-feedstock repository.
-
reporter Ok, I opened an issue in the numba-feedstock: https://github.com/conda-forge/numba-feedstock/issues/75
-
I just tested the same procedures on a macOS Big Sur Version 11.2.3 and everything works fine!
I run QGIS from the terminal in the conda environment created with the *.yml file https://git.gfz-potsdam.de/EnMAP/GFZ_Tools_EnMAP_BOX/EnPT/-/blob/master/tests/gitlab_CI_docker/context/environment_enmapbox_enpt.yml, installed the EnMAP-Box plugin, activated the box, and finally, also imported numba on the QGIS Python console… No errors, no crashes. Seems to really be an issue on Linux only.
-
reporter Thanks for testing this @Niklas Bohn!
-
reporter FYI: I was pointed to the llvmlite feedstock maintainers, so I re-opened the issue here: https://github.com/conda-forge/llvmlite-feedstock/issues/54
Now, things are moving a bit forward there. It seems like this is really an issue in the llvmlite conda-forge releases. They are on it, but the issue is not yet fixed.
-
reporter After some tests together with the llvmlite-feedstock maintainers here, it turned out that the LLVM error was caused a known mesa bug (old graphics driver) on that Ubuntu server. I upgraded all packages and everything works fine now!
That means that we now have a fully working conda environment including QGIS, the EnMAP-Box and EnPT.
-
reporter - changed status to closed
- Log in to comment