m3g / packmol

Packmol - Initial configurations for molecular dynamics simulations
http://m3g.github.io/packmol
MIT License
222 stars 51 forks source link

Mac Installation Error #53

Closed ekwan closed 1 year ago

ekwan commented 1 year ago

Hi, I'm getting an error when I try to link on a MacBook Pro. Any thoughts?

(python) ~/sw/packmol-20.14.2 $ make
 ------------------------------------------------------
 Compiling packmol with /usr/local/bin/gfortran
 Flags: -O3 --fast-math -march=native -funroll-loops
 ------------------------------------------------------
ld: library not found for -lSystem
collect2: error: ld returned 1 exit status
make: *** [all] Error 1
(python) ~/sw/packmol-20.14.2 $ ls
app             README.md         comprest.o        exit_codes.o   gencan_ieee_signal_routines.o  input.mod      random.o      sizes.mod        title.o
src             ahestetic.mod     compute_data.mod  flashmod.o     getinp.o                       input.o        release.sh    sizes.o          tobar.o
testing         ahestetic.o       compute_data.o    flashsort.mod  gparc.o                        jacobi.o       resetboxes.o  solvate.tcl      usegencan.mod
AUTHORS         cenmass.o         computef.o        flashsort.o    gwalls.o                       output.o       restmol.o     strlength.o      usegencan.o
CMakeLists.txt  checkpoint.o      computeg.o        fparc.o        header                         packmol.o      setibox.o     swaptype.o       writesuccess.o
LICENSE         comparegrad.o     configure         fpm.toml       heuristics.o                   pgencan.o      setijk.o      swaptypemod.mod
Makefile        compile_cmake.sh  exit_codes.mod    gencan.o       initial.o                      polartocart.o  setsizes.o    swaptypemod.o
(python) ~/sw/packmol-20.14.2 $
lmiq commented 1 year ago

Are you sure you have a proper Gfortran installation?

One think you can easily try is to use the cmake based build, with:

cmake .
make

That will perhaps throw a different error message.

(Unfortunately I have no Macs to test)

ekwan commented 1 year ago

Yes, I have gfortran:

(base) ~/sw/packmol-20.14.2 $ gfortran --version
GNU Fortran (Homebrew GCC 13.1.0) 13.1.0
Copyright (C) 2023 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

However, cmake worked! There were a few warnings, but packmol seems to run.

(base) ~/sw/packmol-20.14.2 $ cmake .
CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- The Fortran compiler identification is GNU 13.1.0
-- Checking whether Fortran compiler has -isysroot
-- Checking whether Fortran compiler has -isysroot - yes
-- Checking whether Fortran compiler supports OSX deployment target flag
-- Checking whether Fortran compiler supports OSX deployment target flag - yes
-- Detecting Fortran compiler ABI info
-- Detecting Fortran compiler ABI info - done
-- Check for working Fortran compiler: /usr/local/bin/gfortran - skipped
-- Configuring done (3.8s)
-- Generating done (0.0s)
-- Build files have been written to: /Users/kwaneu/sw/packmol-20.14.2
(base) ~/sw/packmol-20.14.2 $ make
[  2%] Building Fortran object CMakeFiles/packmol.dir/src/ahestetic.f90.o
[  5%] Building Fortran object CMakeFiles/packmol.dir/src/sizes.f90.o
[  7%] Building Fortran object CMakeFiles/packmol.dir/src/compute_data.f90.o
[ 10%] Building Fortran object CMakeFiles/packmol.dir/src/exit_codes.f90.o
[ 12%] Building Fortran object CMakeFiles/packmol.dir/src/flashmod.f90.o
[ 15%] Building Fortran object CMakeFiles/packmol.dir/src/input.f90.o
[ 17%] Building Fortran object CMakeFiles/packmol.dir/src/swaptypemod.f90.o
[ 20%] Building Fortran object CMakeFiles/packmol.dir/src/usegencan.f90.o
[ 22%] Building Fortran object CMakeFiles/packmol.dir/src/cenmass.f90.o
[ 25%] Building Fortran object CMakeFiles/packmol.dir/src/gencan.f.o
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:62:37:

   62 |       subroutine evalnal(n,x,m,lambda,rho,g,flag)
      |                                     1
Warning: Unused dummy argument 'lambda' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:62:41:

   62 |       subroutine evalnal(n,x,m,lambda,rho,g,flag)
      |                                         1
Warning: Unused dummy argument 'rho' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:2593:40:

 2593 |      +steabs,epsrel,epsabs,infrel,infabs)
      |                                        1
Warning: Unused dummy argument 'infabs' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:2593:33:

 2593 |      +steabs,epsrel,epsabs,infrel,infabs)
      |                                 1
Warning: Unused dummy argument 'infrel' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:2593:12:

 2593 |      +steabs,epsrel,epsabs,infrel,infabs)
      |            1
Warning: Unused dummy argument 'steabs' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:2592:71:

 2592 |      +fmin,maxfc,iprint,fcnt,inform,xtrial,d,gamma,sigma1,sigma2,sterel,
      |                                                                       1
Warning: Unused dummy argument 'sterel' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3827:61:

 3827 |      +sigma1,sigma2,sterel,steabs,epsrel,epsabs,infrel,infabs)
      |                                                             1
Warning: Unused dummy argument 'infabs' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3827:54:

 3827 |      +sigma1,sigma2,sterel,steabs,epsrel,epsabs,infrel,infabs)
      |                                                      1
Warning: Unused dummy argument 'infrel' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:4:36:

    4 |       subroutine evalal(n,x,m,lambda,rho,f,flag)
      |                                    1
Warning: Unused dummy argument 'lambda' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:4:40:

    4 |       subroutine evalal(n,x,m,lambda,rho,f,flag)
      |                                        1
Warning: Unused dummy argument 'rho' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:2989:19:

 2989 |      +epsabs,infrel,infabs)
      |                   1
Warning: Unused dummy argument 'infrel' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:5187:19:

 5187 |      +steabs,inform)
      |                   1
Warning: Unused dummy argument 'inform' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:5186:52:

 5186 |       subroutine calchd(nind,ind,x,d,g,n,xc,m,lambda,rho,hd,xtmp,sterel,
      |                                                    1
Warning: Unused dummy argument 'lambda' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:5186:56:

 5186 |       subroutine calchd(nind,ind,x,d,g,n,xc,m,lambda,rho,hd,xtmp,sterel,
      |                                                        1
Warning: Unused dummy argument 'rho' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:5187:12:

 5187 |      +steabs,inform)
      |            1
Warning: Unused dummy argument 'steabs' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:5186:71:

 5186 |       subroutine calchd(nind,ind,x,d,g,n,xc,m,lambda,rho,hd,xtmp,sterel,
      |                                                                       1
Warning: Unused dummy argument 'sterel' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:5186:64:

 5186 |       subroutine calchd(nind,ind,x,d,g,n,xc,m,lambda,rho,hd,xtmp,sterel,
      |                                                                1
Warning: Unused dummy argument 'xtmp' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:125:25:

  125 |       subroutine evalhd(n)
      |                         1
Warning: Unused dummy argument 'n' at (1) [-Wunused-dummy-argument]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3361:72:

 3361 |      +             beta ** 2 * dnorm2
      |                                                                        ^
Warning: 'alpha' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3243:31:

 3243 |       double precision aa,alpha,amax,amax1,amax1n,amaxn,amax2,amax2n,
      |                               ^
note: 'alpha' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3361:72:

 3361 |      +             beta ** 2 * dnorm2
      |                                                                        ^
Warning: 'dnorm2' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3244:67:

 3244 |      +        amax2nx,amax2x,bb,bestprog,beta,cc,currprog,dd,dnorm2,dtr,
      |                                                                   ^
note: 'dnorm2' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3361:72:

 3361 |      +             beta ** 2 * dnorm2
      |                                                                        ^
Warning: 'dtr' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3244:71:

 3244 |      +        amax2nx,amax2x,bb,bestprog,beta,cc,currprog,dd,dnorm2,dtr,
      |                                                                       ^
note: 'dtr' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3361:72:

 3361 |      +             beta ** 2 * dnorm2
      |                                                                        ^
Warning: 'dtw' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3245:21:

 3245 |      +        dts,dtw,gnorm2,gts,norm2s,q,qamax,qamaxn,qprev,rnorm2,
      |                     ^
note: 'dtw' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3354:72:

 3354 |           beta = rnorm2 / rnorm2prev
      |                                                                        ^
Warning: 'rnorm2prev' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3246:24:

 3246 |      +        rnorm2prev,snorm2,snorm2prev
      |                        ^
note: 'rnorm2prev' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3502:72:

 3502 |       amax  = min( amax1 , amax2  )
      |                                                                        ^
Warning: 'amax1' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3243:42:

 3243 |       double precision aa,alpha,amax,amax1,amax1n,amaxn,amax2,amax2n,
      |                                          ^
note: 'amax1' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3503:72:

 3503 |       amaxn = max( amax1n, amax2n )
      |                                                                        ^
Warning: 'amax1n' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3243:49:

 3243 |       double precision aa,alpha,amax,amax1,amax1n,amaxn,amax2,amax2n,
      |                                                 ^
note: 'amax1n' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3651:72:

 3651 |               rbdind  = rbdposaind
      |                                                                        ^
Warning: 'rbdposaind' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3242:56:

 3242 |       integer i,itnqmp,rbdnegaind,rbdnegatype,rbdposaind,rbdposatype
      |                                                        ^
note: 'rbdposaind' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3658:14:

 3658 |           if ( rbdtype .eq. 1 ) then
      |              ^
Warning: 'rbdposatype' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:3242:68:

 3242 |       integer i,itnqmp,rbdnegaind,rbdnegatype,rbdposaind,rbdposatype
      |                                                                    ^
note: 'rbdposatype' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:2140:72:

 2140 |               delta = max( delmin, 10.0d0 * sqrt( sts ) )
      |                                                                        ^
Warning: 'sts' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:1677:37:

 1677 |      +        kappa,lamspg,ometa2,sts,sty,xnorm
      |                                     ^
note: 'sts' was declared here
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:2312:35:

 2312 |               if ( iter .eq. 1 .or. sty .le. 0.0d0 ) then
      |                                   ^
Warning: 'sty' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/gencan.f:1677:41:

 1677 |      +        kappa,lamspg,ometa2,sts,sty,xnorm
      |                                         ^
note: 'sty' was declared here
[ 27%] Building Fortran object CMakeFiles/packmol.dir/src/gencan_ieee_signal_routines.f90.o
[ 30%] Building Fortran object CMakeFiles/packmol.dir/src/pgencan.f90.o
[ 32%] Building Fortran object CMakeFiles/packmol.dir/src/initial.f90.o
[ 35%] Building Fortran object CMakeFiles/packmol.dir/src/title.f90.o
[ 37%] Building Fortran object CMakeFiles/packmol.dir/src/setsizes.f90.o
[ 40%] Building Fortran object CMakeFiles/packmol.dir/src/getinp.f90.o
/Users/kwaneu/sw/packmol-20.14.2/src/getinp.f90:962:11:

  962 |         if(ires.ne.ireslast) then
      |           ^
Warning: 'ireslast' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/getinp.f90:947:34:

  947 |   integer :: iread, ires, ireslast, nres, ioerr
      |                                  ^
note: 'ireslast' was declared here
[ 42%] Building Fortran object CMakeFiles/packmol.dir/src/strlength.f90.o
[ 45%] Building Fortran object CMakeFiles/packmol.dir/src/output.f90.o
/Users/kwaneu/sw/packmol-20.14.2/src/output.f90:571:32:

  571 |         nres = ilres - ifres + 1
      |                                ^
Warning: 'ilres' may be used uninitialized [-Wmaybe-uninitialized]
/Users/kwaneu/sw/packmol-20.14.2/src/output.f90:18:53:

   18 |              irest, iimol, ichain, iatom, irec, ilres, ifres,&
      |                                                     ^
note: 'ilres' was declared here
[ 47%] Building Fortran object CMakeFiles/packmol.dir/src/checkpoint.f90.o
[ 50%] Building Fortran object CMakeFiles/packmol.dir/src/writesuccess.f90.o
[ 52%] Building Fortran object CMakeFiles/packmol.dir/src/fparc.f90.o
[ 55%] Building Fortran object CMakeFiles/packmol.dir/src/gparc.f90.o
[ 57%] Building Fortran object CMakeFiles/packmol.dir/src/gwalls.f90.o
[ 60%] Building Fortran object CMakeFiles/packmol.dir/src/comprest.f90.o
[ 62%] Building Fortran object CMakeFiles/packmol.dir/src/comparegrad.f90.o
[ 65%] Building Fortran object CMakeFiles/packmol.dir/app/packmol.f90.o
/Users/kwaneu/sw/packmol-20.14.2/app/packmol.f90:50:42:

   50 |   integer :: i, iline, iiatom, iat, iirest, iratcount, ival
      |                                          ^
Warning: 'iirest' may be used uninitialized [-Wmaybe-uninitialized]
[ 67%] Building Fortran object CMakeFiles/packmol.dir/src/polartocart.f90.o
[ 70%] Building Fortran object CMakeFiles/packmol.dir/src/resetboxes.f90.o
[ 72%] Building Fortran object CMakeFiles/packmol.dir/src/tobar.f90.o
[ 75%] Building Fortran object CMakeFiles/packmol.dir/src/setijk.f90.o
[ 77%] Building Fortran object CMakeFiles/packmol.dir/src/setibox.f90.o
[ 80%] Building Fortran object CMakeFiles/packmol.dir/src/restmol.f90.o
[ 82%] Building Fortran object CMakeFiles/packmol.dir/src/swaptype.f90.o
[ 85%] Building Fortran object CMakeFiles/packmol.dir/src/heuristics.f90.o
[ 87%] Building Fortran object CMakeFiles/packmol.dir/src/flashsort.f90.o
[ 90%] Building Fortran object CMakeFiles/packmol.dir/src/jacobi.f90.o
[ 92%] Building Fortran object CMakeFiles/packmol.dir/src/random.f90.o
[ 95%] Building Fortran object CMakeFiles/packmol.dir/src/computef.f90.o
[ 97%] Building Fortran object CMakeFiles/packmol.dir/src/computeg.f90.o
[100%] Linking Fortran executable packmol
[100%] Built target packmol
lmiq commented 1 year ago

The warnings are fine. I'll see if I deprecate the older Makefile.

Let me know if you have any other issue.