Question about libLLVM

Hi, We were trying to install ChimerX 1.2 on our Centos 8 system. It seems like ChimeraX 1.2 asks for libLLVM with version 10 which is not a default package that built in the rpm. The default one for CentOS 8 is version 9. Centos 7 does not provide and not available in EPEL either. Could ChimeraX provide the corresponding library for centos 8 and 7? Another question that I have is if the following is correct for ChimeraX 1.1: ChimeraX 1.1 is using the default libLLVM3.9-mesa.so for centos 8. And for centos 7, you have ChimeraX 1,1 using the libOSMesa.so.8.0.0 which ChimeraX provided, as I see ChimeraX 1.1 works fine one both, but not 1.2. Best, Zhe

For CentOS 8, there should be no difference between the ChimeraX 1.1 and ChimeraX 1.2 dependency on LLVM. There is no direct dependency on LLVM. The dependency comes from ChimeraX's dependency on CentOS 8's mesa-libOSMesa. No version number is given for mesa-libOSMesa, so any version your system provides should work. The version of LLVM needed by mesa-libOSMesa varies depending on which version of CentOS 8 you have installed. On our CentOS 8 build VM, it happens to be LLVM version 10. On a CentOS Stream 8 machine I have access to, it is LLVM version 12. The CentOS 8 ChimeraX 1.2 rpm installs on both. So I believe the problem is something to do with your particular setup. I hope I have given you enough clues to figure it out . -- Greg On 7/5/2021 3:10 AM, Zhe Wang via ChimeraX-users wrote:
Hi,
We were trying to install ChimerX 1.2 on our Centos 8 system. It seems like ChimeraX 1.2 asks for libLLVM with version 10 which is not a default package that built in the rpm. The default one for CentOS 8 is version 9. Centos 7 does not provide and not available in EPEL either. Could ChimeraX provide the corresponding library for centos 8 and 7? Another question that I have is if the following is correct for ChimeraX 1.1: ChimeraX 1.1 is using the default libLLVM3.9-mesa.so <http://libLLVM3.9-mesa.so> for centos 8. And for centos 7, you have ChimeraX 1,1 using the libOSMesa.so.8.0.0 which ChimeraX provided, as I see ChimeraX 1.1 works fine one both, but not 1.2. Best, Zhe
_______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Hi Greg, Thank you for your reply. I do have the libOSMesa.so exist in our /usr/lib64/ directory. But it seems not the one ChimeraX is trying to import. The ldd result show as the following: ldd ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0 ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0) linux-vdso.so.1 (0x00007ffe625ef000) libz.so.1 => /lib64/libz.so.1 (0x00007fbcc8d47000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbcc8b27000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fbcc8923000) libLLVM-10.so.1 => not found libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbcc858e000) libm.so.6 => /lib64/libm.so.6 (0x00007fbcc820c000) libc.so.6 => /lib64/libc.so.6 (0x00007fbcc7e4a000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbcc7c32000) /lib64/ld-linux-x86-64.so.2 (0x00007fbcc97eb000) On our centos 8 VM, it shows as: linux-vdso.so.1 => (0x00007ffebc3c3000) libz.so.1 => /lib64/libz.so.1 (0x00007f2fcf0c3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2fceea6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2fceca2000) libLLVM-3.9-mesa.so => /lib64/libLLVM-3.9-mesa.so (0x00007f2fccd71000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2fcca68000) libm.so.6 => /lib64/libm.so.6 (0x00007f2fcc766000) libc.so.6 => /lib64/libc.so.6 (0x00007f2fcc3a3000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2fcc18c000) /lib64/ld-linux-x86-64.so.2 (0x000055f2cf96c000) librt.so.1 => /lib64/../lib64/librt.so.1 (0x00007f2fcbf84000) So I feel like the ChimeraX mesa is imported but not the system one. Best, Zhe

Hi Zhe, Thanks for debugging this. So it appears the libOSMesa.so.8.0.0 included in ChimeraX dues use libLLVM-10.so.1 that your system does not have. The libOSMesa library is only used for a very obscure ChimeraX capability, offscreen rendering when Chimera is started with the "--offscreen" flag usually for servers creating images. Do you need that? I am surprised that the ChimeraX installation would fail due to the missing dependency. Can you send your install command and the output of how it fails just to me and Greg Couch instead of the list. I don't think we will include libLLVM in ChimeraX -- it is large and as I said this is a very rarely used ChimeraX feature. But we do want it not to break the installation. Tom
On Jul 6, 2021, at 11:38 AM, Zhe Wang via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Hi Greg,
Thank you for your reply. I do have the libOSMesa.so exist in our /usr/lib64/ directory. But it seems not the one ChimeraX is trying to import. The ldd result show as the following: ldd ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0 ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0) linux-vdso.so.1 (0x00007ffe625ef000) libz.so.1 => /lib64/libz.so.1 (0x00007fbcc8d47000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbcc8b27000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fbcc8923000) libLLVM-10.so.1 => not found libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbcc858e000) libm.so.6 => /lib64/libm.so.6 (0x00007fbcc820c000) libc.so.6 => /lib64/libc.so.6 (0x00007fbcc7e4a000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbcc7c32000) /lib64/ld-linux-x86-64.so.2 (0x00007fbcc97eb000) On our centos 8 VM, it shows as: linux-vdso.so.1 => (0x00007ffebc3c3000) libz.so.1 => /lib64/libz.so.1 (0x00007f2fcf0c3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2fceea6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2fceca2000) libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/> => /lib64/libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/> (0x00007f2fccd71000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2fcca68000) libm.so.6 => /lib64/libm.so.6 (0x00007f2fcc766000) libc.so.6 => /lib64/libc.so.6 (0x00007f2fcc3a3000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2fcc18c000) /lib64/ld-linux-x86-64.so.2 (0x000055f2cf96c000) librt.so.1 => /lib64/../lib64/librt.so.1 (0x00007f2fcbf84000)
So I feel like the ChimeraX mesa is imported but not the system one.
Best, Zhe _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

I see the bug now. On CentOS 8, there should not be a libOSMesa.so in the ChimeraX/lib directory. Please remove it so ChimeraX finds the system version: sudo rm -rf /usr/libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa I will change the daily build so it is not there. -- Greg On 7/6/2021 12:38 PM, Tom Goddard wrote:
Hi Zhe,
Thanks for debugging this. So it appears the libOSMesa.so.8.0.0 included in ChimeraX dues use libLLVM-10.so.1 that your system does not have. The libOSMesa library is only used for a very obscure ChimeraX capability, offscreen rendering when Chimera is started with the "--offscreen" flag usually for servers creating images. Do you need that?
I am surprised that the ChimeraX installation would fail due to the missing dependency. Can you send your install command and the output of how it fails just to me and Greg Couch instead of the list.
I don't think we will include libLLVM in ChimeraX -- it is large and as I said this is a very rarely used ChimeraX feature. But we do want it not to break the installation.
Tom
On Jul 6, 2021, at 11:38 AM, Zhe Wang via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hi Greg,
Thank you for your reply. I do have the libOSMesa.so exist in our /usr/lib64/ directory. But it seems not the one ChimeraX is trying to import. The ldd result show as the following: ldd ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0 ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0) linux-vdso.so.1 (0x00007ffe625ef000) libz.so.1 => /lib64/libz.so.1 (0x00007fbcc8d47000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbcc8b27000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fbcc8923000) libLLVM-10.so.1 => not found libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbcc858e000) libm.so.6 => /lib64/libm.so.6 (0x00007fbcc820c000) libc.so.6 => /lib64/libc.so.6 (0x00007fbcc7e4a000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbcc7c32000) /lib64/ld-linux-x86-64.so.2 (0x00007fbcc97eb000) On our centos 8 VM, it shows as: linux-vdso.so.1 =>(0x00007ffebc3c3000) libz.so.1 => /lib64/libz.so.1 (0x00007f2fcf0c3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2fceea6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2fceca2000) libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/> => /lib64/libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/> (0x00007f2fccd71000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2fcca68000) libm.so.6 => /lib64/libm.so.6 (0x00007f2fcc766000) libc.so.6 => /lib64/libc.so.6 (0x00007f2fcc3a3000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2fcc18c000) /lib64/ld-linux-x86-64.so.2 (0x000055f2cf96c000) librt.so.1 => /lib64/../lib64/librt.so.1 (0x00007f2fcbf84000)
So I feel like the ChimeraX mesa is imported but not the system one.
Best, Zhe _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Hi Tom and Greg, Thanks for double checking this. I can confirm that the solution works on our centos 8 smoothly. Best, Zhe On Tue, Jul 6, 2021 at 8:58 PM Greg Couch <gregc@cgl.ucsf.edu> wrote:
I see the bug now. On CentOS 8, there should not be a libOSMesa.so in the ChimeraX/lib directory. Please remove it so ChimeraX finds the system version:
sudo rm -rf /usr/libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa
I will change the daily build so it is not there.
-- Greg On 7/6/2021 12:38 PM, Tom Goddard wrote:
Hi Zhe,
Thanks for debugging this. So it appears the libOSMesa.so.8.0.0 included in ChimeraX dues use libLLVM-10.so.1 that your system does not have. The libOSMesa library is only used for a very obscure ChimeraX capability, offscreen rendering when Chimera is started with the "--offscreen" flag usually for servers creating images. Do you need that?
I am surprised that the ChimeraX installation would fail due to the missing dependency. Can you send your install command and the output of how it fails just to me and Greg Couch instead of the list.
I don't think we will include libLLVM in ChimeraX -- it is large and as I said this is a very rarely used ChimeraX feature. But we do want it not to break the installation.
Tom
On Jul 6, 2021, at 11:38 AM, Zhe Wang via ChimeraX-users < chimerax-users@cgl.ucsf.edu> wrote:
Hi Greg,
Thank you for your reply. I do have the libOSMesa.so exist in our /usr/lib64/ directory. But it seems not the one ChimeraX is trying to import. The ldd result show as the following: ldd ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0 ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0) linux-vdso.so.1 (0x00007ffe625ef000) libz.so.1 => /lib64/libz.so.1 (0x00007fbcc8d47000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbcc8b27000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fbcc8923000) libLLVM-10.so.1 => not found libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbcc858e000) libm.so.6 => /lib64/libm.so.6 (0x00007fbcc820c000) libc.so.6 => /lib64/libc.so.6 (0x00007fbcc7e4a000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbcc7c32000) /lib64/ld-linux-x86-64.so.2 (0x00007fbcc97eb000) On our centos 8 VM, it shows as: linux-vdso.so.1 => (0x00007ffebc3c3000) libz.so.1 => /lib64/libz.so.1 (0x00007f2fcf0c3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2fceea6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2fceca2000) libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/> => /lib64/ libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/> (0x00007f2fccd71000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2fcca68000) libm.so.6 => /lib64/libm.so.6 (0x00007f2fcc766000) libc.so.6 => /lib64/libc.so.6 (0x00007f2fcc3a3000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2fcc18c000) /lib64/ld-linux-x86-64.so.2 (0x000055f2cf96c000) librt.so.1 => /lib64/../lib64/librt.so.1 (0x00007f2fcbf84000)
So I feel like the ChimeraX mesa is imported but not the system one.
Best, Zhe _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users

Hi Zhe, Glad to hear that deleting the OSMesa included in ChimeraX makes the --offscreen option work for generating images for EMDB. Greg has fixed the CentOS 8 ChimeraX build so it does not include OSMesa and just uses the system version so you will not need to delete it in future releases. Tom
On Jul 7, 2021, at 3:06 AM, Zhe Wang via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:
Hi Tom and Greg,
Thanks for double checking this. I can confirm that the solution works on our centos 8 smoothly.
Best, Zhe
On Tue, Jul 6, 2021 at 8:58 PM Greg Couch <gregc@cgl.ucsf.edu <mailto:gregc@cgl.ucsf.edu>> wrote: I see the bug now. On CentOS 8, there should not be a libOSMesa.so in the ChimeraX/lib directory. Please remove it so ChimeraX finds the system version:
sudo rm -rf /usr/libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa
I will change the daily build so it is not there.
-- Greg
On 7/6/2021 12:38 PM, Tom Goddard wrote:
Hi Zhe,
Thanks for debugging this. So it appears the libOSMesa.so.8.0.0 included in ChimeraX dues use libLLVM-10.so.1 that your system does not have. The libOSMesa library is only used for a very obscure ChimeraX capability, offscreen rendering when Chimera is started with the "--offscreen" flag usually for servers creating images. Do you need that?
I am surprised that the ChimeraX installation would fail due to the missing dependency. Can you send your install command and the output of how it fails just to me and Greg Couch instead of the list.
I don't think we will include libLLVM in ChimeraX -- it is large and as I said this is a very rarely used ChimeraX feature. But we do want it not to break the installation.
Tom
On Jul 6, 2021, at 11:38 AM, Zhe Wang via ChimeraX-users <chimerax-users@cgl.ucsf.edu <mailto:chimerax-users@cgl.ucsf.edu>> wrote:
Hi Greg,
Thank you for your reply. I do have the libOSMesa.so exist in our /usr/lib64/ directory. But it seems not the one ChimeraX is trying to import. The ldd result show as the following: ldd ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0 ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0: /lib64/libm.so.6: version `GLIBC_2.29' not found (required by ./libexec/UCSF-ChimeraX/lib/python3.8/site-packages/osmesa/libOSMesa.so.8.0.0) linux-vdso.so.1 (0x00007ffe625ef000) libz.so.1 => /lib64/libz.so.1 (0x00007fbcc8d47000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fbcc8b27000) libdl.so.2 => /lib64/libdl.so.2 (0x00007fbcc8923000) libLLVM-10.so.1 => not found libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007fbcc858e000) libm.so.6 => /lib64/libm.so.6 (0x00007fbcc820c000) libc.so.6 => /lib64/libc.so.6 (0x00007fbcc7e4a000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fbcc7c32000) /lib64/ld-linux-x86-64.so.2 (0x00007fbcc97eb000) On our centos 8 VM, it shows as: linux-vdso.so.1 => (0x00007ffebc3c3000) libz.so.1 => /lib64/libz.so.1 (0x00007f2fcf0c3000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f2fceea6000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f2fceca2000) libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/> => /lib64/libLLVM-3.9-mesa.so <http://libllvm-3.9-mesa.so/>(0x00007f2fccd71000) libstdc++.so.6 => /lib64/libstdc++.so.6 (0x00007f2fcca68000) libm.so.6 => /lib64/libm.so.6 (0x00007f2fcc766000) libc.so.6 => /lib64/libc.so.6 (0x00007f2fcc3a3000) libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f2fcc18c000) /lib64/ld-linux-x86-64.so.2 (0x000055f2cf96c000) librt.so.1 => /lib64/../lib64/librt.so.1 (0x00007f2fcbf84000)
So I feel like the ChimeraX mesa is imported but not the system one.
Best, Zhe _______________________________________________ ChimeraX-users mailing list ChimeraX-users@cgl.ucsf.edu <mailto:ChimeraX-users@cgl.ucsf.edu> Manage subscription: https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <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
participants (3)
-
Greg Couch
-
Tom Goddard
-
Zhe Wang