[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