[gmx-users] 64-bit gromacs-4.0.7 for Mac OSX

J. Rui Rodrigues joaquim.rodrigues at estg.ipleiria.pt
Thu Apr 29 14:59:23 CEST 2010


> > Output from make:
> > =================
> > (...)
> > /bin/sh ../../libtool --tag=CC   --mode=link cc  -O3 -fomit-frame-pointer -finline-functions -Wall -Wno-
unused -funroll-all-loops  -L/usr/local/lib  -
> > framework Accelerate -o grompp grompp.o libgmxpreprocess.la ../mdlib/libmd.la ../gmxlib/libgmx.la  -
lxml2  -L/usr/X11/lib -lfftw3f -lm   -lSM -lICE -lX11
> > cc -O3 -fomit-frame-pointer -finline-functions -Wall -Wno-unused -funroll-all-loops -framework 
Accelerate -o grompp grompp.o  -L/usr/local/lib
> > ./.libs/libgmxpreprocess.a -L/usr/X11/lib ../mdlib/.libs/libmd.a /Users/jrui/Desktop/gromacs-
4.0.7/src/gmxlib/.libs/libgmx.a ../gmxlib/.libs/libgmx.a
> > /usr/lib/libxml2.dylib -lpthread -lz -licucore /usr/local/lib/libfftw3f.a -lm /usr/X11/lib/libSM.6.dylib 
/usr/X11/lib/libICE.6.dylib /usr/X11/lib/libX11.6.dylib
> > /usr/X11/lib/libXau.6.dylib /usr/X11/lib/libXdmcp.6.dylib
> > ld warning: in /usr/local/lib/libfftw3f.a, file is not of required architecture
> What does (e.g.) "nm /usr/local/lib/libfftw3f.a" have to say? Also, look 
> at "ls -l /usr/local/lib/libfftw*" to see whether you're picking up 
> versions with the timestamps you expect... Maybe your FFTW configuration 
> only installed dynamic libraries, or something. I don't know why 
> compiling 4.0.5 would have succeeded, however.
> Mark

Here is the output from ls:
ls -l /usr/local/lib/libfftw*
-rw-r--r--  1 root  wheel  2441624 Jul 21  2009 /usr/local/lib/libfftw3.a
-rwxr-xr-x  1 root  wheel      891 Jul 21  2009 /usr/local/lib/libfftw3.la
-rw-r--r--  1 root  wheel  2370752 Jul 21  2009 /usr/local/lib/libfftw3f.a
-rwxr-xr-x  1 root  wheel      894 Jul 21  2009 /usr/local/lib/libfftw3f.la

The output from "nm /usr/local/lib/libfftw3f.a" is so large that it bounced on the mailing list. Here are the first 
nm /usr/local/lib/libfftw3f.a | head
nm: no name list

0000000000000010 s EH_frame1
0000000000000000 T _fftwf_alignment_of
0000000000000028 S _fftwf_alignment_of.eh

0000000000000090 s EH_frame1
0000000000000082 s LC0
000000000000008a s LC1

Also, "nm -arch i386" returns:
nm: file: /usr/local/lib/libfftw3f.a does not contain architecture: i386

while "nm -arch x86_64" returns the same output as nm without options.

Meanwhile, I went ahead and, by comparing the line where the 4.0.7 compilation fails with the corresponding line 
in the 4.0.5 compilation, I noticed that only difference is that the latter contains the cc extra options -m64 -
I guess that 64bit detection is failing. So, I passed these options to configure and the compilation went fine, 
producing the expected 64bit binaries:
./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib --prefix=/usr/local/gromacs407 --
program-suffix=407 CFLAGS="-m64 -std=gnu99"

Rui Rodrigues

More information about the gromacs.org_gmx-users mailing list