TinkerTools / tinker

Tinker: Software Tools for Molecular Design
https://dasher.wustl.edu/tinker/
Other
130 stars 61 forks source link

install need glibc 2.35 #140

Closed jintianyun56 closed 10 months ago

jintianyun56 commented 10 months ago

Hi there,

I tried to use Tinker 8.10 on my Centos 7.6 and Centos 9 stream. Neither is work. It show "libm.so.6: version glibc 2.34 not found" and "libmvec.so.1 not found" I tried to update the system Glibc and failed. I found the tinker 8.10 need Glibc 2.6 or later. The Glibc 2.17 and 2.34 in Centos 7.6 and Centos 9 stream did not work. Would you like to help me to figure this problem?

Thanks Tianyun

jayponder commented 10 months ago

Hi, This is not really a "Tinker" problem, but a problem with the libraries you are linking against. Tinker is entirely written in very standard Fortran, and can build on almost any machine where there is a correctly installed Fortran compiler that works. On Linux, we recommend the GNU compilers and their gfortran compiler. Are you able to compile and link any other Fortran programs?

One other possibility is that by default the Tinker distribution's Makefile will try to link against libraries we supply in the distribution for FFTW and the GNU compiler. See the Tinker distribution directory /lib/linux for the versions we supply. You might try building your own FFTW libraries- we supply the FFTW source code with the Tinker distribution in the /fftw directory and you can build the libraries there. You might also modify the Makefile for Tinker to have it not use the libgcc and other libraries we supply with the distribution, and instead let your system use the system installed libraries that came with your version of your Fortran compiler.

jintianyun56 commented 10 months ago

Hi,

On my Centos 9 stream, the compiler version is the following: GNU Fortran (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2) g++ (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2) gcc (GCC) 11.4.1 20230605 (Red Hat 11.4.1-2)

The XTB, ORCA, and Gromacs were compiled on my system well. let me tell you the detailed process I try to use Tinker 8.10 1, download and unzip the two bin-linux-8.10.5.tar.gz and tinker-8.10.5.zip, we got the file /root/bin-linux 2, after "ldd /root/bin-linux/scan", there is "/lib64/libmvec.so.1: version `GLIBC_2.35' not found (required by /root/bin-linux/scan)"

I read the README doc in both /tinker/and /tinker/fftw to guide me install tinker 8.10. When I tried to compile the FFTW libraries supplied in the Tinker 8.10 package and Tinker 8.10 on my own, I was not sure it was successful. The /root/tinker/bin/ directory has only README, not someting new. When I use the /root/bin-linux/scan functions, it always shows "/lib64/libmvec.so.1: version `GLIBC_2.35' not found......" which is the same problem with no compiled.

Thanks

jintianyun56 commented 10 months ago

Hi,

I just ran "make install", and saw some compiled files in the /tinker/bin I guess it is compiled well. The test samples run well. Thanks

jayponder commented 10 months ago

What you indicate two messages above (the GLIBC errors) means that our pre-built executables will not work for you. So you will need to build Tinker yourself, by compiling and linking executables. Copy the Makefile from the /make directory of the distribution into /source, in /source uncomment the Linux section at the top of the Makefile (this may already be done), then still in the /source directory run "make" and "make install". This last step should put Tinker executables into the /bin directory of the distribution.

From your message just above, it sounds like you have gotten this to work. Let us know if the executables do not run correctly on your machine. Also, I would note that the version of Tinker you have built is for CPUs only, and is thus very slow for intensive calculations such as long MD simulations. For long production MD simulations, you will want to build and use the companion Tinker9 code which is GPU-capable.