Dear MEEP users and Steven G. Jhonson I've been fighting with installing Harminv in Cygwin. I think that many of Meep beginners including me might neglect having installed Harminv library in the first place. However, if you really want to understand all of MEEP toturials like ring resonator and material dispersions later, the Harminv library must be installed in the system.
I have built the libblas.a by following the instruction in the official page http://ab-initio.mit.edu/wiki/index.php/Harminv_installation , and the liblapack.a has been created from lapack-3.1.1 by using the same compiler,g77, as creating libblas.a . Then, I copy both libraries to /usr/lib/, and I run the configuring as #./configure --with-blas="/usr/lib/libblas.a" --with-lapacl="/usr/lib/lapack.a" It is successfully done, and then the Makefile is created. However, I then type the command #make It gives me the error as follows ************************************************************************** *** Warning: Trying to link with static lib archive /usr/lib/liblapack.a. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because the file extensions .a of this argument makes me believe *** that it is just a static archive that I should not used here. *** Warning: Trying to link with static lib archive /usr/lib/libblas.a. *** I have the capability to make that library automatically link in when *** you link to this library. But I can only do this if you have a *** shared version of the library, which you do not appear to have *** because the file extensions .a of this argument makes me believe *** that it is just a static archive that I should not used here. libtool: link: warning: library `/usr/lib/gcc/i686-pc-cygwin/3.4.4/libg2c.la' was moved. libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries ar cru .libs/libharminv.a /usr/lib/liblapack.a /usr/lib/libblas.a harminv.o /usr/lib/liblapack.a /usr/lib/libblas.a ranlib .libs/libharminv.a creating libharminv.la (cd .libs && rm -f libharminv.la && ln -s ../libharminv.la libharminv.la) if gcc -DHAVE_CONFIG_H -I. -I. -I. -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 harminv-main.c: In function ‘main’: harminv-main.c:269:19: warning: ‘optarg’ redeclared without dllimport attribute: previous dllimport ignored harminv-main.c:270:17: warning: ‘optind’ redeclared without dllimport attribute: previous dllimport ignored /bin/sh ./libtool --tag=CC --mode=link gcc -g -O2 -o harminv.exe harminv-main.o libharminv.la /usr/lib/liblapack.a /usr/lib/libblas.a -lusr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../.. -lfrtbegin -lg2c -lcygwin -luser32 -lkernel32 -ladvapi32 -lshel libtool: link: warning: library `/usr/lib/gcc/i686-pc-cygwin/3.4.4/libg2c.la' was moved. libtool: link: warning: library `/usr/lib/gcc/i686-pc-cygwin/3.4.4/libg2c.la' was moved. gcc -g -O2 -o harminv.exe harminv-main.o ./.libs/libharminv.a -L/usr/lib/gcc/i686-pc-cygwin/3.4.4 -L/usr/lib/gcc/i686-pc-cygwin/3.4.4/../..//lib/liblapack.a /usr/lib/libblas.a -lfrtbegin /usr/lib/gcc/i686-pc-cygwin/3.4.4/libg2c.a -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 ./.libs/libharminv.a(harminv.o): In function `cpow_i': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:166: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:165: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:170: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:160: undefined reference to `___divdc3' ./.libs/libharminv.a(harminv.o): In function `generate_U': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:242: undefined reference to `___divdc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:253: undefined reference to `___divdc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:292: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:287: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:288: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:282: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:274: undefined reference to `___muldc3' ./.libs/libharminv.a(harminv.o):/cygdrive/c/libraries/harminv-1.3.1/harminv.c:275: more undefined references to `___muldc3' follow ./.libs/libharminv.a(harminv.o): In function `generate_U': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:304: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:304: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:305: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:305: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:306: undefined reference to `___divxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:313: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:314: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:316: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:316: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:317: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:317: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:318: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:318: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:319: undefined reference to `___divxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:326: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:326: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:327: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:327: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:328: undefined reference to `___divxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:334: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:334: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:336: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:336: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:337: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:337: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:338: undefined reference to `___muldc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:338: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:339: undefined reference to `___divxc3' ./.libs/libharminv.a(harminv.o): In function `symmetric_dot': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:449: undefined reference to `___muldc3' ./.libs/libharminv.a(harminv.o): In function `solve_eigenvects': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:513: undefined reference to `___divdc3' ./.libs/libharminv.a(harminv.o): In function `harminv_solve_once': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:572: undefined reference to `___divdc3' ./.libs/libharminv.a(harminv.o): In function `symmetric_dot': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:449: undefined reference to `___muldc3' ./.libs/libharminv.a(harminv.o): In function `harminv_compute_frequency_errors': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:742: undefined reference to `___divdc3' ./.libs/libharminv.a(harminv.o): In function `harminv_compute_amplitudes': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:801: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:803: undefined reference to `___mulxc3' /cygdrive/c/libraries/harminv-1.3.1/harminv.c:795: undefined reference to `___muldc3' ./.libs/libharminv.a(harminv.o): In function `harminv_get_omega': /cygdrive/c/libraries/harminv-1.3.1/harminv.c:847: undefined reference to `___muldc3' collect2: ld returned 1 exit status Makefile:356: recipe for target `harminv.exe' failed make[1]: *** [harminv.exe] Error 1 make[1]: Leaving directory `/cygdrive/c/libraries/harminv-1.3.1' Makefile:235: recipe for target `all' failed make: *** [all] Error 2 ********************************************************************************** Could you hint me the solution of this problem? Thank you so much for your help. Sincerely, P. Tapsanit Phd. candidate, Department of Physics, Tohoku university.
_______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

