Below is a draft Meep install script for Cygwin. To reproduce the common Cygwin Meep make check segmentation faults run the script on a fresh Cygwin install. I would appreciate hearing from someone who has solved this problem. Sincere thanks!
#!/bin/bash # \begin(README) # cygwinmeepinstaller version 0.16k (should be moved to a repository) # (prior to that please ++0.1 the version number prior to saving any changes # and append your initial to the version number, then save&email it to me) # This script attempts to help install meep in the Cygwin environment # Download "All" of Cygwin (without installing) by clicking on "Default" # to change it to "Install" (cycles: # Default->Install->Reinstall->Uninstall->Default) # Install "All" of Cygwin from local directory by clicking on "Default" # to change it to "Install" (cycles: # Default->Install->Reinstall->Uninstall->Default) # Use the default install directory of C:\cygwin # After obtaining this file use the Cygwin bash shell to run # chmod +rx cygwinmeepinstaller # Run this file by typing # ./cygwinmeepinstaller # If an unattended install is desired comment out the user feedback e.g. # read -n 1 yorn # \end(README) # N.B. Included in: http://www.cygwin.com/packages/ are: # cygwin-1.5.25-15 # guile-1.8.2-1 # lapack-3.0-8 # fftw3-3.2-1 # hdf5-1.6.8-4 # octave-3.0.3-1 echo -n "1/8 Set environment? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then export HOME="/usr/local" export LDFLAGS="-L/usr/local/lib" export CPPFLAGS="-I/usr/local/include" export PATH="$PATH:/usr/local/bin" fi echo -n -e "\n2/8 Download sources? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then echo -n -e "\n" cd "$HOME" wget http://ab-initio.mit.edu/harminv/harminv-1.3.1.tar.gz wget http://ab-initio.mit.edu/libctl/libctl-3.1.tar.gz wget http://ab-initio.mit.edu/h5utils/h5utils-1.12.1.tar.gz wget http://ab-initio.mit.edu/meep/meep-1.0.3.tar.gz fi echo -n -e "\n3/8 Extract sources? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then echo -n -e "\n" cd "$HOME" gunzip harminv-1.3.1.tar.gz; tar xf harminv-1.3.1.tar gunzip libctl-3.1.tar.gz; tar xf libctl-3.1.tar gunzip h5utils-1.12.1.tar.gz; tar xf h5utils-1.12.1.tar gunzip meep-1.0.3.tar.gz; tar xf meep-1.0.3.tar fi echo -n -e "\n4/8 Update path in libg2c.la, install harmvinv-1.3.1, and update path in libharminv.la? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then echo -n -e "\n" cd /lib/gcc/i686-pc-cygwin/3.4.4 if [ ! -e libg2c.la.no3.4.4 ] ; then mv libg2c.la libg2c.la.no3.4.4 sed 's/i686-pc-cygwin\//i686-pc-cygwin\/3.4.4/g' libg2c.la.no3.4.4>libg2c.la fi cd $HOME/harminv-1.3.1 ./configure make make install cd $HOME/lib if [ ! -e libharminv.la.no3.4.4 ] ; then mv libharminv.la libharminv.la.no3.4.4 sed 's/\/\//\/3.4.4\//g' libharminv.la.no3.4.4>libharminv.la fi cd $HOME fi echo -n -e "\n5/8 Install libctl-3.1 and fix lib_ctave.dll.a? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then echo -n -e "\n" cd $HOME/libctl-3.1 ./configure make make install cd /lib/octave-3.0.3 if [ -e libctave.dll.a ] ; then mv libctave.dll.a liboctave.dll.a fi cd $HOME fi echo -n -e "\n6/8 Install h5utils-1.12.1 and add meep:: to infinity? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then echo -n -e "\n" cd $HOME/h5utils-1.12.1 ./configure make make install cd $HOME/meep-1.0.3/tests if [ ! -e bragg_transmission.cpp.nomeep ] ; then mv bragg_transmission.cpp bragg_transmission.cpp.nomeep sed 's/infinity/meep::infinity/g' bragg_transmission.cpp.nomeep>bragg_transmission.cpp fi if [ ! -e h5test.cpp.nomeep ] ; then mv h5test.cpp h5test.cpp.nomeep sed 's/infinity/meep::infinity/g' h5test.cpp.nomeep>h5test.cpp fi cd $HOME fi echo -n -e "\n7/8 Install meep-1.0.3? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then echo -n -e "\n" cd $HOME/meep-1.0.3 ./configure make make install cd $HOME fi echo -n -e "\n8/8 Check meep-1.0.3 install? (y/n) " yorn="y" read -n 1 yorn if [ $yorn == y ]; then echo -n -e "\n" cd $HOME/meep-1.0.3 make check cd $HOME fi exit _______________________________________________ meep-discuss mailing list [email protected] http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss

