Version 1.4 for CentOS 7?

Hi, First, apologies if this has already been announced elsewhere. I see on the download webpage that there is no production release for CentOS 7 and the latest daily release for this platform was built on 2022-05-06. Any chance we could get a production release of 1.4 and/or a newer daily build for CentOS 7? Thank you very much! Best wishes, -- Ricardo Diogo Righetto

Sadly, this is going to become a theme for virtually all scientific packages using (Py)Qt for their GUI. The Qt company have decided to stop supporting the free version of Qt5, pushing all developers other than those who can afford the license fees on to Qt6 (which does not run in CentOS 7). It's a real pain, but that's just the way things are. -- Tristan ________________________________ From: ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Ricardo Righetto via ChimeraX-users <chimerax-users@cgl.ucsf.edu> Sent: 15 June 2022 15:58 To: chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu> Subject: [chimerax-users] Version 1.4 for CentOS 7? Hi, First, apologies if this has already been announced elsewhere. I see on the download webpage that there is no production release for CentOS 7 and the latest daily release for this platform was built on 2022-05-06. Any chance we could get a production release of 1.4 and/or a newer daily build for CentOS 7? Thank you very much! Best wishes, -- Ricardo Diogo Righetto

Tristan is right. ChimeraX is not available for CentOS 7 or Ubuntu 16 or 18 because the Qt 6 window toolkit does not support those old Linux operating systems and ChimeraX 1.4 uses Qt 6. So ChimeraX 1.3 is the last release that can be used with those operating systems. Greg Couch on the ChimeraX developer team tried compiling Qt 6 for CentOS 7, and tried making a Docker image, a Singularity image, and a Flatpak. None of these worked. Because the Qt window toolkit is a much bigger package than the entire ChimeraX project we don't have the programmers to make Qt work on old Linux versions if the Qt Company chooses not to support old Linux. Tom
On Jun 15, 2022, at 8:22 AM, Tristan Croll via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Sadly, this is going to become a theme for virtually all scientific packages using (Py)Qt for their GUI. The Qt company have decided to stop supporting the free version of Qt5, pushing all developers other than those who can afford the license fees on to Qt6 (which does not run in CentOS 7). It's a real pain, but that's just the way things are.
-- Tristan From: ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Ricardo Righetto via ChimeraX-users <chimerax-users@cgl.ucsf.edu> Sent: 15 June 2022 15:58 To: chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu> Subject: [chimerax-users] Version 1.4 for CentOS 7?
Hi,
First, apologies if this has already been announced elsewhere. I see on the download webpage that there is no production release for CentOS 7 and the latest daily release for this platform was built on 2022-05-06. Any chance we could get a production release of 1.4 and/or a newer daily build for CentOS 7?
Thank you very much!
Best wishes,
-- Ricardo Diogo Righetto _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Dear Tristan, dear Tom, Thank you very much for the answers, I can totally understand the situation. Hopefully we can upgrade the distro on our cluster soon, until then we stick to 1.3 there. Best wishes, -- Ricardo Diogo Righetto Em qua., 15 de jun. de 2022 às 18:53, Tom Goddard <goddard@sonic.net> escreveu:
Tristan is right. ChimeraX is not available for CentOS 7 or Ubuntu 16 or 18 because the Qt 6 window toolkit does not support those old Linux operating systems and ChimeraX 1.4 uses Qt 6. So ChimeraX 1.3 is the last release that can be used with those operating systems.
Greg Couch on the ChimeraX developer team tried compiling Qt 6 for CentOS 7, and tried making a Docker image, a Singularity image, and a Flatpak. None of these worked. Because the Qt window toolkit is a much bigger package than the entire ChimeraX project we don't have the programmers to make Qt work on old Linux versions if the Qt Company chooses not to support old Linux.
Tom
On Jun 15, 2022, at 8:22 AM, Tristan Croll via ChimeraX-users < chimerax-users@cgl.ucsf.edu> wrote:
Sadly, this is going to become a theme for virtually all scientific packages using (Py)Qt for their GUI. The Qt company have decided to stop supporting the free version of Qt5, pushing all developers other than those who can afford the license fees on to Qt6 (which does not run in CentOS 7). It's a real pain, but that's just the way things are.
-- Tristan ------------------------------ *From:* ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Ricardo Righetto via ChimeraX-users <chimerax-users@cgl.ucsf.edu> *Sent:* 15 June 2022 15:58 *To:* chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu> *Subject:* [chimerax-users] Version 1.4 for CentOS 7?
Hi,
First, apologies if this has already been announced elsewhere. I see on the download webpage that there is no production release for CentOS 7 and the latest daily release for this platform was built on 2022-05-06. Any chance we could get a production release of 1.4 and/or a newer daily build for CentOS 7?
Thank you very much!
Best wishes,
-- Ricardo Diogo Righetto _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

I'm adding this for completeness, but this is not a practical solution: There is a way of getting ChimeraX 1.4 to run on CentOS 7 that we do NOT support. There are two steps required: (1) you have to update the kernel to a newer version. That can be done with the elrepo-kernel repository. And (2) you need a newer versions of various system libraries. That can be done with by using a CentOS/RHEL 8 or 9 singularity container that has the same graphics driver as the CentOS 7 system and has the corresponding ChimeraX rpm installed. So, unless it is your personal computer, that you could update to CentOS/RHEL 8 or 9 anyway, it is extremely unlikely that the system administrators will be willing to change to an unsupported kernel. But just in case, an example singularity definition file is attached. I was testing in a virtual machine using VMware Workstation, which is why the VMware graphics driver is installed. Once you have the singularity container, I'd recommend making a chimerax alias. For example: alias chimerax="singularity run /PATH/chimerax.el8.sil" So there you have it. It is technically possible, And don't forgot to regularly regenerate the singularity container to pick up security fixes. -- Greg On 6/16/2022 4:32 AM, Ricardo Righetto via ChimeraX-users wrote:
Dear Tristan, dear Tom,
Thank you very much for the answers, I can totally understand the situation. Hopefully we can upgrade the distro on our cluster soon, until then we stick to 1.3 there.
Best wishes,
-- Ricardo Diogo Righetto
Em qua., 15 de jun. de 2022 às 18:53, Tom Goddard <goddard@sonic.net> escreveu:
Tristan is right. ChimeraX is not available for CentOS 7 or Ubuntu 16 or 18 because the Qt 6 window toolkit does not support those old Linux operating systems and ChimeraX 1.4 uses Qt 6. So ChimeraX 1.3 is the last release that can be used with those operating systems.
Greg Couch on the ChimeraX developer team tried compiling Qt 6 for CentOS 7, and tried making a Docker image, a Singularity image, and a Flatpak. None of these worked. Because the Qt window toolkit is a much bigger package than the entire ChimeraX project we don't have the programmers to make Qt work on old Linux versions if the Qt Company chooses not to support old Linux.
Tom
On Jun 15, 2022, at 8:22 AM, Tristan Croll via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Sadly, this is going to become a theme for virtually all scientific packages using (Py)Qt for their GUI. The Qt company have decided to stop supporting the free version of Qt5, pushing all developers other than those who can afford the license fees on to Qt6 (which does not run in CentOS 7). It's a real pain, but that's just the way things are.
-- Tristan ------------------------------------------------------------------------ *From:*ChimeraX-users <chimerax-users-bounces@cgl.ucsf.edu> on behalf of Ricardo Righetto via ChimeraX-users <chimerax-users@cgl.ucsf.edu> *Sent:*15 June 2022 15:58 *To:*chimerax-users@cgl.ucsf.edu <chimerax-users@cgl.ucsf.edu> *Subject:*[chimerax-users] Version 1.4 for CentOS 7? Hi,
First, apologies if this has already been announced elsewhere. I see on the download webpage that there is no production release for CentOS 7 and the latest daily release for this platform was built on 2022-05-06. Any chance we could get a production release of 1.4 and/or a newer daily build for CentOS 7?
Thank you very much!
Best wishes,
-- Ricardo Diogo Righetto _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Hello Greg, Thanks for sharing the singularity recipe! The only issue I have, is that the container will not run on our regular kernel as you mentionned below (1) although the error message is misleading! [tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-pristine-2022-06-17-1833.sif --nogui Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 490, in get_module m = importlib.import_module(self.package_name) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/__init__.py", line 101, in <module> from .options import SaveModelOptionWidget File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/options.py", line 14, in <module> from Qt.QtWidgets import QFrame, QHBoxLayout, QLabel File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/Qt/__init__.py", line 64, in <module> from PyQt6.QtCore import PYQT_VERSION_STR as PYQT6_VERSION ImportError: libQt6Core.so.6: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 375, in init_manager api = self._get_api(session.logger) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 509, in _get_api m = self.get_module() File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 492, in get_module raise ToolshedError("Error importing bundle %s's module: %s" % (self.name, str(e))) chimerax.core.toolshed.ToolshedError: Error importing bundle ChimeraX-SaveCommand's module: libQt6Core.so.6: cannot open shared object file: No such file or directory Bundle 'ChimeraX-SaveCommand' custom initialization failed UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd> There is a "hack" mentionned in the apptainer mailing list https://groups.google.com/a/apptainer.org/g/discuss/c/qhP4eJrtelk/m/7pGjIDTm... pointing to https://github.com/dnschneid/crouton/wiki/Fix-error-while-loading-shared-lib... ``` strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` for the el8 rpm, which makes chimerax 1.4 starting fine on 3.10.0-1160.66.1.el7.x86_64 :D so adding to you recipe: ``` yum -y install binutils && strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` seems to yield a workable solution! [tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-2022-06-17-1750.sif --nogui WARNING: CPU random generator seem to be failing, disabling hardware random number generation WARNING: RDRND generated: 0xffffffff 0xffffffff 0xffffffff 0xffffffff UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd> ymmv, I have only done minimal testing. Best regards Tru On Thu, Jun 16, 2022 at 10:41:46AM -0700, Greg Couch via ChimeraX-users wrote:
I'm adding this for completeness, but this is not a practical solution:
There is a way of getting ChimeraX 1.4 to run on CentOS 7 that we do NOT support. There are two steps required: (1) you have to update the kernel to a newer version. That can be done with the elrepo-kernel repository. And (2) you need a newer versions of various system libraries. That can be done with by using a CentOS/RHEL 8 or 9 singularity container that has the same graphics driver as the CentOS 7 system and has the corresponding ChimeraX rpm installed.
So, unless it is your personal computer, that you could update to CentOS/RHEL 8 or 9 anyway, it is extremely unlikely that the system administrators will be willing to change to an unsupported kernel. But just in case, an example singularity definition file is attached. I was testing in a virtual machine using VMware Workstation, which is why the VMware graphics driver is installed. Once you have the singularity container, I'd recommend making a chimerax alias. For example:
alias chimerax="singularity run /PATH/chimerax.el8.sil"
So there you have it. It is technically possible, And don't forgot to regularly regenerate the singularity container to pick up security fixes.
... -- Tru Huynh (PhD) | mailto:tru@pasteur.fr | tel +33 1 45 68 87 37 https://research.pasteur.fr/en/team/structural-bioinformatics/ Institut Pasteur, 25-28 rue du Docteur Roux, 75724 Paris CEDEX 15 France

Yes, the singularity container will not work unless the CentOS 7 kernel is updated. I don't understand why the runtime loader fails to load the Qt shared library, but that is the symptom. -- Greg On 6/17/2022 10:14 AM, Tru Huynh via ChimeraX-users wrote:
Hello Greg,
Thanks for sharing the singularity recipe!
The only issue I have, is that the container will not run on our regular kernel as you mentionned below (1) although the error message is misleading!
[tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-pristine-2022-06-17-1833.sif --nogui Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 490, in get_module m = importlib.import_module(self.package_name) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/__init__.py", line 101, in <module> from .options import SaveModelOptionWidget File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/options.py", line 14, in <module> from Qt.QtWidgets import QFrame, QHBoxLayout, QLabel File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/Qt/__init__.py", line 64, in <module> from PyQt6.QtCore import PYQT_VERSION_STR as PYQT6_VERSION ImportError: libQt6Core.so.6: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 375, in init_manager api = self._get_api(session.logger) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 509, in _get_api m = self.get_module() File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 492, in get_module raise ToolshedError("Error importing bundle %s's module: %s" % (self.name, str(e))) chimerax.core.toolshed.ToolshedError: Error importing bundle ChimeraX-SaveCommand's module: libQt6Core.so.6: cannot open shared object file: No such file or directory
Bundle 'ChimeraX-SaveCommand' custom initialization failed UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd>
There is a "hack" mentionned in the apptainer mailing list https://groups.google.com/a/apptainer.org/g/discuss/c/qhP4eJrtelk/m/7pGjIDTm... pointing to https://github.com/dnschneid/crouton/wiki/Fix-error-while-loading-shared-lib... ``` strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` for the el8 rpm, which makes chimerax 1.4 starting fine on 3.10.0-1160.66.1.el7.x86_64 :D
so adding to you recipe: ``` yum -y install binutils && strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` seems to yield a workable solution!
[tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-2022-06-17-1750.sif --nogui WARNING: CPU random generator seem to be failing, disabling hardware random number generation WARNING: RDRND generated: 0xffffffff 0xffffffff 0xffffffff 0xffffffff UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd>
ymmv, I have only done minimal testing.
Best regards
Tru
On Thu, Jun 16, 2022 at 10:41:46AM -0700, Greg Couch via ChimeraX-users wrote:
I'm adding this for completeness, but this is not a practical solution:
There is a way of getting ChimeraX 1.4 to run on CentOS 7 that we do NOT support. There are two steps required: (1) you have to update the kernel to a newer version. That can be done with the elrepo-kernel repository. And (2) you need a newer versions of various system libraries. That can be done with by using a CentOS/RHEL 8 or 9 singularity container that has the same graphics driver as the CentOS 7 system and has the corresponding ChimeraX rpm installed.
So, unless it is your personal computer, that you could update to CentOS/RHEL 8 or 9 anyway, it is extremely unlikely that the system administrators will be willing to change to an unsupported kernel. But just in case, an example singularity definition file is attached. I was testing in a virtual machine using VMware Workstation, which is why the VMware graphics driver is installed. Once you have the singularity container, I'd recommend making a chimerax alias. For example:
alias chimerax="singularity run /PATH/chimerax.el8.sil"
So there you have it. It is technically possible, And don't forgot to regularly regenerate the singularity container to pick up security fixes.
...

the second part... "strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6" make the container runable on the default kernel :D ymmv Tru On Fri, Jun 17, 2022 at 11:30:54AM -0700, Greg Couch via ChimeraX-users wrote:
Yes, the singularity container will not work unless the CentOS 7 kernel is updated. I don't understand why the runtime loader fails to load the Qt shared library, but that is the symptom.
-- Greg
On 6/17/2022 10:14 AM, Tru Huynh via ChimeraX-users wrote:
Hello Greg,
Thanks for sharing the singularity recipe!
The only issue I have, is that the container will not run on our regular kernel as you mentionned below (1) although the error message is misleading!
[tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-pristine-2022-06-17-1833.sif --nogui Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 490, in get_module m = importlib.import_module(self.package_name) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/__init__.py", line 101, in <module> from .options import SaveModelOptionWidget File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/options.py", line 14, in <module> from Qt.QtWidgets import QFrame, QHBoxLayout, QLabel File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/Qt/__init__.py", line 64, in <module> from PyQt6.QtCore import PYQT_VERSION_STR as PYQT6_VERSION ImportError: libQt6Core.so.6: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 375, in init_manager api = self._get_api(session.logger) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 509, in _get_api m = self.get_module() File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 492, in get_module raise ToolshedError("Error importing bundle %s's module: %s" % (self.name, str(e))) chimerax.core.toolshed.ToolshedError: Error importing bundle ChimeraX-SaveCommand's module: libQt6Core.so.6: cannot open shared object file: No such file or directory
Bundle 'ChimeraX-SaveCommand' custom initialization failed UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd>
There is a "hack" mentionned in the apptainer mailing list https://urldefense.com/v3/__https://groups.google.com/a/apptainer.org/g/disc... pointing to https://urldefense.com/v3/__https://github.com/dnschneid/crouton/wiki/Fix-er... ``` strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` for the el8 rpm, which makes chimerax 1.4 starting fine on 3.10.0-1160.66.1.el7.x86_64 :D
so adding to you recipe: ``` yum -y install binutils && strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` seems to yield a workable solution!
[tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-2022-06-17-1750.sif --nogui WARNING: CPU random generator seem to be failing, disabling hardware random number generation WARNING: RDRND generated: 0xffffffff 0xffffffff 0xffffffff 0xffffffff UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd>
ymmv, I have only done minimal testing.
Best regards
Tru
On Thu, Jun 16, 2022 at 10:41:46AM -0700, Greg Couch via ChimeraX-users wrote:
I'm adding this for completeness, but this is not a practical solution:
There is a way of getting ChimeraX 1.4 to run on CentOS 7 that we do NOT support. There are two steps required: (1) you have to update the kernel to a newer version. That can be done with the elrepo-kernel repository. And (2) you need a newer versions of various system libraries. That can be done with by using a CentOS/RHEL 8 or 9 singularity container that has the same graphics driver as the CentOS 7 system and has the corresponding ChimeraX rpm installed.
So, unless it is your personal computer, that you could update to CentOS/RHEL 8 or 9 anyway, it is extremely unlikely that the system administrators will be willing to change to an unsupported kernel. But just in case, an example singularity definition file is attached. I was testing in a virtual machine using VMware Workstation, which is why the VMware graphics driver is installed. Once you have the singularity container, I'd recommend making a chimerax alias. For example:
alias chimerax="singularity run /PATH/chimerax.el8.sil"
So there you have it. It is technically possible, And don't forgot to regularly regenerate the singularity container to pick up security fixes.
...
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://urldefense.com/v3/__https://www.rbvi.ucsf.edu/mailman/listinfo/chime...
-- Tru Huynh (PhD) | mailto:tru@pasteur.fr | tel +33 1 45 68 87 37 https://research.pasteur.fr/en/team/structural-bioinformatics/ Institut Pasteur, 25-28 rue du Docteur Roux, 75724 Paris CEDEX 15 France

Thank you Tru Huynh. Just confirmed that adding:
strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 at the end of the %post section of the singularity definition file, makes ChimeraX startup. In my limited testing, I was unable to find anything that broke. libQt6Core.so.6 says it needs a 3.11 kernel and CentOS 7 comes with a 3.10 kernel. So only a little lie :-) I did change "singularity run" to "singularity run --bind /run/user/$(id -u)" to get rid of the startup error:
QStandardPaths: error creating runtime directory '/run/user/1000' (No such file or directory)
HTH, Greg On 6/17/2022 12:34 PM, Tru Huynh wrote:
the second part... "strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6" make the container runable on the default kernel :D
ymmv
Tru On Fri, Jun 17, 2022 at 11:30:54AM -0700, Greg Couch via ChimeraX-users wrote:
Yes, the singularity container will not work unless the CentOS 7 kernel is updated. I don't understand why the runtime loader fails to load the Qt shared library, but that is the symptom.
-- Greg
On 6/17/2022 10:14 AM, Tru Huynh via ChimeraX-users wrote:
Hello Greg,
Thanks for sharing the singularity recipe!
The only issue I have, is that the container will not run on our regular kernel as you mentionned below (1) although the error message is misleading!
[tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-pristine-2022-06-17-1833.sif --nogui Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 490, in get_module m = importlib.import_module(self.package_name) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/importlib/__init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "<frozen importlib._bootstrap>", line 1030, in _gcd_import File "<frozen importlib._bootstrap>", line 1007, in _find_and_load File "<frozen importlib._bootstrap>", line 986, in _find_and_load_unlocked File "<frozen importlib._bootstrap>", line 680, in _load_unlocked File "<frozen importlib._bootstrap_external>", line 850, in exec_module File "<frozen importlib._bootstrap>", line 228, in _call_with_frames_removed File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/__init__.py", line 101, in <module> from .options import SaveModelOptionWidget File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/save_command/options.py", line 14, in <module> from Qt.QtWidgets import QFrame, QHBoxLayout, QLabel File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/Qt/__init__.py", line 64, in <module> from PyQt6.QtCore import PYQT_VERSION_STR as PYQT6_VERSION ImportError: libQt6Core.so.6: cannot open shared object file: No such file or directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last): File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 375, in init_manager api = self._get_api(session.logger) File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 509, in _get_api m = self.get_module() File "/usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/chimerax/core/toolshed/info.py", line 492, in get_module raise ToolshedError("Error importing bundle %s's module: %s" % (self.name, str(e))) chimerax.core.toolshed.ToolshedError: Error importing bundle ChimeraX-SaveCommand's module: libQt6Core.so.6: cannot open shared object file: No such file or directory
Bundle 'ChimeraX-SaveCommand' custom initialization failed UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd>
There is a "hack" mentionned in the apptainer mailing list https://urldefense.com/v3/__https://groups.google.com/a/apptainer.org/g/disc... pointing to https://urldefense.com/v3/__https://github.com/dnschneid/crouton/wiki/Fix-er... ``` strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` for the el8 rpm, which makes chimerax 1.4 starting fine on 3.10.0-1160.66.1.el7.x86_64 :D
so adding to you recipe: ``` yum -y install binutils && strip --remove-section=.note.ABI-tag /usr/libexec/UCSF-ChimeraX/lib/python3.9/site-packages/PyQt6/Qt6/lib/libQt6Core.so.6 ``` seems to yield a workable solution!
[tru@sillage ~]$ singularity run /home/tru/singularity.d/containers/r8-chimerax-2022-06-17-1750.sif --nogui WARNING: CPU random generator seem to be failing, disabling hardware random number generation WARNING: RDRND generated: 0xffffffff 0xffffffff 0xffffffff 0xffffffff UCSF ChimeraX version: 1.4 (2022-06-03) © 2016-2022 Regents of the University of California. All rights reserved. cmd>
ymmv, I have only done minimal testing.
Best regards
Tru
On Thu, Jun 16, 2022 at 10:41:46AM -0700, Greg Couch via ChimeraX-users wrote:
I'm adding this for completeness, but this is not a practical solution:
There is a way of getting ChimeraX 1.4 to run on CentOS 7 that we do NOT support. There are two steps required: (1) you have to update the kernel to a newer version. That can be done with the elrepo-kernel repository. And (2) you need a newer versions of various system libraries. That can be done with by using a CentOS/RHEL 8 or 9 singularity container that has the same graphics driver as the CentOS 7 system and has the corresponding ChimeraX rpm installed.
So, unless it is your personal computer, that you could update to CentOS/RHEL 8 or 9 anyway, it is extremely unlikely that the system administrators will be willing to change to an unsupported kernel. But just in case, an example singularity definition file is attached. I was testing in a virtual machine using VMware Workstation, which is why the VMware graphics driver is installed. Once you have the singularity container, I'd recommend making a chimerax alias. For example:
alias chimerax="singularity run /PATH/chimerax.el8.sil"
So there you have it. It is technically possible, And don't forgot to regularly regenerate the singularity container to pick up security fixes.
...
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://urldefense.com/v3/__https://www.rbvi.ucsf.edu/mailman/listinfo/chime...
participants (5)
-
Greg Couch
-
Ricardo Righetto
-
Tom Goddard
-
Tristan Croll
-
Tru Huynh