sci-visus/OpenVisus

Cannot install OpenVisus

rahatzamancse opened this issue · 2 comments

I am using Manjaro Linux and have tried both with pip and conda to install OpenVisus.

For pip, it installs successfully. But when I first run python -m OpenVisus configure, I get a SIGSEGV error at the end. Running the same command second time seems to give no errors though.

Starting OpenVisus /home/insane/.local/lib/python3.10/site-packages/OpenVisus/__init__.py 3.10.5 (main, Aug  1 2022, 07:53:20) [GCC 12.1.0] sys.version_info(major=3, minor=10, micro=5, releaselevel='final', serial=0) ...
094747986 Kernel:251 129822:139823316973376 setting VISUS_HOME /home/insane/visus from home directory
094747986 Kernel:340 129822:139823316973376 VERSION GIT_REVISION 65e8020 VisusHome /home/insane/visus BinaryDirectory /home/insane/.local/lib/python3.10/site-packages/OpenVisus/bin CurrentWorkingDirectory  /home/insane
094747986 VisusDbPy:77 129822:139823316973376 Registering PyMultipleDataset
-m OpenVisus configure []
sys.executable /usr/bin/python VISUS_GUI True QT_VERSION 5.12.8 IS_CONDA False CONDA_PREFIX 
Executing command ['/usr/bin/python', '-m', 'pip', 'install', 'numpy', 'PyQt5~=5.12.0', 'PyQtWebEngine~=5.12.0', 'PyQt5-sip']
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: numpy in /usr/lib/python3.10/site-packages (1.23.1)
Requirement already satisfied: PyQt5~=5.12.0 in /home/insane/.local/lib/python3.10/site-packages (5.12.3)
Requirement already satisfied: PyQtWebEngine~=5.12.0 in /home/insane/.local/lib/python3.10/site-packages (5.12.1)
Requirement already satisfied: PyQt5-sip in /usr/lib/python3.10/site-packages (12.11.0)
Executing command ['/usr/bin/python', '-c', 'import os,PyQt5;print(os.path.dirname(PyQt5.__file__))']
PyQt5_HOME /home/insane/.local/lib/python3.10/site-packages/PyQt5
QT_LIB_DIR /home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', '_VisusKernelPy.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', '_VisusNodesPy.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', '_VisusGuiPy.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', '_VisusDataflowPy.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', '_VisusDbPy.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/libmod_visus.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/libVisusDb.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/libVisusGui.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/libVisusKernel.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/libVisusNodes.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/libVisusDataflow.so']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/visus']
Executing command ['patchelf', '--set-rpath', '$ORIGIN:$ORIGIN/bin:/home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/lib', 'bin/visusviewer']
configure done
[[I don't get this error in second line]] fish: Job 1, 'python -m OpenVisus configure' terminated by signal SIGSEGV (Address boundary error)

Later when I try to run the viewer with python -m OpenVisus viewer, I get ModuleNotFoundError exception. But I can confirm that I have pyqt5-sip is installed with python -m pip install pyqt5-sip:

Starting OpenVisus /home/insane/.local/lib/python3.10/site-packages/OpenVisus/__init__.py 3.10.5 (main, Aug  1 2022, 07:53:20) [GCC 12.1.0] sys.version_info(major=3, minor=10, micro=5, releaselevel='final', serial=0) ...
095057738 Kernel:251 130524:140094061406016 setting VISUS_HOME /home/insane/visus from home directory
095057738 Kernel:340 130524:140094061406016 VERSION GIT_REVISION 65e8020 VisusHome /home/insane/visus BinaryDirectory /home/insane/.local/lib/python3.10/site-packages/OpenVisus/bin CurrentWorkingDirectory  /home/insane
095057738 VisusDbPy:77 130524:140094061406016 Registering PyMultipleDataset
-m OpenVisus viewer []
QT_PLUGIN_PATH /home/insane/.local/lib/python3.10/site-packages/PyQt5/Qt5/plugins
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/insane/.local/lib/python3.10/site-packages/OpenVisus/__main__.py", line 569, in <module>
    Main(sys.argv[1:])
  File "/home/insane/.local/lib/python3.10/site-packages/OpenVisus/__main__.py", line 517, in Main
    from OpenVisus.gui import PyViewer, GuiModule
  File "/home/insane/.local/lib/python3.10/site-packages/OpenVisus/gui.py", line 5, in <module>
    from OpenVisus.scripting_node  import *
  File "/home/insane/.local/lib/python3.10/site-packages/OpenVisus/scripting_node.py", line 6, in <module>
    from PyQt5.QtGui     import *
ModuleNotFoundError: No module named 'PyQt5.sip'

For conda, the output of conda install -c visus openvisus is:

Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: / 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                          

UnsatisfiableError: 

Thanks for the detailed description.

First of all, it's "normal" to get SEGMENTATION ERROR on the first configure only on Linux the patch elf process modifies RPath of binary files (to link against PyQt5 and remove any dependency over the C++ Qt5) and the OS gets confused. But the second execution should be fine.

Also: is python the right python? if you do python --version do you see version 3.10? I am asking because sometimes there is only a python3 and python refers to ver 2.x

The only weird thing I see from here is that PyQt5 and PyQtWebEngine are in /home/insane/.local/lib/python3.10/site-packages while PyQt5-sip is in /usr/lib/python3.10/site-packages

Can you uninstall the Pyqt5-sip (using sudo) and install it again in user directory using python|python3 -m pip install --user PyQt5-sip ?

Finally: there are some Qt versions that use PyQt5-sip and others that use normal sip. In the visusviewer code I read:


def ImportQt5Sip():
	try:
		 from PyQt5 import sip as  sip
	except ImportError:
		 import sip

but I am not sure about your combination (PyQt5, Python 10, Linux).
I would check if you can run a simple Qt5 tutorial.

Let me know. I am watching this issue.
Thanks, G.

@scrgiorgio, that was indeed the problem with pip installation. I installed PyQt5-sip with system package manager, but which installing OpenVisus, I installed PyQt5 with pip, which probably messed with linking combinations.