Re: [Meep-discuss] Can't compile haminv 1.3.1 on cluster
On Mon, 2 Apr 2007, Nicolas Tetreault wrote: gcc -g -O2 -o harminv harminv-main.o /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl_lapack32.so /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl.so -L/home/nt271/comp-apps/para/lib ./.libs/libharminv.a -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm -lgcc_s ./.libs/libharminv.a(harminv.o)(.text+0x2114): In function `solve_eigenvects': /home/nt271/temp/harminv-1.3.1/harminv.c:497: undefined reference to `zgeev_' collect2: ld returned 1 exit status The problem here is that the LAPACK etc. libraries need to be listed after libharminv.a on the command line. Which they normally are... I'm guessing that you specified the location of your LAPACK library in a funny way. Did you do ./configure --with-lapack=lib ? harminv-main.o harminv-main.c -I/usr/local/Cluster-Apps/infinipath/2.0/if-mpi/include/ harminv-main.c(126): error: floating-point operation result is out of range const double inf = 1.0 / 0.0; Yes, I noticed recently that some compilers seem to complain about this, for no good reason as far as I can tell. (1.0 / 0.0 is perfectly well defined in IEEE 754 floating-point arithmetic -- it gives Inf -- and this is supported by all modern CPUs.) However, to keep the compiler from complaining you can just replace 1.0 / 0.0 with 1e100 here. Steven ___ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
[Meep-discuss] Can't compile haminv 1.3.1 on cluster
Hi all, hopefully you can give me a hand with this. I can't compile harminv. I get errors during the compilation. Depending on the compiler used I either get: CC=gcc and F77=f77 or ifort gcc -g -O2 -o harminv harminv-main.o /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl_lapack32.so /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl.so -L/home/nt271/comp-apps/para/lib ./.libs/libharminv.a -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm -lgcc_s ./.libs/libharminv.a(harminv.o)(.text+0x2114): In function `solve_eigenvects': /home/nt271/temp/harminv-1.3.1/harminv.c:497: undefined reference to `zgeev_' collect2: ld returned 1 exit status make[1]: *** [harminv] Error 1 make[1]: Leaving directory `/home/nt271/temp/harminv-1.3.1' make: *** [all] Error 2 When using CC=mpicc with F77=mpif77 or ifort or f77 I get: mpicc -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv.lo -MD -MP -MF .deps/harminv.Tpo -c harminv.c -o harminv.o -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv.lo -MD -MP -MF .deps/harminv.Tpo -c harminv.c -o harminv.o -I/usr/local/Cluster-Apps/infinipath/2.0/if-mpi/include/ /bin/sh ./libtool --tag=CC --mode=link mpicc -g -O2 -L/home/nt271/comp-apps/para/lib -o libharminv.la -rpath /usr/local/lib -version-info 2:4:0 harminv.lo /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl_lapack32.so /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl.so -lm -L/home/nt271/comp-apps/para/lib -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm -lgcc_s rm -fr .libs/libharminv.a .libs/libharminv.la .libs/libharminv.lai ar cru .libs/libharminv.a harminv.o ranlib .libs/libharminv.a creating libharminv.la (cd .libs rm -f libharminv.la ln -s ../libharminv.la libharminv.la) if mpicc -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv-main.o -MD -MP -MF .deps/harminv-main.Tpo -c -o harminv-main.o harminv-main.c; \ then mv -f .deps/harminv-main.Tpo .deps/harminv-main.Po; else rm -f .deps/harminv-main.Tpo; exit 1; fi -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv-main.o -MD -MP -MF .deps/harminv-main.Tpo -c -o harminv-main.o harminv-main.c -I/usr/local/Cluster-Apps/infinipath/2.0/if-mpi/include/ harminv-main.c(126): error: floating-point operation result is out of range const double inf = 1.0 / 0.0; ^ harminv-main.c(158): warning #181: argument is incompatible with corresponding format string conversion DENSITY, ^ compilation aborted for harminv-main.c (code 2) make[1]: *** [harminv-main.o] Error 1 make[1]: Leaving directory `/home/nt271/temp/harminv-1.3.1' make: *** [all] Error 2 using CC=mpixx or CC=mpiCC stop the configure script with this error: checking complex.h usability... yes checking complex.h presence... yes checking for complex.h... yes checking for C complex keyword... __complex__ checking for C complex I constant... unsupported configure: error: C doesn't support complex numbers. Here are the different compilers: gcc --version gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) f77 --version GNU Fortran (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) mpicc --version --version -I/usr/local/Cluster-Apps/infinipath/2.0/if-mpi/include/ icc (ICC) 9.1 20060818 Copyright (C) 1985-2006 Intel Corporation. All rights reserved. ifort --version ifort (IFORT) 9.1 20060818 Copyright (C) 1985-2006 Intel Corporation. All rights reserved. Any help highly appreciated! Nic ___ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss
Re: [Meep-discuss] Can't compile haminv 1.3.1 on cluster
The first scenario has something to do with an incorrect lapack install, or perhaps you just need to specify --with-lapack when running configure. I'm not familiar with the other errors. On Mon, 2 Apr 2007, Nicolas Tetreault wrote: Hi all, hopefully you can give me a hand with this. I can't compile harminv. I get errors during the compilation. Depending on the compiler used I either get: CC=gcc and F77=f77 or ifort gcc -g -O2 -o harminv harminv-main.o /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl_lapack32.so /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl.so -L/home/nt271/comp-apps/para/lib ./.libs/libharminv.a -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm -lgcc_s ./.libs/libharminv.a(harminv.o)(.text+0x2114): In function `solve_eigenvects': /home/nt271/temp/harminv-1.3.1/harminv.c:497: undefined reference to `zgeev_' collect2: ld returned 1 exit status make[1]: *** [harminv] Error 1 make[1]: Leaving directory `/home/nt271/temp/harminv-1.3.1' make: *** [all] Error 2 When using CC=mpicc with F77=mpif77 or ifort or f77 I get: mpicc -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv.lo -MD -MP -MF .deps/harminv.Tpo -c harminv.c -o harminv.o -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv.lo -MD -MP -MF .deps/harminv.Tpo -c harminv.c -o harminv.o -I/usr/local/Cluster-Apps/infinipath/2.0/if-mpi/include/ /bin/sh ./libtool --tag=CC --mode=link mpicc -g -O2 -L/home/nt271/comp-apps/para/lib -o libharminv.la -rpath /usr/local/lib -version-info 2:4:0 harminv.lo /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl_lapack32.so /usr/local/Cluster-Apps/intel/mkl/9.0.018/lib/em64t/libmkl.so -lm -L/home/nt271/comp-apps/para/lib -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../../../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/3.4.5/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm -lgcc_s rm -fr .libs/libharminv.a .libs/libharminv.la .libs/libharminv.lai ar cru .libs/libharminv.a harminv.o ranlib .libs/libharminv.a creating libharminv.la (cd .libs rm -f libharminv.la ln -s ../libharminv.la libharminv.la) if mpicc -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv-main.o -MD -MP -MF .deps/harminv-main.Tpo -c -o harminv-main.o harminv-main.c; \ then mv -f .deps/harminv-main.Tpo .deps/harminv-main.Po; else rm -f .deps/harminv-main.Tpo; exit 1; fi -DHAVE_CONFIG_H -I. -I. -I. -I/home/nt271/comp-apps/para/include -g -O2 -MT harminv-main.o -MD -MP -MF .deps/harminv-main.Tpo -c -o harminv-main.o harminv-main.c -I/usr/local/Cluster-Apps/infinipath/2.0/if-mpi/include/ harminv-main.c(126): error: floating-point operation result is out of range const double inf = 1.0 / 0.0; ^ harminv-main.c(158): warning #181: argument is incompatible with corresponding format string conversion DENSITY, ^ compilation aborted for harminv-main.c (code 2) make[1]: *** [harminv-main.o] Error 1 make[1]: Leaving directory `/home/nt271/temp/harminv-1.3.1' make: *** [all] Error 2 using CC=mpixx or CC=mpiCC stop the configure script with this error: checking complex.h usability... yes checking complex.h presence... yes checking for complex.h... yes checking for C complex keyword... __complex__ checking for C complex I constant... unsupported configure: error: C doesn't support complex numbers. Here are the different compilers: gcc --version gcc (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) f77 --version GNU Fortran (GCC) 3.4.5 20051201 (Red Hat 3.4.5-2) mpicc --version --version -I/usr/local/Cluster-Apps/infinipath/2.0/if-mpi/include/ icc (ICC) 9.1 20060818 Copyright (C) 1985-2006 Intel Corporation. All rights reserved. ifort --version ifort (IFORT) 9.1 20060818 Copyright (C) 1985-2006 Intel Corporation. All rights reserved. Any help highly appreciated! Nic ___ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss ___ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss