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

Mark Abraham Mark.Abraham at anu.edu.au
Thu Apr 29 02:45:15 CEST 2010


On 29/04/2010 5:22 AM, J. Rui Rodrigues wrote:
> Hi,
>
> So, there is something going wrong here...
> My machine: Mac OS X 10.5.8 with 2 x 3.2 GHz Quad-Core Intel Xeon
>
>
> -->  Compilation of gromacs against fftw3 libs installed with fink (installed in /sw/; no 64-bit libs) goes fine, but results in 32-bit binaries:
> tar xvzf gromacs-4.0.7.tar.gz ; cd gromacs-4.0.7
> ./configure CPPFLAGS=-I/sw/include LDFLAGS=-L/sw/lib --prefix=/usr/local/gromacs407 --program-suffix=407
> make
> sudo make install
> file /usr/local/gromacs407/bin/grompp407
> /usr/local/gromacs407/bin/grompp407: Mach-O executable i386
>
>
> After removing the gromacs-4.0.7 folder and also /usr/local/gromacs407, I tried to compile gromacs against 64-bit fftw libs:
> -->  Compilation of fftw3 64bit (installed in /usr/local/):
> tar xvzf fftw-3.2.2.tar.gz; cd fftw-3.2.2
> ./configure --enable-float CFLAGS=-m64
> make
> sudo make install
>
> -->  Compilation of gromacs against 64-bit fftw libs
> tar xvzf gromacs-4.0.7.tar.gz ; cd gromacs-4.0.7
> ./configure CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib --prefix=/usr/local/gromacs407 --program-suffix=407
> make
>
> This gives an error (see below).  I don't see what I am doing wrong.

It looks fine.

> Please note that compilation of gromacs-4.0.5 against these 64bit fftw libs is OK.
> Do you have any suggestion?
>
> Thanks for your time,
> Rui Rodrigues
>
>
> 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

> Undefined symbols:
>    "_fftwf_execute_dft", referenced from:
>        _gmx_fft_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_3d in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_free", referenced from:
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_execute_dft_c2r", referenced from:
>        _gmx_fft_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_3d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_1d", referenced from:
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_2d", referenced from:
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_3d", referenced from:
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_execute_dft_r2c", referenced from:
>        _gmx_fft_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_3d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_r2c_1d", referenced from:
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_r2c_2d", referenced from:
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_r2c_3d", referenced from:
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_c2r_1d", referenced from:
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_c2r_2d", referenced from:
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_plan_dft_c2r_3d", referenced from:
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_malloc", referenced from:
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>    "_fftwf_destroy_plan", referenced from:
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_destroy in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_1d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_2d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
>        _gmx_fft_init_3d_real in libmd.a(gmx_fft_fftw3.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[3]: *** [grompp] Error 1
> make[2]: *** [all-recursive] Error 1
> make[1]: *** [all] Error 2
> make: *** [all-recursive] Error 1
>
>
>
>
>
>
> On Wed, 28 Apr 2010 13:35:31 -0400, Justin A. Lemkul wrote
>> J. Rui Rodrigues wrote:
>>> Dear all,
>>>
>>> With gromacs-4.0.5, one had the possibility to compile a 64-bit version of gromacs for Mac OS X using configure --
>>> enable-apple-64bit. This was even suggested by configure to improve performance.
>>> With gromacs-4.0.7, the option --enable-apple-64bit of configure has disappeared and configure no longer
>>> suggests to compile in 64-bit. Is this no longer recommended for Mac OSX?
>>
>> This feature is auto-detected in version 4.0.7:
>>
>> http://www.gromacs.org/About_Gromacs/Release_Notes/Revisions_in_4.0
>>
>> -Justin
>>
>>>
>>> Thanks for your time,
>>> Rui Rodrigues
>>>
>>>
>>
>> --
>> ========================================
>>
>> Justin A. Lemkul
>> Ph.D. Candidate
>> ICTAS Doctoral Scholar
>> MILES-IGERT Trainee
>> Department of Biochemistry
>> Virginia Tech
>> Blacksburg, VA
>> jalemkul[at]vt.edu | (540) 231-9080
>> http://www.bevanlab.biochem.vt.edu/Pages/Personal/justin
>>
>> ========================================
>> --
>> gmx-users mailing list    gmx-users at gromacs.org
>> http://lists.gromacs.org/mailman/listinfo/gmx-users
>> Please search the archive at http://www.gromacs.org/search before posting!
>> Please don't post (un)subscribe requests to the list. Use the
>> www interface or send it to gmx-users-request at gromacs.org.
>> Can't post? Read http://www.gromacs.org/mailing_lists/users.php
>
>
> --
> Webmail ESTG de Leiria (http://webmail.estg.ipleiria.pt)



More information about the gromacs.org_gmx-users mailing list