[gmx-users] error installing fftw-2.15 with mpi in ia64 system
Roman Affentranger
roman.affentranger at bc.biol.ethz.ch
Fri Apr 22 10:02:06 CEST 2005
Roman Affentranger wrote:
> Jesus Salgado wrote:
>
>> Hi all,
>>
>> We are trying Gromacs-3.2.1 in an Itanium II SGI Altix 3700 cluster.
>> Compilation without mpi goes smooth. Performance is also OK, for both
>> single and double precision, with following benchmarks (for villin):
>> 5857.2ps/NODE.day (single); 5000.136ps/NODE.day (double).
>>
>> But I am having trobles to compile fftw-2.1.5 with --enable-mpi. I
>> get following error after Make:
>>
>> ../fftw/.libs/libsfftw.a(twiddle.o)(.text+0x852): In function
>> `fftw_compute_rader_twiddle':
>> : undefined reference to `__libm_sincos'
>> ../fftw/.libs/libsfftw.a(twiddle.o)(.text+0x11f2): In function
>> `fftw_compute_twiddle':
>> : undefined reference to `__libm_sincos'
>> ../fftw/.libs/libsfftw.a(twiddle.o)(.text+0x1762): In function
>> `fftw_compute_twiddle':
>> : undefined reference to `__libm_sincos'
>> collect2: ld returned 1 exit status
>> make[1]: *** [test_sched] Error 1
>> make[1]: Leaving directory `/usus/sa/salgado/fftw-2.1.5/mpi'
>> make: *** [all-recursive] Error 1
>>
>> I'm using the Intel compilers (version 8.1).
>>
>> Any idea?
>>
>> Thanks,
>> Jesus
>>
>>
> Hi Jesus
>
> The intel compiler does not like variable names starting with
> underscores.
> To the CFLAGS and CXXFLAGS add something like
> -D__libm_sincos=mylibmsincos
> to rename __libm_sincos (or whatever other name you like to give
> __libm_sincos instead of mylibmsincos).
> Run configure again with these CFLAGS/CXXFLAGS and make should work.
>
> Good luck
>
> Roman
Sorry, forgot a few things...
If you want to use intel compilers, you should also compile mpi using
the intel compilers.
When compiling fftw/gromacs with mpi support it uses the compiler
pointed to by the
environment variable MPICC (e.g. /usr/local/bin/mpicc), which basically
is the gcc compiler
(as far as I know. I am by no means an expert on things like that...).
I've had some problems trying to compile mpi with the intel compiler,
but finally got it to work using
mpi version 7.1.1. A similar problem occurred as you describe above, and
I had to add
-D__interface=myinterface
to CFLAGS and CXXFLAGS (here setting CXXFLAGS is necessary. Probably not
for
fftw and gromacs). To summarize: I compiled lam-mpi with intel compilers
by setting
- FC=ifc
- CC=icc
- CXX=icpc
(given /opt/intel_cc_80/bin and /opt/intel_fc_80/bin are in your PATH)
- adding -I/opt/intel_cc_80/include to CPPFLAGS
- adding -L/opt/intel_cc_80/lib and -L/opt/intel_fc_80/lib to
LDFLAGS in case they are not in
your LD_LIBRARY_PATH
- adding -D__interface=myinterface to CFLAGS and CXXFLAGS (in
addition to any other options)
If you don't want the original mpicc overwritten, use --prefix option.
Then, to compile fftw/gromacs
with the "new" mpicc, simply set MPICC to point to the "new" mpicc compiler.
Cheers
Roman
-----------------------------------------------------------------
Roman Affentranger
Swiss Federal Institute of Technology Zurich
Institute of Biochemistry
Schafmattstrasse 18
ETH Hoenggerberg HPM G 9.3
8093 Zurich
Switzerland
More information about the gromacs.org_gmx-users
mailing list