Author Topic: which gcc is used to compile ovito?  (Read 1018 times)

Kevin

  • Newbie
  • *
  • Posts: 33
which gcc is used to compile ovito?
« on: September 16, 2018, 07:59:42 AM »
Hello Dr.Stukowski,


Is gcc 5.1 used to compile linux version of ovito? (That was the only update that you wrote on the update info page (https://ovito.org/index.php/about/version-history).

I am using gcc 4.8.5 in centOS 7.5, and "ovitos" is complaining as follows:
Code: [Select]
./ovitos: /software/centos7/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./ovitos)

It looks like gcc 4.8.5 does not have CXXABI_1.3.9, and I was wondering what gcc version I should be using to use ovitos. (But before the supercomputer server updated to centOS 7.5 from 6.9, it worked fine with 4.8.5.)



Thanks,
Kyu

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 512
Re: which gcc is used to compile ovito?
« Reply #1 on: September 16, 2018, 11:09:57 AM »
Dear Kyu,

please note following statement on the OVITO download page:

Quote
Note to users of RHEL and similar Linux distributions:

In case program startup fails with the error message "ovito: /usr/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found", please download this version of libstdc++.so and copy the two .so files in the lib/ovito/ subdirectory of the OVITO installation. They are required, because the existing version of libstdc++ on your system is not compatible with the OVITO binary.

On your Linux system it may be necessary to install the mentioned libraries to run ovito/ovitos.

I build the official binaries for Linux using gcc 5.1.1 under Ubuntu Linux 10.04.

-Alex

Kevin

  • Newbie
  • *
  • Posts: 33
Re: which gcc is used to compile ovito?
« Reply #2 on: September 16, 2018, 07:43:50 PM »
Yes of course. I forgot to do this for the most recent version for ovito 3.

My problem is solved but I will report findings that you may find helpful just in case.


Initially I had some problems running ovitos version 2.9.0 and version 3.0.0_dev101 due to the dependencies problem (It ran fine before on centOS 6.9). But this error doesn't happen with the newest development version (ovito 3.0.0_dev234). But even though the ovitos runs in dev234 version with gcc/4.8.5, it is still complaining the dependency problem.


Note that I am using centOS 7.5.
Note that all the errors discussed below are still invoked even though "libstdc++.so.6.0.21" and "libstdc++.so.6" are put in the appropriate directory as you mentioned in your previous reply.

First, on dev234 version, upon checking the dependencies of "libqminimal.so" on the following directory :
Code: [Select]
ovito-3.0.0-dev234-x86_64/lib/ovito/plugins_qt/platforms,
the error invoked was as follows:

Code: [Select]
ldd libqminimal.so
ldd: warning: you do not have execution permission for `./libqminimal.so'
./libqminimal.so: /software/centos7/lib64/libQt5Core.so.5: version `Qt_5.10' not found (required by ./libqminimal.so)
./libqminimal.so: /software/centos7/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./libqminimal.so)
linux-vdso.so.1 =>  (0x00007fffc7194000)
libfreetype.so.6 => /software/centos7/lib64/libfreetype.so.6 (0x00007f2e8bafd000)
libfontconfig.so.1 => /software/centos7/lib64/libfontconfig.so.1 (0x00007f2e8b8c0000)
libQt5Gui.so.5 => /software/centos7/lib64/libQt5Gui.so.5 (0x00007f2e8b40a000)
libQt5Core.so.5 => /software/centos7/lib64/libQt5Core.so.5 (0x00007f2e8af60000)
libGL.so.1 => /software/centos7/lib64/libGL.so.1 (0x00007f2e8acee000)
libpthread.so.0 => /software/centos7/lib64/libpthread.so.0 (0x00007f2e8aad2000)
libstdc++.so.6 => /software/centos7/lib64/libstdc++.so.6 (0x00007f2e8a7cb000)
libm.so.6 => /software/centos7/lib64/libm.so.6 (0x00007f2e8a4c9000)
libgcc_s.so.1 => /software/centos7/lib64/libgcc_s.so.1 (0x00007f2e8a2b3000)
libc.so.6 => /software/centos7/lib64/libc.so.6 (0x00007f2e89ee6000)
libexpat.so.1 => /software/centos7/lib64/libexpat.so.1 (0x00007f2e89cbc000)
libpng15.so.15 => /software/centos7/lib64/libpng15.so.15 (0x00007f2e89a91000)
libharfbuzz.so.0 => /software/centos7/lib64/libharfbuzz.so.0 (0x00007f2e8982e000)
libz.so.1 => /software/centos7/lib64/libz.so.1 (0x00007f2e89618000)
libsystemd.so.0 => /software/centos7/lib64/libsystemd.so.0 (0x00007f2e893e7000)
libicui18n.so.50 => /software/centos7/lib64/libicui18n.so.50 (0x00007f2e88fe8000)
libicuuc.so.50 => /software/centos7/lib64/libicuuc.so.50 (0x00007f2e88c6f000)
libicudata.so.50 => /software/centos7/lib64/libicudata.so.50 (0x00007f2e8769b000)
libpcre2-16.so.0 => /software/centos7/lib64/libpcre2-16.so.0 (0x00007f2e8742f000)
libdl.so.2 => /software/centos7/lib64/libdl.so.2 (0x00007f2e8722b000)
libgthread-2.0.so.0 => /software/centos7/lib64/libgthread-2.0.so.0 (0x00007f2e87029000)
libglib-2.0.so.0 => /software/centos7/lib64/libglib-2.0.so.0 (0x00007f2e86d15000)
/lib64/ld-linux-x86-64.so.2 (0x00007f2e8bda3000)
libxcb-dri3.so.0 => /software/centos7/lib64/libxcb-dri3.so.0 (0x00007f2e86b12000)
libxcb-xfixes.so.0 => /software/centos7/lib64/libxcb-xfixes.so.0 (0x00007f2e8690a000)
libxcb-present.so.0 => /software/centos7/lib64/libxcb-present.so.0 (0x00007f2e86707000)
libxcb-sync.so.1 => /software/centos7/lib64/libxcb-sync.so.1 (0x00007f2e86500000)
libxshmfence.so.1 => /software/centos7/lib64/libxshmfence.so.1 (0x00007f2e862fd000)
libglapi.so.0 => /software/centos7/lib64/libglapi.so.0 (0x00007f2e860cd000)
libselinux.so.1 => /software/centos7/lib64/libselinux.so.1 (0x00007f2e85ea6000)
libXext.so.6 => /software/centos7/lib64/libXext.so.6 (0x00007f2e85c94000)
libXdamage.so.1 => /software/centos7/lib64/libXdamage.so.1 (0x00007f2e85a91000)
libXfixes.so.3 => /software/centos7/lib64/libXfixes.so.3 (0x00007f2e8588b000)
libX11-xcb.so.1 => /software/centos7/lib64/libX11-xcb.so.1 (0x00007f2e85689000)
libX11.so.6 => /software/centos7/lib64/libX11.so.6 (0x00007f2e8534b000)
libxcb.so.1 => /software/centos7/lib64/libxcb.so.1 (0x00007f2e85123000)
libxcb-glx.so.0 => /software/centos7/lib64/libxcb-glx.so.0 (0x00007f2e84f08000)
libxcb-dri2.so.0 => /software/centos7/lib64/libxcb-dri2.so.0 (0x00007f2e84d03000)
libXxf86vm.so.1 => /software/centos7/lib64/libXxf86vm.so.1 (0x00007f2e84afd000)
libdrm.so.2 => /software/centos7/lib64/libdrm.so.2 (0x00007f2e848ec000)
libgraphite2.so.3 => /software/centos7/lib64/libgraphite2.so.3 (0x00007f2e846be000)
libcap.so.2 => /software/centos7/lib64/libcap.so.2 (0x00007f2e844b9000)
librt.so.1 => /software/centos7/lib64/librt.so.1 (0x00007f2e842b1000)
liblzma.so.5 => /software/centos7/lib64/liblzma.so.5 (0x00007f2e8408b000)
liblz4.so.1 => /software/centos7/lib64/liblz4.so.1 (0x00007f2e83e76000)
libgcrypt.so.11 => /software/centos7/lib64/libgcrypt.so.11 (0x00007f2e83bf5000)
libgpg-error.so.0 => /software/centos7/lib64/libgpg-error.so.0 (0x00007f2e839f0000)
libresolv.so.2 => /software/centos7/lib64/libresolv.so.2 (0x00007f2e837d7000)
libdw.so.1 => /software/centos7/lib64/libdw.so.1 (0x00007f2e83590000)
libpcre.so.1 => /software/centos7/lib64/libpcre.so.1 (0x00007f2e8332e000)
libXau.so.6 => /software/centos7/lib64/libXau.so.6 (0x00007f2e8312a000)
libattr.so.1 => /software/centos7/lib64/libattr.so.1 (0x00007f2e82f25000)
libelf.so.1 => /software/centos7/lib64/libelf.so.1 (0x00007f2e82d0d000)
libbz2.so.1 => /software/centos7/lib64/libbz2.so.1 (0x00007f2e82afd000)

The reason why I ended up checking the dependencies of libqminimal.so is as follows.
On ovito 2.9.0 or ovitos 3.0.0_dev_101 version, I had some errors regarding dependencies of minimal plugin. (again, this didn't happen in centOS 6.9, but happens in centOS 7.5)

When I try to run ovitos,
the error invoked was as follows:

Code: [Select]
This application failed to start because it could not find or load the Qt platform plugin "minimal"
in "".

Available platform plugins are: minimal, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted

So I went to the following directory
Code: [Select]
ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platformsand checked the dependencies as follows:
Code: [Select]
ldd libqminimal.so
The error invoked was as follows:
Code: [Select]
ldd: warning: you do not have execution permission for `./libqminimal.so'
./libqminimal.so: /software/centos7/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./libqminimal.so)
linux-vdso.so.1 =>  (0x00007ffd74549000)
libfontconfig.so.1 => /software/centos7/lib64/libfontconfig.so.1 (0x00007f088336f000)
libfreetype.so.6 => /software/centos7/lib64/libfreetype.so.6 (0x00007f08830c9000)
libQt5DBus.so.5 => /software/centos7/lib64/libQt5DBus.so.5 (0x00007f0883721000)
libXrender.so.1 => /software/centos7/lib64/libXrender.so.1 (0x00007f0882ebe000)
libXext.so.6 => /software/centos7/lib64/libXext.so.6 (0x00007f0882cac000)
libX11.so.6 => /software/centos7/lib64/libX11.so.6 (0x00007f088296e000)
libQt5Gui.so.5 => /software/centos7/lib64/libQt5Gui.so.5 (0x00007f08824b8000)
libQt5Core.so.5 => /software/centos7/lib64/libQt5Core.so.5 (0x00007f088200e000)
libGL.so.1 => /software/centos7/lib64/libGL.so.1 (0x00007f0881d9c000)
libpthread.so.0 => /software/centos7/lib64/libpthread.so.0 (0x00007f0881b80000)
libstdc++.so.6 => /software/centos7/lib64/libstdc++.so.6 (0x00007f0881879000)
libm.so.6 => /software/centos7/lib64/libm.so.6 (0x00007f0881577000)
libgcc_s.so.1 => /software/centos7/lib64/libgcc_s.so.1 (0x00007f0881361000)
libc.so.6 => /software/centos7/lib64/libc.so.6 (0x00007f0880f94000)
libexpat.so.1 => /software/centos7/lib64/libexpat.so.1 (0x00007f0880d6a000)
libdbus-1.so.3 => /software/centos7/lib64/libdbus-1.so.3 (0x00007f0880b1a000)
libxcb.so.1 => /software/centos7/lib64/libxcb.so.1 (0x00007f08808f2000)
libdl.so.2 => /software/centos7/lib64/libdl.so.2 (0x00007f08806ee000)
libpng15.so.15 => /software/centos7/lib64/libpng15.so.15 (0x00007f08804c3000)
libharfbuzz.so.0 => /software/centos7/lib64/libharfbuzz.so.0 (0x00007f0880260000)
libz.so.1 => /software/centos7/lib64/libz.so.1 (0x00007f088004a000)
libsystemd.so.0 => /software/centos7/lib64/libsystemd.so.0 (0x00007f087fe19000)
libicui18n.so.50 => /software/centos7/lib64/libicui18n.so.50 (0x00007f087fa1a000)
libicuuc.so.50 => /software/centos7/lib64/libicuuc.so.50 (0x00007f087f6a1000)
libicudata.so.50 => /software/centos7/lib64/libicudata.so.50 (0x00007f087e0cd000)
libpcre2-16.so.0 => /software/centos7/lib64/libpcre2-16.so.0 (0x00007f087de61000)
libgthread-2.0.so.0 => /software/centos7/lib64/libgthread-2.0.so.0 (0x00007f087dc5f000)
libglib-2.0.so.0 => /software/centos7/lib64/libglib-2.0.so.0 (0x00007f087d94b000)
/lib64/ld-linux-x86-64.so.2 (0x00007f08835ac000)
libxcb-dri3.so.0 => /software/centos7/lib64/libxcb-dri3.so.0 (0x00007f087d748000)
libxcb-xfixes.so.0 => /software/centos7/lib64/libxcb-xfixes.so.0 (0x00007f087d540000)
libxcb-present.so.0 => /software/centos7/lib64/libxcb-present.so.0 (0x00007f087d33d000)
libxcb-sync.so.1 => /software/centos7/lib64/libxcb-sync.so.1 (0x00007f087d136000)
libxshmfence.so.1 => /software/centos7/lib64/libxshmfence.so.1 (0x00007f087cf33000)
libglapi.so.0 => /software/centos7/lib64/libglapi.so.0 (0x00007f087cd03000)
libselinux.so.1 => /software/centos7/lib64/libselinux.so.1 (0x00007f087cadc000)
libXdamage.so.1 => /software/centos7/lib64/libXdamage.so.1 (0x00007f087c8d9000)
libXfixes.so.3 => /software/centos7/lib64/libXfixes.so.3 (0x00007f087c6d3000)
libX11-xcb.so.1 => /software/centos7/lib64/libX11-xcb.so.1 (0x00007f087c4d1000)
libxcb-glx.so.0 => /software/centos7/lib64/libxcb-glx.so.0 (0x00007f087c2b6000)
libxcb-dri2.so.0 => /software/centos7/lib64/libxcb-dri2.so.0 (0x00007f087c0b1000)
libXxf86vm.so.1 => /software/centos7/lib64/libXxf86vm.so.1 (0x00007f087beab000)
libdrm.so.2 => /software/centos7/lib64/libdrm.so.2 (0x00007f087bc9a000)
libXau.so.6 => /software/centos7/lib64/libXau.so.6 (0x00007f087ba96000)
libgraphite2.so.3 => /software/centos7/lib64/libgraphite2.so.3 (0x00007f087b868000)
libcap.so.2 => /software/centos7/lib64/libcap.so.2 (0x00007f087b663000)
librt.so.1 => /software/centos7/lib64/librt.so.1 (0x00007f087b45b000)
liblzma.so.5 => /software/centos7/lib64/liblzma.so.5 (0x00007f087b235000)
liblz4.so.1 => /software/centos7/lib64/liblz4.so.1 (0x00007f087b020000)
libgcrypt.so.11 => /software/centos7/lib64/libgcrypt.so.11 (0x00007f087ad9f000)
libgpg-error.so.0 => /software/centos7/lib64/libgpg-error.so.0 (0x00007f087ab9a000)
libresolv.so.2 => /software/centos7/lib64/libresolv.so.2 (0x00007f087a981000)
libdw.so.1 => /software/centos7/lib64/libdw.so.1 (0x00007f087a73a000)
libpcre.so.1 => /software/centos7/lib64/libpcre.so.1 (0x00007f087a4d8000)
libattr.so.1 => /software/centos7/lib64/libattr.so.1 (0x00007f087a2d3000)
libelf.so.1 => /software/centos7/lib64/libelf.so.1 (0x00007f087a0bb000)
libbz2.so.1 => /software/centos7/lib64/libbz2.so.1 (0x00007f0879eab000)

This happens with gcc/4.8.5, so I tried ldd again with gcc/5.5.0 loaded.
In this case the error is not invoked as follows, indicating all the dependencies are met:
Code: [Select]
ldd: warning: you do not have execution permission for `./libqminimal.so'
linux-vdso.so.1 =>  (0x00007ffe41566000)
libfontconfig.so.1 => /software/centos7/lib64/libfontconfig.so.1 (0x00007fc58ab14000)
libfreetype.so.6 => /software/centos7/lib64/libfreetype.so.6 (0x00007fc58a86e000)
libQt5DBus.so.5 => /software/centos7/lib64/libQt5DBus.so.5 (0x00007fc58aec6000)
libXrender.so.1 => /software/centos7/lib64/libXrender.so.1 (0x00007fc58a663000)
libXext.so.6 => /software/centos7/lib64/libXext.so.6 (0x00007fc58a451000)
libX11.so.6 => /software/centos7/lib64/libX11.so.6 (0x00007fc58a113000)
libQt5Gui.so.5 => /software/centos7/lib64/libQt5Gui.so.5 (0x00007fc589c5d000)
libQt5Core.so.5 => /software/centos7/lib64/libQt5Core.so.5 (0x00007fc5897b3000)
libGL.so.1 => /software/centos7/lib64/libGL.so.1 (0x00007fc589541000)
libpthread.so.0 => /software/centos7/lib64/libpthread.so.0 (0x00007fc589325000)
libstdc++.so.6 => /software/apps/compilers/gcc/5.5.0/lib64/libstdc++.so.6 (0x00007fc588fa9000)
libm.so.6 => /software/centos7/lib64/libm.so.6 (0x00007fc588ca7000)
libgcc_s.so.1 => /software/apps/compilers/gcc/5.5.0/lib64/libgcc_s.so.1 (0x00007fc588a90000)
libc.so.6 => /software/centos7/lib64/libc.so.6 (0x00007fc5886c3000)
libexpat.so.1 => /software/centos7/lib64/libexpat.so.1 (0x00007fc588499000)
libdbus-1.so.3 => /software/centos7/lib64/libdbus-1.so.3 (0x00007fc588249000)
libxcb.so.1 => /software/centos7/lib64/libxcb.so.1 (0x00007fc588021000)
libdl.so.2 => /software/centos7/lib64/libdl.so.2 (0x00007fc587e1d000)
libpng15.so.15 => /software/centos7/lib64/libpng15.so.15 (0x00007fc587bf2000)
libharfbuzz.so.0 => /software/centos7/lib64/libharfbuzz.so.0 (0x00007fc58798f000)
libz.so.1 => /software/centos7/lib64/libz.so.1 (0x00007fc587779000)
libsystemd.so.0 => /software/centos7/lib64/libsystemd.so.0 (0x00007fc587548000)
libicui18n.so.50 => /software/centos7/lib64/libicui18n.so.50 (0x00007fc587149000)
libicuuc.so.50 => /software/centos7/lib64/libicuuc.so.50 (0x00007fc586dd0000)
libicudata.so.50 => /software/centos7/lib64/libicudata.so.50 (0x00007fc5857fc000)
libpcre2-16.so.0 => /software/centos7/lib64/libpcre2-16.so.0 (0x00007fc585590000)
libgthread-2.0.so.0 => /software/centos7/lib64/libgthread-2.0.so.0 (0x00007fc58538e000)
libglib-2.0.so.0 => /software/centos7/lib64/libglib-2.0.so.0 (0x00007fc58507a000)
/lib64/ld-linux-x86-64.so.2 (0x00007fc58ad51000)
libxcb-dri3.so.0 => /software/centos7/lib64/libxcb-dri3.so.0 (0x00007fc584e77000)
libxcb-xfixes.so.0 => /software/centos7/lib64/libxcb-xfixes.so.0 (0x00007fc584c6f000)
libxcb-present.so.0 => /software/centos7/lib64/libxcb-present.so.0 (0x00007fc584a6c000)
libxcb-sync.so.1 => /software/centos7/lib64/libxcb-sync.so.1 (0x00007fc584865000)
libxshmfence.so.1 => /software/centos7/lib64/libxshmfence.so.1 (0x00007fc584662000)
libglapi.so.0 => /software/centos7/lib64/libglapi.so.0 (0x00007fc584432000)
libselinux.so.1 => /software/centos7/lib64/libselinux.so.1 (0x00007fc58420b000)
libXdamage.so.1 => /software/centos7/lib64/libXdamage.so.1 (0x00007fc584008000)
libXfixes.so.3 => /software/centos7/lib64/libXfixes.so.3 (0x00007fc583e02000)
libX11-xcb.so.1 => /software/centos7/lib64/libX11-xcb.so.1 (0x00007fc583c00000)
libxcb-glx.so.0 => /software/centos7/lib64/libxcb-glx.so.0 (0x00007fc5839e5000)
libxcb-dri2.so.0 => /software/centos7/lib64/libxcb-dri2.so.0 (0x00007fc5837e0000)
libXxf86vm.so.1 => /software/centos7/lib64/libXxf86vm.so.1 (0x00007fc5835da000)
libdrm.so.2 => /software/centos7/lib64/libdrm.so.2 (0x00007fc5833c9000)
libXau.so.6 => /software/centos7/lib64/libXau.so.6 (0x00007fc5831c5000)
libgraphite2.so.3 => /software/centos7/lib64/libgraphite2.so.3 (0x00007fc582f97000)
libcap.so.2 => /software/centos7/lib64/libcap.so.2 (0x00007fc582d92000)
librt.so.1 => /software/centos7/lib64/librt.so.1 (0x00007fc582b8a000)
liblzma.so.5 => /software/centos7/lib64/liblzma.so.5 (0x00007fc582964000)
liblz4.so.1 => /software/centos7/lib64/liblz4.so.1 (0x00007fc58274f000)
libgcrypt.so.11 => /software/centos7/lib64/libgcrypt.so.11 (0x00007fc5824ce000)
libgpg-error.so.0 => /software/centos7/lib64/libgpg-error.so.0 (0x00007fc5822c9000)
libresolv.so.2 => /software/centos7/lib64/libresolv.so.2 (0x00007fc5820b0000)
libdw.so.1 => /software/centos7/lib64/libdw.so.1 (0x00007fc581e69000)
libpcre.so.1 => /software/centos7/lib64/libpcre.so.1 (0x00007fc581c07000)
libattr.so.1 => /software/centos7/lib64/libattr.so.1 (0x00007fc581a02000)
libelf.so.1 => /software/centos7/lib64/libelf.so.1 (0x00007fc5817ea000)
libbz2.so.1 => /software/centos7/lib64/libbz2.so.1 (0x00007fc5815da000)

But, when I try to run ovitos, it still gives the following error:

Code: [Select]
This application failed to start because it could not find or load the Qt platform plugin "minimal"
in "".

Available platform plugins are: minimal, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted


Thanks,
Kyu

« Last Edit: September 16, 2018, 11:02:57 PM by Kevin »

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 512
Re: which gcc is used to compile ovito?
« Reply #3 on: September 17, 2018, 08:43:25 AM »
Note that when you run "ldd libqminimal.so" from the terminal, the "ldd" command will only look in the system directories for the needed libraries. For example, in your case it finds the libQt*.so libraries installed in "/software/centos7/lib64/" instead of the ones that ship with OVITO, which are located in the "ovito-3.0.0-dev234-x86_64/lib/ovito/" directory. You need to make ldd look in the latter directory by settings the LD_LIBRARY_PATH variable. For example, on my Ubuntu Linux system:

Code: [Select]
stuko@mogli9:~/progs/ovito-3.0.0-dev234-x86_64/lib/ovito/plugins_qt/platforms$ LD_LIBRARY_PATH=../.. ldd libqminimal.so
linux-vdso.so.1 =>  (0x00007ffd2216f000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fbecd43d000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fbecd1fa000)
libQt5Gui.so.5 => /nfshome/stuko/progs/ovito-3.0.0-dev234-x86_64/lib/ovito/plugins_qt/platforms/../../libQt5Gui.so.5 (0x00007fbeccbfa000)
libQt5Core.so.5 => /nfshome/stuko/progs/ovito-3.0.0-dev234-x86_64/lib/ovito/plugins_qt/platforms/../../libQt5Core.so.5 (0x00007fbecc626000)
...

Note that I have added "LD_LIBRARY_PATH=$PWD/../..[/I]" above to let ldd search in the parent directory for .so files. Without that, ldd finds the wrong Qt library versions in the system directory and I get error messages:

Code: [Select]
stuko@mogli9:~/progs/ovito-3.0.0-dev234-x86_64/lib/ovito/plugins_qt/platforms$ ldd libqminimal.so
./libqminimal.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5.10' not found (required by ./libqminimal.so)
./libqminimal.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5' not found (required by ./libqminimal.so)
./libqminimal.so: /usr/lib/x86_64-linux-gnu/libQt5Core.so.5: version `Qt_5_PRIVATE_API' not found (required by ./libqminimal.so)
./libqminimal.so: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5_PRIVATE_API' not found (required by ./libqminimal.so)
./libqminimal.so: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5: version `Qt_5' not found (required by ./libqminimal.so)
linux-vdso.so.1 =>  (0x00007fffb198d000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007fe980c29000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007fe9809e6000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007fe98049e000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007fe97ffc8000)
...

In your case, the same applies to the libstdc++.so library that you copied to the OVITO lib directory. ldd simply doesn't see it and falls back to the system version of libstdc++. That's why you get the error message "./libqminimal.so: /software/centos7/lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ./libqminimal.so)".

The above only matters when running the ldd command. When running ovitos, the program should automatically make sure that libraries are first searched in the OVITO lib directory. libstdc++ and the libQt5*.so libraries should get loaded on startup. Later, when the platform plugins such as libqminimal.so get loaded, the library search path should not matter anymore, because libstdc++ and the libQt5*.so libraries already reside in memory.

The libqminimal.so platform plugin is only used when running ovitos in headless mode without an X server, for example when logged into a remote machine via SSH without active X forwarding. The libqxcb.so platform plugin will be used instead when running on a local machine with an X display, or when logged in to a remote machine with active X forwarding ("ssh -X").

Qt provides a debugging option, which can provide some additional log output: http://doc.qt.io/qt-5/deployment-plugins.html#debugging-plugins

Please try running "QT_DEBUG_PLUGINS=1 bin/ovitos" to see if that produces any additional information that can help us understand what is going wrong.

Kevin

  • Newbie
  • *
  • Posts: 33
Re: which gcc is used to compile ovito?
« Reply #4 on: September 17, 2018, 09:32:28 AM »
Thank you for the reply.

1. For your information, yes, I am running on remote server without active X forwarding.

2. On ovito-2.9.0 version, I ran "QT_DEBUG_PLUGINS=1 bin/ovitos" and the outputs are as follows:

Code: [Select]
[kkim124@jhu.edu@bc-login03 ovito-2.9.0-x86_64]$ QT_DEBUG_PLUGINS=1 bin/ovitos
QFactoryLoader::QFactoryLoader() checking directory path "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so"
Found metadata in lib /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqoffscreen.so"
Found metadata in lib /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqxcb.so"
Found metadata in lib /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/bin/platforms" ...
loaded library "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so"
QLibraryPrivate::loadPlugin failed on "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so" : "Cannot load library /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so: (/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Core.so.5: version `Qt_5.9' not found (required by /software/centos7/lib64/libQt5DBus.so.5))"
This application failed to start because it could not find or load the Qt platform plugin "minimal"
in "".

Available platform plugins are: minimal, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted


Thank you for your prompt and detailed explanation.
-Kyu

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 512
Re: which gcc is used to compile ovito?
« Reply #5 on: September 17, 2018, 09:46:51 AM »
The log output says

Code: [Select]
... (required by /software/centos7/lib64/libQt5DBus.so.5)

This suggests that the library libQt5DBus.so.5 gets loaded during the startup process for some reason. This library module is not included in the standard OVITO installation packages, because I thought it isn't needed by OVITO. But for some reason it is in your case.

Since the module is not included with OVITO, the system version gets loaded, which is not compatible with the other modules from OVITO. That's at least my assumption.

I have attached the matching version of the Qt module from my development machine. Please put it to the others in the OVITO lib directory and see if it gets loaded correctly.

Kevin

  • Newbie
  • *
  • Posts: 33
Re: which gcc is used to compile ovito?
« Reply #6 on: September 17, 2018, 10:25:30 AM »
I put the file you gave under the following directory: "lib/ovito".

But note that under the "lib/ovito/lib" directory, the following files are included:
Code: [Select]
libQt5DBus.so    libQt5DBus.so.5.7    libQt5XcbQpa.so    libQt5XcbQpa.so.5.7
libQt5DBus.so.5  libQt5DBus.so.5.7.0  libQt5XcbQpa.so.5  libQt5XcbQpa.so.5.7.0
I think the file you uploaded in the previous comment is included in "lib/ovito/lib" directory.


Running  "QT_DEBUG_PLUGINS=1 bin/ovitos" results in the following error:

Code: [Select]
[kkim124@jhu.edu@bc-login01 ovito-2.9.0-x86_64]$ QT_DEBUG_PLUGINS=1 bin/ovitos
QFactoryLoader::QFactoryLoader() checking directory path "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so"
Found metadata in lib /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "minimal"
        ]
    },
    "className": "QMinimalIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("minimal")
QFactoryLoader::QFactoryLoader() looking at "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqoffscreen.so"
Found metadata in lib /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqoffscreen.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "offscreen"
        ]
    },
    "className": "QOffscreenIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("offscreen")
QFactoryLoader::QFactoryLoader() looking at "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqxcb.so"
Found metadata in lib /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqxcb.so, metadata=
{
    "IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.3",
    "MetaData": {
        "Keys": [
            "xcb"
        ]
    },
    "className": "QXcbIntegrationPlugin",
    "debug": false,
    "version": 329472
}


Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/bin/platforms" ...
loaded library "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so"
QLibraryPrivate::loadPlugin failed on "/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so" : "Cannot load library /home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/plugins_qt/platforms/libqminimal.so: (/home-net/home-3/kkim124@jhu.edu/opt/ovito/ovito-2.9.0-x86_64/bin/../lib/ovito/libQt5Core.so.5: version `Qt_5.9' not found (required by /software/centos7/lib64/libQt5DBus.so.5))"
This application failed to start because it could not find or load the Qt platform plugin "minimal"
in "".

Available platform plugins are: minimal, offscreen, xcb.

Reinstalling the application may fix this problem.
Aborted

-Kyu

Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 512
Re: which gcc is used to compile ovito?
« Reply #7 on: September 17, 2018, 10:59:59 AM »
Quote
I think the file you uploaded in the previous comment is included in "lib/ovito/lib" directory.
Yes, thanks for noticing, I almost forgot. The libQt5DBus.so.5 file is indeed included in a subdirectory. For some reason, however, it is not found during the startup process.

There are two more things you could do:

1. Run "LD_DEBUG=libs bin/ovitos". The LD_DEBUG environment setting will produce a lot of output, telling what libraries are being searched and in which locations. It would be helpful if you could pipe the produced terminal output to a file and upload it here.

2. Maybe it helps, at least as a workaround, to preload the libQt5DBus.so.5 sheared library using the LD_PRELOAD option when running ovitos:

LD_PRELOAD=/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/lib/libQt5DBus.so bin/ovitos

Kevin

  • Newbie
  • *
  • Posts: 33
Re: which gcc is used to compile ovito?
« Reply #8 on: September 17, 2018, 08:00:40 PM »
1. Attached is the error evoked by running "LD_DEBUG=libs bin/ovitos".

2. Yes. With the preload command, the ovitos runs!!!

Thank you for your help!

-Kyu

Kevin

  • Newbie
  • *
  • Posts: 33
Re: which gcc is used to compile ovito?
« Reply #9 on: October 04, 2018, 07:41:08 AM »
Hello Dr.Stukowski,

I had other errors on this so I am reporting the issue here.

Note that I am running ovitos on remote cluster.

I used the following command to run ovitos as you directed:
Note that I added additional path (Qt5XcbQpa) to preload because I needed to log in with Xforwarding.
With Xforwarding on, ovitos complained that it was missing Qt5XcbQpa.
Code: [Select]
LD_PRELOAD=~/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/lib/libQt5DBus.so:~/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/lib/libQt5XcbQpa.so \
     ovitos2

But after enabling Xforwarding, a problem rises.

When I submit the ovitos job on computing nodes (non-interactively) as follows:
Code: [Select]
LD_PRELOAD=~/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/lib/libQt5DBus.so:~/opt/ovito/ovito-2.9.0-x86_64/lib/ovito/lib/libQt5XcbQpa.so \
     ovitos2 -o cna.ovito \
                auto_movie.py

The error message is:
Code: [Select]
QXcbConnection: Could not connect to display 172.16.5.5:94.0


One thing I noticed is that
when I submit jobs and if the jobs run after I log off from the remote cluster, the error above is given.
But if I stay in the remote cluster then job runs to the end with the error message described below (xkbcommon problem).


Another thing I noticed is that,
when I run ovitos on interactive and non-interactive sessions on computing nodes,
the following error rises:  (Note this error does not rise on login node interactive session)
Code: [Select]
xkbcommon: ERROR: failed to add default include path /usr/share/X11/xkb
Qt: Failed to create XKB context!
Use QT_XKB_CONFIG_ROOT environmental variable to provide an additional search path, add ':' as separator to provide several search paths and/or make sure that XKB configuration data directory contains recent enough contents, to update please see http://cgit.freedesktop.org/xkeyboard-config/ .


Do you have any idea how to fix this?



Alexander Stukowski

  • Administrator
  • Hero Member
  • *****
  • Posts: 512
Re: which gcc is used to compile ovito?
« Reply #10 on: October 19, 2018, 03:05:37 PM »
Hi,

When running ovitos on a remote machine non-interactively, it is always a good idea to clear the DISPLAY environment variable first:
Code: [Select]
export DISPLAY=

If this variable is set, ovitos will think that an X server is running and will try to connect (that's a built in behavior of the Qt library). When running compute jobs on an HPC cluster, the job will typically inherit the current value of the DISPLAY variable when the job is submitted to the queuing system. At this point the DISPLAY variable may be set, because the login node may be running an X server or because your were using X forwarding over SSH. But later, when the job gets executed and ovitos is started, no X server will be available. That's why you should explicitly clear the DISPLAY variable to tell ovitos not to look for an X server.

-Alex