Hi, you might also need to use the mpiicc compiler wrapper instead of the mpicc to enforce using icc instead of gcc.
Carsten On Dec 13, 2010, at 2:20 PM, Mark Abraham wrote: > > > On 12/13/10, "Miah Wadud Dr (ITCS)" <w.m...@uea.ac.uk> wrote: >> Hello, >> >> I am trying to build Gromacs 4.5.3 using the Intel compiler, but I am >> encountering the following problems when I type "make": > > It seems like there's some mismatch between how FFTW was compiled and how > you're linking to it. Try a fresh FFTW compilation with this compiler, etc. > > Mark >> >> /bin/sh ../../libtool --tag=CC --mode=link mpicc -O3 -tpp7 -axW -ip -w >> -msse2 -funroll-all-loops -std=gnu99 -L/gpfs/grace/fftw-3.2.2/lib -o >> grompp grompp.o libgmxpreprocess_mpi_d.la ../mdlib/libmd_mpi_d.la >> ../gmxlib/libgmx_mpi_d.la -lnsl -lm >> mpicc -O3 -tpp7 -axW -ip -w -msse2 -funroll-all-loops -std=gnu99 -o grompp >> grompp.o -L/gpfs/grace/fftw-3.2.2/lib ./.libs/libgmxpreprocess_mpi_d.a >> /gpfs/ueasystem/grace/gromacs-4.5.3/src/mdlib/.libs/libmd_mpi_d.a >> ../mdlib/.libs/libmd_mpi_d.a /gpfs/grace/fftw-3.2.2/lib/libfftw3.a >> /gpfs/ueasystem/grace/gromacs-4.5.3/src/gmxlib/.libs/libgmx_mpi_d.a >> ../gmxlib/.libs/libgmx_mpi_d.a -lnsl -lm >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(mapflags.o): In function >> `timelimit_to_flags': >> /gpfs/ueasystem/grace/fftw-3.2.2/api/./mapflags.c:70: undefined reference to >> `__fmth_i_dlog' >> /gpfs/ueasystem/grace/fftw-3.2.2/api/./mapflags.c:70: undefined reference to >> `__fmth_i_dlog' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(timer.o): In function `elapsed': >> /gpfs/ueasystem/grace/fftw-3.2.2/kernel/./cycle.h:244: undefined reference >> to `__mth_i_dfloatuk' >> /gpfs/ueasystem/grace/fftw-3.2.2/kernel/./cycle.h:244: undefined reference >> to `__mth_i_dfloatuk' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(generic.o): In function `apply': >> /gpfs/ueasystem/grace/fftw-3.2.2/dft/./generic.c:73: undefined reference to >> `__builtin_alloca' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(lt8-generic.o): In function >> `apply_r2hc': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./generic.c:74: undefined reference to >> `__builtin_alloca' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(lt8-generic.o): In function >> `apply_hc2r': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./generic.c:128: undefined reference >> to `__builtin_alloca' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(vrank3-transpose.o): In function >> `transpose_toms513': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./vrank3-transpose.c:536: undefined >> reference to `__c_mzero1' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(trig.o): In function `real_cexp': >> /gpfs/ueasystem/grace/fftw-3.2.2/kernel/./trig.c:65: undefined reference to >> `__fmth_i_dsincos' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(dht-rader.o): In function `apply': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./dht-rader.c:79: undefined reference >> to `__c_mzero8' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(dht-rader.o): In function `mkomega': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./dht-rader.c:184: undefined reference >> to `__c_mzero8' >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./dht-rader.c:187: undefined reference >> to `__c_mcopy8_bwd' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(ct-hc2c-direct.o): In function >> `apply_buf': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./ct-hc2c-direct.c:130: undefined >> reference to `__builtin_alloca' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(dftw-direct.o): In function >> `apply_buf': >> /gpfs/ueasystem/grace/fftw-3.2.2/dft/./dftw-direct.c:103: undefined >> reference to `__builtin_alloca' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(direct.o): In function `apply_buf': >> /gpfs/ueasystem/grace/fftw-3.2.2/dft/./direct.c:74: undefined reference to >> `__builtin_alloca' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(direct-r2c.o): In function `iterate': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./direct-r2c.c:129: undefined >> reference to `__builtin_alloca' >> /gpfs/grace/fftw-3.2.2/lib/libfftw3.a(hc2hc-direct.o): In function >> `apply_buf': >> /gpfs/ueasystem/grace/fftw-3.2.2/rdft/./hc2hc-direct.c:96: undefined >> reference to `__builtin_alloca' >> make[3]: *** [grompp] Error 1 >> make[3]: Leaving directory `/gpfs/ueasystem/grace/gromacs-4.5.3/src/kernel' >> make[2]: *** [all-recursive] Error 1 >> make[2]: Leaving directory `/gpfs/ueasystem/grace/gromacs-4.5.3/src' >> make[1]: *** [all] Error 2 >> make[1]: Leaving directory `/gpfs/ueasystem/grace/gromacs-4.5.3/src' >> make: *** [all-recursive] Error 1 >> [r...@head00 gromacs-4.5.3]# >> >> Any help will be greatly appreciated. The configure command prints the >> following: >> >> [r...@head00 gromacs-4.5.3]# ./configure --enable-double --enable-mpi >> --program-suffix=_mpi_d --prefix=/gpfs/grace/gromacs-4.5.3 >> checking build system type... x86_64-unknown-linux-gnu >> checking host system type... x86_64-unknown-linux-gnu >> checking for a BSD-compatible install... /usr/bin/install -c >> checking whether build environment is sane... yes >> checking for a thread-safe mkdir -p... /bin/mkdir -p >> checking for gawk... gawk >> checking whether make sets $(MAKE)... yes >> checking how to create a ustar tar archive... gnutar >> 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 /gpfs/grace/intel/Compiler/11.1/073/bin/intel64/icc accepts >> -g... yes >> checking for /gpfs/grace/intel/Compiler/11.1/073/bin/intel64/icc option to >> accept ISO C89... none needed >> checking for style of include used by make... GNU >> checking dependency style of >> /gpfs/grace/intel/Compiler/11.1/073/bin/intel64/icc... gcc3 >> checking dependency style of >> /gpfs/grace/intel/Compiler/11.1/073/bin/intel64/icc... gcc3 >> checking for mpxlc... no >> checking for mpicc... mpicc >> checking whether the MPI cc command works... yes >> checking for MPI_IN_PLACE in collective operations... yes >> checking for catamount... no >> checking how to run the C preprocessor... mpicc -E >> checking for grep that handles long lines and -e... /bin/grep >> checking for egrep... /bin/grep -E >> checking whether ln -s works... yes >> checking whether mpicc accepts -msse2... yes >> checking whether mpicc accepts -funroll-all-loops... yes >> checking whether mpicc accepts -std=gnu99... yes >> checking whether mpicc accepts -fexcess-precision=fast... no >> checking whether mpicc accepts -O3 -tpp7 -axW -ip -w -msse2 >> -funroll-all-loops -std=gnu99... yes >> checking whether byte ordering is bigendian... no >> checking that size_t can hold pointers... yes >> checking for SIGUSR1... yes >> checking for pipes... yes >> checking floating-point format... IEEE754 (little-endian byte and word order) >> checking whether ln -s works... yes >> checking whether make sets $(MAKE)... (cached) yes >> checking for a sed that does not truncate output... /bin/sed >> checking for ld used by mpicc... /usr/bin/ld >> checking if the linker (/usr/bin/ld) is GNU ld... yes >> checking for /usr/bin/ld option to reload object files... -r >> checking for BSD-compatible nm... /usr/bin/nm -B >> checking how to recognise dependent libraries... pass_all >> checking dlfcn.h usability... yes >> checking dlfcn.h presence... yes >> checking for dlfcn.h... yes >> checking whether we are using the GNU C++ compiler... yes >> checking whether mpicc accepts -g... yes >> checking dependency style of mpicc... gcc3 >> checking how to run the C++ preprocessor... mpicc -E >> checking the maximum length of command line arguments... 32768 >> checking command to parse /usr/bin/nm -B 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... yes >> checking for mpicc option to produce PIC... -fPIC >> checking if mpicc PIC flag -fPIC 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/bin/ld -m elf_x86_64) supports >> shared libraries... yes >> checking dynamic linker characteristics... GNU/Linux ld.so >> checking how to hardcode library paths into programs... immediate >> checking whether stripping libraries is possible... yes >> checking for shl_load... no >> checking for shl_load in -ldld... no >> checking for dlopen... yes >> checking whether a program can dlopen itself... yes >> checking whether a statically linked program can dlopen itself... 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 mpicc... /usr/bin/ld -m elf_x86_64 >> checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes >> checking whether the mpicc linker (/usr/bin/ld -m elf_x86_64) supports >> shared libraries... yes >> checking for mpicc option to produce PIC... -fPIC >> checking if mpicc PIC flag -fPIC 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/bin/ld -m elf_x86_64) supports >> shared libraries... yes >> checking dynamic linker characteristics... GNU/Linux ld.so >> checking how to hardcode library paths into programs... immediate >> appending configuration tag "F77" to libtool >> 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 >> configure: Using built-in math library with intel compiler >> checking for fftw3.h... yes >> checking for main in -lfftw3... 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... yes >> checking limits.h usability... yes >> checking limits.h presence... yes >> checking for limits.h... yes >> checking unistd.h usability... yes >> checking unistd.h presence... yes >> checking for unistd.h... yes >> checking for unistd.h... (cached) yes >> checking sys/types.h usability... yes >> checking sys/types.h presence... yes >> checking for sys/types.h... yes >> checking sys/time.h usability... yes >> checking sys/time.h presence... yes >> checking for sys/time.h... yes >> checking dirent.h usability... yes >> checking dirent.h presence... yes >> checking for dirent.h... yes >> checking regex.h usability... yes >> checking regex.h presence... yes >> checking for regex.h... yes >> checking for working memcmp... yes >> checking return type of signal handlers... void >> checking for off_t... yes >> 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 gettimeofday... yes >> checking for cbrt... yes >> checking for isnan... yes >> checking for _isnan... no >> checking for isfinite... yes >> checking for _isfinite... no >> checking for fsync... yes >> checking for fileno... yes >> checking for bool... no >> checking for library containing posix_memalign... none required >> checking for library containing memalign... none required >> checking for _aligned_malloc... no >> checking size of int... 4 >> checking size of long int... 8 >> checking size of long long int... 8 >> checking size of off_t... 8 >> checking size of void*... 8 >> checking for X... libraries , headers >> checking for gethostbyname... yes >> checking for connect... yes >> checking for remove... yes >> checking for shmat... yes >> checking for IceConnectionNumber in -lICE... yes >> checking libxml/parser.h usability... no >> checking libxml/parser.h presence... no >> checking for libxml/parser.h... no >> 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 inline... inline >> checking for C/C++ restrict keyword... __restrict >> checking for uid_t... yes >> checking for gid_t... yes >> checking for sig_atomic_t... yes >> checking whether your compiler can handle assembly files (*.s)... yes >> checking whether as fully supports X86_64 SSE2... yes >> checking whether byte ordering is bigendian... (cached) no >> checking if dlopen supported... yes >> configure: creating ./config.status >> config.status: creating Makefile >> config.status: creating src/Makefile >> config.status: creating src/gmxlib/Makefile >> config.status: creating src/gmxlib/libgmx_mpi_d.pc >> config.status: creating src/gmxlib/gmx_blas/Makefile >> config.status: creating src/gmxlib/gmx_lapack/Makefile >> config.status: creating src/gmxlib/selection/Makefile >> config.status: creating src/gmxlib/statistics/Makefile >> config.status: creating src/gmxlib/trajana/Makefile >> config.status: creating src/gmxlib/thread_mpi/Makefile >> config.status: creating src/gmxlib/nonbonded/Makefile >> config.status: creating src/gmxlib/nonbonded/nb_kernel_c/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 src/gmxlib/nonbonded/nb_kernel_bluegene/Makefile >> config.status: creating src/gmxlib/nonbonded/nb_kernel_power6/Makefile >> config.status: creating src/gmxlib/nonbonded/nb_kernel_f77_single/Makefile >> config.status: creating src/gmxlib/nonbonded/nb_kernel_f77_double/Makefile >> config.status: creating include/Makefile >> config.status: creating include/types/Makefile >> config.status: creating include/thread_mpi/Makefile >> config.status: creating include/thread_mpi/atomic/Makefile >> config.status: creating src/mdlib/Makefile >> config.status: creating src/mdlib/libmd_mpi_d.pc >> config.status: creating src/kernel/Makefile >> config.status: creating src/kernel/libgmxpreprocess_mpi_d.pc >> config.status: creating src/tools/Makefile >> config.status: creating src/tools/libgmxana_mpi_d.pc >> 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/top/gmx.ff/Makefile >> config.status: creating share/top/gmx2.ff/Makefile >> config.status: creating share/top/encadv.ff/Makefile >> config.status: creating share/top/encads.ff/Makefile >> config.status: creating share/top/oplsaa.ff/Makefile >> config.status: creating share/top/gromos43a1.ff/Makefile >> config.status: creating share/top/gromos43a2.ff/Makefile >> config.status: creating share/top/gromos45a3.ff/Makefile >> config.status: creating share/top/gromos53a5.ff/Makefile >> config.status: creating share/top/gromos53a6.ff/Makefile >> config.status: creating share/top/charmm27.ff/Makefile >> config.status: creating share/top/amber94.ff/Makefile >> config.status: creating share/top/amber96.ff/Makefile >> config.status: creating share/top/amberGS.ff/Makefile >> config.status: creating share/top/amber99.ff/Makefile >> config.status: creating share/top/amber99sb.ff/Makefile >> config.status: creating share/top/amber99sb-ildn.ff/Makefile >> config.status: creating share/top/amber03.ff/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 man/man7/Makefile >> config.status: creating Doxyfile >> config.status: creating src/config.h >> config.status: executing depfiles commands >> >> * On most platforms you can save 10X space with dynamic libraries, although >> the binaries might be less portable. Why not try --enable-shared ? >> [r...@head00 gromacs-4.5 >> >> ---------- >> Wadud Miah >> High Performance Computing Systems Developer >> Research Computing Services, University of East Anglia >> Telephone: 01603 593856 >> >> Information Services >> ---------- >> >> >> -- >> gmx-users mailing list gmx-users@gromacs.org >> http://lists.gromacs.org/mailman/listinfo/gmx-users >> Please search the archive at >> http://www.gromacs.org/Support/Mailing_Lists/Search before posting! >> Please don't post (un)subscribe requests to the list. Use the >> www interface or send it to gmx-users-requ...@gromacs.org. >> Can't post? Read http://www.gromacs.org/Support/Mailing_Lists > -- > gmx-users mailing list gmx-users@gromacs.org > http://lists.gromacs.org/mailman/listinfo/gmx-users > Please search the archive at > http://www.gromacs.org/Support/Mailing_Lists/Search before posting! > Please don't post (un)subscribe requests to the list. Use the > www interface or send it to gmx-users-requ...@gromacs.org. > Can't post? Read http://www.gromacs.org/Support/Mailing_Lists -- gmx-users mailing list gmx-users@gromacs.org http://lists.gromacs.org/mailman/listinfo/gmx-users Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting! Please don't post (un)subscribe requests to the list. Use the www interface or send it to gmx-users-requ...@gromacs.org. Can't post? Read http://www.gromacs.org/Support/Mailing_Lists