[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
to CFLAGS and CXXFLAGS (here setting CXXFLAGS is necessary. Probably not 
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.



Roman Affentranger
Swiss Federal Institute of Technology Zurich
Institute of Biochemistry
Schafmattstrasse 18
ETH Hoenggerberg HPM G 9.3
8093 Zurich

More information about the gromacs.org_gmx-users mailing list