AMBER Archive (2009)

Subject: Re: [AMBER] compiling amber10 with mac intel, ifort/icc and mpi

From: David Watson (dewatson_at_olemiss.edu)
Date: Thu Jun 11 2009 - 07:43:28 CDT


On Jun 11, 2009, at 6:14 AM, Alan wrote:

> So I did (as following the basic approach as in the manual, with
> gfortran
> instead of g95):make clean
> ./configure_amber -lamsource gfortran
> ./configure_lam
> make parallel
>
> And got:
>
> [snip]
> /Users/alan/Programmes/amber10/bin/mpif77 -ffree-form -o sander.MPI
> constants.o nose_hoover.o [snip] ncsu-smd-hooks.o ncsu-umbrella.o
> ncsu-utils.o ncsu-value.o ../netcdf/lib/libnetcdf.a
> ld warning: duplicate dylib /sw/lib/gcc4.4/lib/libgcc_s.1.dylib

It appears that you have Fink installed.
Are you sure that you want to use the gcc provided with Fink?
If you simply need gfortran, try installing R, as they have gone
through the trouble of compiling it and providing it with their
installation package.
Then try compiling with the system gcc/gfortran by commenting out the
appropriate line in your bash init scripts (the one that sources the
file in /sw) and logging into a new Terminal.

As far as mpi goes, Apple does provide openmpi, but unfortunately this
is not compiled with support for fortran routines, which means you
will need to get the source for gfortran and the base gcc collection,
then compile your own version if you need mpi.
Then you have to specify the full path to your version of mpirun to
override the one in /usr/bin.

> Undefined symbols:
> "_lam_f77init", referenced from:
> _lam_f77init$non_lazy_ptr in liblamf77mpi.a(init_f.o)
> "_lam_mpi_comm_world", referenced from:
> [snip]
> _mpi_recv_ in liblamf77mpi.a(recv_f.o)
> _mpi_wait_ in liblamf77mpi.a(wait_f.o)
> ld: symbol(s) not found
> collect2: ld returned 1 exit status
> make[1]: *** [sander.MPI] Error 1
> make: *** [parallel] Error 2
>
>
> On Wed, Jun 10, 2009 at 17:54, David A. Case
> <case_at_biomaps.rutgers.edu>wrote:
>
>> On Wed, Jun 10, 2009, Alan wrote:
>>
>>> ./configure_amber -nosanderidc -mpi -p4 gfortran
>>
>>> Undefined symbols:
>>>
>>> "_mpi_reduce_", referenced from:
>>
>> Your build is not finding the MPI libraries. I have no idea where
>> they are
>> on
>> your computer. When you use the "-mpi" flag, the configure script
>> assumes
>> that the required MPI libraries will be found. If not, you have to
>> edit
>> config_amber.h to add the correct paths to the LOADLIB variable.
>>
>> As a start, run configure_amber with the -lamsource option instead
>> of -mpi.
>> This should(!) compile with gfortran (does on other platforms) and
>> will
>> automatically put all the correct paths into the build scripts.
>> (Be sure
>> to
>> run configure_lam as the script instructs you to do; also, I'd still
>> suggest
>> leaving off the "-j 2" flag to make..parallel makes have not been
>> tested
>> much.
>>
>> ...hope this helps....dac

_______________________________________________
AMBER mailing list
AMBER_at_ambermd.org
http://lists.ambermd.org/mailman/listinfo/amber