[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
RE: [Meep-discuss] Help on harminv at multiple points
Thank you Matt for your speedy reply. I have tried using run-k-points function. However, is it not suitable for my work. (1) run-k-points can only work with a Gaussian source. While on the other hand, I am using a custom-src. (2) run-k-points function produces only the real, imag w of each k vectors. While on the other hand, I need the harminv output: w, field amp, Q, etc. regards Chan-Hoe -Original Message- From: matt [mailto:[EMAIL PROTECTED] Sent: Mon 4/2/2007 1:39 PM To: #YIP CHAN HOE# Cc: meep-discuss@ab-initio.mit.edu Subject: Re: [Meep-discuss] Help on harminv at multiple points There's an easier way to do what you want; there exists a special run function called run-k-points that does just that. There's also a tutorial on how to use run-k-points: http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial/Band_diagram%2C_resonant_modes%2C_and_transmission_in_a_holey_waveguide#Band_diagram Kind Regards, Matt On Mon, 2 Apr 2007, #YIP CHAN HOE# wrote: Dear Meep users, I am rather weak in Scheme programming and couldn't figure out after working a few days on this. I wanted to run Harminv on several k-points in my structure. So I wrote a loop to automate the task. However, I am not successful and Meep reports : ERROR: In procedure procedure-property: ERROR: Wrong type argument in position 1: (#procedure #f (to-do) #procedure #f (to-do)) Earlier, there is no problem without the 'map' loop (it was okay for just one k-points). Can anyone kindly help me on the harminv loop ? Thank you. . (define k-points (list (vector3 1 0 0) (vector3 0 1 0) )) (set! k-points (interpolate 10 k-points)) (run-until 500 (at-beginning output-epsilon) (after-sources (map (lambda (k1) (harminv Hz k1 fcen df)) k-points)) )) ___ meep-discuss mailing list meep-discuss@ab-initio.mit.edu http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss