[gmx-users] compilation fails on MAC OSX - Leopard

Hadas Leonov hleonov at cc.huji.ac.il
Sun Nov 18 15:28:11 CET 2007


Hi,

Thanks for your reply.
I have succeeded to compile Gromacs on Leopard after the two following  
changes:
1. disabling the optimization for ia32 with the options : --disable- 
ia32-sse --disable-ia32-3dnow
2. installing open-mpi. For some reason "make" had a problem with the  
lam-mpi libraries after passing the ia32 problem.

The problem now is that Gromacs runs much slower than it used to.  
Position Restraints that should have taken 2 hours, is now taking 5-6  
hours. Could it be the ia32 optimization (even though it's not the Mac  
Pro architechture?

Thanks,
Hadas.

P.S same compilation problems (ia32, lam) happens on Version 3.3.1

On Nov 15, 2007, at 2:05 PM, Carsten Kutzner wrote:

> Hi Hadas,
>
> I think the problem is that the make command for some reason thinks it
> should build the Itanium inner loops:
>
>> ld: in ../gmxlib/.libs/libgmx_mpi.a(nb_kernel204_ia32_sse.o), in
>
> though on your machine the x86_64 kernels should be build. Probably  
> one
> can set the correct architecture with a flag to the configure command
> like --build=... or --host=...
>
> But I'm not an expert here.
>
> Carsten
>
>
> Hadas Leonov wrote:
>> Hi all,
>>
>> I am trying to install Gromacs 3.3.2 on the new Leopard Mac OSX.  
>> the OSX
>> was installed anew, and not from an upgrade. Developer tools were
>> installed too.
>>
>> I have already compiled and installed lam-7.0.6 and fftw-3.0.1  
>> (single
>> and double precision) without a problem.
>> The configure parameters were:
>>
>> for lam: ./configure --with-fc=/usr/local/bin/gfortran
>> for fftw (single): ./configure --enable-float --enable-threads -- 
>> enable-sse
>> for fftw (double): ./configure --enable-threads --enable-sse2
>>
>>
>> For gromacs, the configuration is:  ./configure --enable-mpi
>> when I type make, compilation begins and end with the following  
>> lines:
>>
>> mpicc -I/sw/include -framework Accelerate -o grompp topio.o toppush.o
>> topcat.o topshake.o convparm.o tomorse.o sorting.o splitter.o
>> vsite_parm.o readir.o add_par.o topexcl.o toputil.o topdirs.o  
>> grompp.o
>> compute_io.o  -L/usr/local/lib ../mdlib/.libs/libmd_mpi.a -L/usr/ 
>> X11/lib
>> -L/sw/lib ../gmxlib/.libs/libgmx_mpi.a /usr/local/lib/libfftw3f.a -lm
>> /usr/X11/lib/libSM.6.0.0.dylib /usr/X11/lib/libICE.6.3.0.dylib
>> /usr/X11/lib/libX11.6.2.0.dylib /usr/X11/lib/libXau.6.0.0.dylib
>> /usr/X11/lib/libXdmcp.6.0.0.dylib
>> ld: in ../gmxlib/.libs/libgmx_mpi.a(nb_kernel204_ia32_sse.o), in  
>> section
>> __TEXT,__text reloc 1: bad pc-rel vanilla relocation length
>>
>> 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
>>
>> attached below is configure output for Gromacs.
>>
>> Has anyone else encountered this problem or has any idea how to deal
>> with it ?
>>
>> Thanks in advance,
>>
>> Hadas Leonov.
>> hleonov at cc.huji.ac.il <mailto:hleonov at cc.huji.ac.il>
>> Department of Biological Chemistry
>> Alexander Silberman institute of Life Sciences
>> The Hebrew University,
>> Jerusalem, Israel
>>
>>
>> ------------------------------------------------------------------------
>>
>> checking build system type... i386-apple-darwin9.0.0
>> checking host system type... i386-apple-darwin9.0.0
>> checking for a BSD-compatible install... /usr/bin/install -c
>> checking whether build environment is sane... yes
>> checking for a thread-safe mkdir -p... config/install-sh -c -d
>> checking for gawk... no
>> checking for mawk... no
>> checking for nawk... no
>> checking for awk... awk
>> checking whether make sets $(MAKE)... yes
>> checking how to create a ustar tar archive... gnutar
>> checking for cc... cc
>> checking for C compiler default output file name... a.out
>> checking whether the C compiler works... yes
>> checking whether we are cross compiling... no
>> checking for suffix of executables...
>> checking for suffix of object files... o
>> checking whether we are using the GNU C compiler... yes
>> checking whether cc accepts -g... yes
>> checking for cc option to accept ISO C89... none needed
>> checking for style of include used by make... GNU
>> checking dependency style of cc... gcc3
>> checking dependency style of cc... gcc3
>> checking for mpxlc... no
>> checking for mpicc... mpicc
>> checking whether the MPI cc command works... yes
>> checking how to run the C preprocessor... mpicc -E
>> checking whether mpicc accepts -O3... yes
>> checking whether mpicc accepts -malign-double... yes
>> checking whether mpicc accepts -funroll-all-loops... yes
>> ******************************************
>> * Using CFLAGS from environment variable *
>> ******************************************
>> checking for grep that handles long lines and -e... /usr/bin/grep
>> checking for egrep... /usr/bin/grep -E
>> checking for ANSI C header files... yes
>> checking for sys/types.h... yes
>> checking for sys/stat.h... yes
>> checking for stdlib.h... yes
>> checking for string.h... yes
>> checking for memory.h... yes
>> checking for strings.h... yes
>> checking for inttypes.h... yes
>> checking for stdint.h... yes
>> checking for unistd.h... yes
>> checking whether byte ordering is bigendian... no
>> checking for int... yes
>> checking size of int... 4
>> checking for long int... yes
>> checking size of long int... 4
>> checking for long long int... yes
>> checking size of long long int... 8
>> checking floating-point format... IEEE754 (little-endian byte and  
>> word order)
>> checking for a BSD-compatible install... /usr/bin/install -c
>> checking whether ln -s works... yes
>> checking whether make sets $(MAKE)... (cached) yes
>> checking for a sed that does not truncate output... /usr/bin/sed
>> checking for ld used by mpicc... /usr/libexec/gcc/i686-apple- 
>> darwin9/4.0.1/ld
>> checking if the linker (/usr/libexec/gcc/i686-apple-darwin9/4.0.1/ 
>> ld) is GNU ld... no
>> checking for /usr/libexec/gcc/i686-apple-darwin9/4.0.1/ld option to  
>> reload object files... -r
>> checking for BSD-compatible nm... /usr/bin/nm -p
>> checking how to recognise dependent libraries... pass_all
>> checking dlfcn.h usability... yes
>> checking dlfcn.h presence... yes
>> checking for dlfcn.h... yes
>> checking for g++... g++
>> checking whether we are using the GNU C++ compiler... yes
>> checking whether g++ accepts -g... yes
>> checking dependency style of g++... gcc3
>> checking how to run the C++ preprocessor... g++ -E
>> checking the maximum length of command line arguments... 196608
>> checking command to parse /usr/bin/nm -p output from mpicc  
>> object... ok
>> checking for objdir... .libs
>> checking for ar... ar
>> checking for ranlib... ranlib
>> checking for strip... strip
>> checking if mpicc supports -fno-rtti -fno-exceptions... no
>> checking for mpicc option to produce PIC... -fno-common
>> checking if mpicc PIC flag -fno-common works... yes
>> checking if mpicc static flag -static works... no
>> checking if mpicc supports -c -o file.o... yes
>> checking whether the mpicc linker (/usr/libexec/gcc/i686-apple- 
>> darwin9/4.0.1/ld) supports shared libraries... yes
>> checking dynamic linker characteristics... darwin9.0.0 dyld
>> checking how to hardcode library paths into programs... immediate
>> checking whether stripping libraries is possible... yes
>> checking if libtool supports shared libraries... yes
>> checking whether to build shared libraries... no
>> checking whether to build static libraries... yes
>> configure: creating libtool
>> appending configuration tag "CXX" to libtool
>> checking for ld used by g++... /usr/libexec/gcc/i686-apple- 
>> darwin9/4.0.1/ld
>> checking if the linker (/usr/libexec/gcc/i686-apple-darwin9/4.0.1/ 
>> ld) is GNU ld... no
>> checking whether the g++ linker (/usr/libexec/gcc/i686-apple- 
>> darwin9/4.0.1/ld) supports shared libraries... yes
>> checking for g++ option to produce PIC... -fno-common
>> checking if g++ PIC flag -fno-common works... yes
>> checking if g++ static flag -static works... no
>> checking if g++ supports -c -o file.o... yes
>> checking whether the g++ linker (/usr/libexec/gcc/i686-apple- 
>> darwin9/4.0.1/ld) supports shared libraries... yes
>> checking dynamic linker characteristics... darwin9.0.0 dyld
>> checking how to hardcode library paths into programs... immediate
>> appending configuration tag "F77" to libtool
>> checking if libtool supports shared libraries... yes
>> checking whether to build shared libraries... no
>> checking whether to build static libraries... yes
>> checking for /usr/local/bin/gfortran option to produce PIC... -fno- 
>> common
>> checking if /usr/local/bin/gfortran PIC flag -fno-common works... yes
>> checking if /usr/local/bin/gfortran static flag -static works... no
>> checking if /usr/local/bin/gfortran supports -c -o file.o... yes
>> checking whether the /usr/local/bin/gfortran linker (/usr/libexec/ 
>> gcc/i686-apple-darwin9/4.0.1/ld) supports shared libraries... yes
>> checking dynamic linker characteristics... darwin9.0.0 dyld
>> checking how to hardcode library paths into programs... immediate
>> checking for special C compiler options needed for large files... no
>> checking for _FILE_OFFSET_BITS value needed for large files... no
>> checking for _LARGEFILE_SOURCE value needed for large files... no
>> checking for sqrt in -lm... yes
>> checking for fftw3.h... yes
>> checking for main in -lfftw3f... yes
>> checking rpc/rpc.h usability... yes
>> checking rpc/rpc.h presence... yes
>> checking for rpc/rpc.h... yes
>> checking for rpc/xdr.h... yes
>> checking for xdr_float in -lnsl... no
>> checking for working memcmp... yes
>> checking return type of signal handlers... void
>> checking for vprintf... yes
>> checking for _doprnt... no
>> checking if malloc debugging is wanted... no
>> checking for strcasecmp... yes
>> checking for strdup... yes
>> checking for bool... no
>> checking for X... libraries /usr/X11/lib, headers /usr/X11/include
>> checking whether -R must be followed by a space... no
>> checking for gethostbyname... yes
>> checking for connect... yes
>> checking for remove... yes
>> checking for shmat... yes
>> checking for IceConnectionNumber in -lICE... yes
>> checking for Motif... libraries (none), headers in default path
>> checking for libXext and libXp... no
>> checking for only libXext... no
>> checking limits.h usability... yes
>> checking limits.h presence... yes
>> checking for limits.h... yes
>> checking for strings.h... (cached) yes
>> checking for unistd.h... (cached) yes
>> checking for unistd.h... (cached) yes
>> checking for an ANSI C-conforming const... yes
>> checking for size_t... yes
>> checking whether struct tm is in sys/time.h or time.h... time.h
>> checking for uid_t in sys/types.h... yes
>> checking for inline... inline
>> checking whether your compiler can handle assembly files (*.s)... yes
>> checking whether as fully supports ia32 SSE... yes
>> checking whether as fully supports ia32 3DNow! instructions... yes
>> checking whether byte ordering is bigendian... (cached) no
>> checking if the compiler supports gcc inline assembly... yes
>> checking if the compiler supports MSVC inline assembly... no
>> configure: creating ./config.status
>> config.status: creating Makefile
>> config.status: creating src/Makefile
>> config.status: creating src/gmxlib/Makefile
>> config.status: creating src/gmxlib/gmx_blas/Makefile
>> config.status: creating src/gmxlib/gmx_lapack/Makefile
>> config.status: creating src/gmxlib/nonbonded/Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel/Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_ia32_3dnow/ 
>> Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_ia32_sse/ 
>> Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_ia32_sse2/ 
>> Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_x86_64_sse/ 
>> Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_x86_64_sse2/ 
>> Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_ppc_altivec/ 
>> Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_ia64_single/ 
>> Makefile
>> config.status: creating src/gmxlib/nonbonded/nb_kernel_ia64_double/ 
>> Makefile
>> config.status: creating include/Makefile
>> config.status: creating include/types/Makefile
>> config.status: creating src/mdlib/Makefile
>> config.status: creating src/kernel/Makefile
>> config.status: creating src/tools/Makefile
>> config.status: creating src/ngmx/Makefile
>> config.status: creating src/contrib/Makefile
>> config.status: creating scripts/Makefile
>> config.status: creating admin/Makefile
>> config.status: creating share/Makefile
>> config.status: creating share/tutor/Makefile
>> config.status: creating share/tutor/gmxdemo/Makefile
>> config.status: creating share/tutor/nmr1/Makefile
>> config.status: creating share/tutor/nmr2/Makefile
>> config.status: creating share/tutor/water/Makefile
>> config.status: creating share/tutor/mixed/Makefile
>> config.status: creating share/tutor/methanol/Makefile
>> config.status: creating share/tutor/speptide/Makefile
>> config.status: creating share/template/Makefile
>> config.status: creating share/top/Makefile
>> config.status: creating share/html/Makefile
>> config.status: creating share/html/images/Makefile
>> config.status: creating share/html/online/Makefile
>> config.status: creating man/Makefile
>> config.status: creating man/man1/Makefile
>> config.status: creating src/config.h
>> config.status: executing depfiles commands
>>
>> * Seems you are compiling with MPI support. You can install the MPI-
>>  enabled programs with suffixed names to have both MPI and non-MPI
>>  versions. This is useful e.g. on supercomputers where you usually
>>  cannot run MPI-linked programs on the login node.
>>  Set a suffix with e.g. --program-suffix=_mpi (or _mpi_d for double).
>>  You only need MPI for mdrun, so if you already have non-MPI stuff
>>  installed you can issue make mdrun; make install-mdrun.
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> gmx-users mailing list    gmx-users at gromacs.org
>> http://www.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
> _______________________________________________
> gmx-users mailing list    gmx-users at gromacs.org
> http://www.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
>

hleonov at cc.huji.ac.il
Department of Biological Chemistry
Alexander Silberman institute of Life Sciences
The Hebrew University,
Jerusalem, Israel




More information about the gromacs.org_gmx-users mailing list