CCP4-9.0.004: Known Issues on Linux Platforms
Fri 20 Dec 10:36:13 GMT 2024Notations:
- commands and comments are shown in black fixed width font,
- comments are preceded by #,
- error messages have an extra indent and shown in grey fixed width font.CCP4 is assumed to be sourced:
# If you use sh, bash, zsh, ksh, ash, etc.
source /ccp4-parent-dir/ccp4-9/bin/ccp4.setup-sh
# If you use csh, tcsh, etc.
source /ccp4-parent-dir/ccp4-9/bin/ccp4.setup-csh
Running CCP4i2 remotely (NX server, VirtualBox VM etc.)
Crashes
ccp4i2
...# If you use sh, bash, zsh, ksh, ash, etc.
QOpenGLShaderProgram: could not create shader program
QOpenGLShader: could not create shader
Could not link shader program:
""
Segmentation fault (core dumped)
QMLSCENE_DEVICE=softwarecontext
export QMLSCENE_DEVICE
# If you use csh, tcsh, etc.
setenv QMLSCENE_DEVICE softwarecontext
ccp4i2
# Start OK
JavaScript warning popups
Multiple JavaScript warning windows pop up when switching to e.g. finished Refmac job.
Select "Disable 3D views in reports (requires restart)" in
ccp4i2 > Edit > Preferences > tab Advanced
and restart ccp4i2.If you are starting ccp4i2 from the command line, the recipe from the section Crashes above will also work.
Missing libraries
Symptoms
Some of ccp4i, ccp4i2, ccp4mg, imosflm, coot and other programs may fail to start.
Examples of error messages from ccp4i2 and ccp4mg are shown below.
ccp4i2
# seen on CentOS-8 and Scientific-Linux-7:Running CCP4i2 browser from: /home/andrey/CCP4/ccp4-9/lib/python3.7/site-packages/ccp4i2# seen on Debian-10, Debian-11, Ubuntu-18, Ubuntu-20, Ubuntu-22:
Python 3.7.12 (default, Jan 6 2022, 21:30:12)
[GCC 8.2.1 20180905 (Red Hat 8.2.1-3)]
Failed finding Qt verion
Traceback (most recent call last):
File "/home/andrey/CCP4/ccp4-9/lib/python3.7/site-packages/ccp4i2/bin/browser.py", line 51, in
QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_ShareOpenGLContexts)
NameError: name 'QtCore' is not defined
...ccp4mg
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/opt/xtal/ccp4-9/QtPlugins/" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, webgl, xcb.
Aborted
# seen on Debian-10...# seen on Fedora-35
ImportError: libOpenGL.so.0: cannot open shared object file: No such file or directory
...
ImportError: libGLU.so.1: cannot open shared object file: No such file or directory
Solutions
General solution
Download find-missing-libs.sh and run it as a normal user (not root). The script will advise on what to do next. (You may need to rerun it two or three times). The script was tested on some Linux systems (see below). For each of these Linux systems, its desktop version was installed from scratch in VirtualBox and then CCP4-9.0.004 was installed from a tarball. If you use one of the tested systems, you may use the following recipes directly.
Note that Debian-10 requires an additional non-standard step. (The script will advise to visit this page for the solution).
CentOS-8
sudo yum install libXScrnSaver libXaw libnsl mesa-libGLU ncurses-compat-libs xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wmDebian-10
sudo apt install libncurses5 libopengl0 libtinfo5 libxcb-xinerama0 libxcb-xinput0 libxkbcommon-x11-0
sudo cp /usr/lib/x86_64-linux-gnu/libxcb-util.so.0 /usr/lib/x86_64-linux-gnu/libxcb-util.so.1Debian-11
sudo apt install libncurses5 libtinfo5 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxkbcommon-x11-0Fedora-35
sudo dnf install libXaw libnsl mesa-libGLU ncurses-compat-libsUbuntu-18
sudo apt install libopengl0 libxcb-xinerama0 libxcb-xinput0Ubuntu-20
sudo apt install libncurses5 libopengl0 libtinfo5 libxcb-xinerama0 libxcb-xinput0Ubuntu-22
sudo apt install libncurses5 libtinfo5 libxcb-xinerama0 libxcb-xinput0Ubuntu-24
sudo apt install libxcb-xinerama0 libxcb-xinput0
sudo ln -s /lib/x86_64-linux-gnu/libncurses.so.6 /lib/x86_64-linux-gnu/libncurses.so.5
sudo ln -s /lib/x86_64-linux-gnu/libtinfo.so.6 /lib/x86_64-linux-gnu/libtinfo.so.5Rocky-8
sudo dnf install libglvnd-opengl libnsl libXaw mesa-libGLU ncurses-compat-libs
# for coot-1 (beta):
sudo dnf install atlas