CCP4-9.0.004: Known Issues on Linux Platforms

Fri 20 Dec 10:36:13 GMT 2024

Notations:

- 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
...
QOpenGLShaderProgram: could not create shader program
QOpenGLShader: could not create shader
Could not link shader program:
""
Segmentation fault (core dumped)
# If you use sh, bash, zsh, ksh, ash, etc.
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
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
# seen on Debian-10, Debian-11, Ubuntu-18, Ubuntu-20, Ubuntu-22:
...
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
ccp4mg

# seen on Debian-10
...
ImportError: libOpenGL.so.0: cannot open shared object file: No such file or directory
# seen on Fedora-35
...
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-wm

Debian-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.1

Debian-11

sudo apt install libncurses5 libtinfo5 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxkbcommon-x11-0

Fedora-35

sudo dnf install libXaw libnsl mesa-libGLU ncurses-compat-libs

Ubuntu-18

sudo apt install libopengl0 libxcb-xinerama0 libxcb-xinput0

Ubuntu-20

sudo apt install libncurses5 libopengl0 libtinfo5 libxcb-xinerama0 libxcb-xinput0

Ubuntu-22

sudo apt install libncurses5 libtinfo5 libxcb-xinerama0 libxcb-xinput0

Ubuntu-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.5

Rocky-8

sudo dnf install libglvnd-opengl libnsl libXaw mesa-libGLU ncurses-compat-libs
# for coot-1 (beta):
sudo dnf install atlas