Coot crashes on HPC

I installed coot via the CCP4 binary on my cluster, but when I try to start the application it crashes. I get the following error message,

INFO:: Using Standard CCP4 Refmac dictionary from CLIBD_MON: /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/
There are 247 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/list/mon_lib_list.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/a/ALA.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/a/ASP.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/a/ASN.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/c/CYS.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/g/GLN.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/g/GLY.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/g/GLU.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/p/PHE.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/h/HIS.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/i/ILE.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/l/LYS.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/l/LEU.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/m/MET.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/m/MSE.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/p/PRO.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/a/ARG.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/s/SER.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/t/THR.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/v/VAL.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/t/TRP.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/t/TYR.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/p/PO4.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/s/SO4.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/g/GOL.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/c/CIT.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/e/EDO.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/a/A.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/c/C.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/g/G.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/u/U.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/d/DA.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/d/DC.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/d/DG.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/d/DT.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/h/HOH.cif
There are 2 data in /global/common/software/lcls/ccp4/ccp4-9/lib/data/monomers/n/NA.cif
Spacegroup: P 1

(coot-bin:1084081): GtkGLExt-WARNING **: cannot create GdkGLContext


(coot-bin:1084081): GdkGLExt-CRITICAL **: gdk_gl_window_impl_x11_make_context_current: assertion 'GDK_IS_GL_CONTEXT_IMPL_X11 (glcontext)' failed
The program 'coot-bin' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 324 error_code 2 request_code 150 minor_code 3)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
. ------ Coot crashed - trying to diagnose -----
ldd -r on guile gives:
/usr/bin/bash: /global/common/software/lcls/ccp4/ccp4-9/coot_py2/lib/libreadline.so.7: no version information available (required by /usr/bin/bash)
/usr/bin/bash: symbol lookup error: /global/common/software/lcls/ccp4/ccp4-9/coot_py2/lib/libreadline.so.7: undefined symbol: UP
Guile 1.8.8
Copyright (c) 1995, 1996, 1997, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation
Guile may be distributed under the terms of the GNU General Public Licence;
certain other uses are permitted as well.  For details, see the file
`COPYING', which is included in the Guile distribution.
There is no warranty, to the extent permitted by law.
catching the crash log:
coot-exe: "/global/common/software/lcls/ccp4/ccp4-9/coot_py2/libexec/coot-bin"
/usr/bin/ls
-rwxr-xr-x 1 kmdalton kmdalton 9248432 Mar 28 08:15 /global/common/software/lcls/ccp4/ccp4-9/coot_py2/libexec/coot-bin
coot-version: 
/global/common/software/lcls/ccp4/ccp4-9/coot_py2/libexec/coot-bin
Builder_info: CCP4, Oxfordshire
Enabled: Enhanced-ligand-tools C++-11 Threads Boost-based-thread-pool Goocanvas GSL SQLite3 LibCurl 
Binary type: Linux-x86_64-centos-7-python-gtk2
git commit: 50638a38145722303017be802622d65d83bd7f66
Builder_info: CCP4, Oxfordshire
[with python 2.7.16 embedded]
[with guile 1.8.8 embedded]
0.9.8.96 (revision-count 10988)
platform: 
/usr/bin/uname
Linux login23 5.14.21-150500.55.97_13.0.78-cray_shasta_c #1 SMP Thu Mar 13 20:09:44 UTC 2025 (330b47d) x86_64 x86_64 x86_64 GNU/Linux
core: #f
No core file found.  No debugging

I think the real error is this part, followed by some missing error handling:

Does glxgears work in the same environment?

Yeah, @taw, I think you’re right! glxgears isn’t available on this system. I think the issue is missing opengl.

I wasn’t able to raise anyone from my local HPC support to help me with opengl support yet. However, I was able to figure out a workaround by running coot on a thinlinc client and mounting the data filesystems with sshfs. It’s not ideal, but it’s workable. Anyone struggling with opengl on NERSC, feel free to DM me if you want more details.