CCP4-8.0.003: Known Issues on Linux Platforms
Mon Aug 15 15:17:54 BST 2022Notations:
- 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-8.0/bin/ccp4.setup-sh
# If you use csh, tcsh, etc.
source /ccp4-parent-dir/ccp4-8.0/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-8.0/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-8.0/lib/python3.7/site-packages/ccp4i2/bin/browser.py", line 51, in <module>
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-8.0/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-8.0.003 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-xinput0Incorrect rpaths
CCP4-8.0.003 contains several files with incorrect rpaths. These are not in use or are used in very special circumstances. However, you can fix some of these files using patch-rpaths.sh.
SHELX binaries on Windows Subsystem for Linux, version 2
There may be issues with statically linked binaries in the SHELX suite, if you install CCP4 under WSL 2. The binaries silently quit with no output nor error messages. Kay Diederichs provides a solution in his wiki. To reiterate, add these lines to the .wslconfig file:[wsl2]
The file is in your (Windows) home directory C:\Users\yourusername\. If it doesn't exist, create a new file with just those two lines in it.
kernelCommandLine = vsyscall=emulate
Make sure to restart WSL so the change takes effect, by typingwsl --shutdown
on the Command Prompt or Powershell.
Unsupported
ccp4-7.1.018: https://www.ccp4.ac.uk/download-legacy/