Dear Meep-Users,
I am failing to compile meep with MPICH and HDF5. I successfully build
mpich-3.1.4 and hdf5-1.8.9.tar from source on a Debian Jessie machine. (Yes, I
tried the precompiled packages too. They throw out errors when trying to write
to the hdf5 files in mpi-mode.)
The following problem may not have anything to do with the repository packages
not working properly, but I tried to compile the programs myself anyway and all
of the dependencies compile without errors. Only Meep can't find the HDF5
libraries in the custom location.
This is the bash function I used to compile HDF5:
function HDF5 {
tar -xf hdf5-1.8.14.tar
cd ./hdf5-1.8.14
export CC="$BUILD_DIR/bin/mpicc"
export F77="$BUILD_DIR/bin/mpif77"
export CXX="$BUILD_DIR/bin/mpic++"
./configure --prefix=$BUILD_DIR --enable-parallel 2>&1 | tee
../Output/HDF5_configure.out
make 2>&1 | tee ../Output/HDF5_make.out
make check 2>&1 | tee ../Output/HDF5_make_check.out
make install 2>&1 | tee ../Output/HDF5_make_install.out
cd ..
rm -r -f ./hdf5-1.8.14
export CC="gcc"
export F77="f77"
export CXX="g++"
}
After Installing libctl, MPICH and HarmInv+OpenBLAS I tried:
export CFLAGS=" -fPIC"; export CXXFLAGS=" -fPIC"; export FFLAGS=" -fPIC"
export CC="gcc"; export F77="f77"; export CXX="g++"
export CPPFLAGS="-I$BUILD_DIR/include"
export LDFLAGS="-L$BUILD_DIR/lib"
export LD_RUN_PATH="-L$BUILD_DIR/lib"
export PATH="$BUILD_DIR/bin:$PATH"
function MEEP {
tar -xf meep-1.2.1.tar.gz
cd ./meep-1.2.1
export MPICXX="$BUILD_DIR/bin/mpic++"
./configure --with-mpi --prefix=$BUILD_DIR
--with-libctl="$BUILD_DIR/share/libctl" 2>&1 | tee ../Output/MEEP_configure.out
#make 2>&1 | tee ../Output/MEEP_make.out
#make install 2>&1 | tee ../Output/MEEP_make_install.out
cd ..
rm -rf ./meep-1.2.1
}
BELOW is the Output of the ./configure command from the function above.
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 whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking whether the C++ compiler works... yes
checking for C++ compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking for mpic++... /home/neutronst4r/Install/build/bin/mpic++
checking for mpi.h... yes
checking for extra flag needed to combine stdio.h and mpi.h... none
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking dependency style of gcc... gcc3
checking for C++ compiler vendor... gnu
checking how to print strings... printf
checking for a sed that does not truncate output... /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert x86_64-unknown-linux-gnu file names to
x86_64-unknown-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-unknown-linux-gnu file names to toolchain
format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for ar... ar
checking for archiver @FILE support... @
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for mt... mt
checking if mt is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc 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 if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking how to run the C++ preprocessor...
/home/neutronst4r/Install/build/bin/mpic++ -E
checking for ld used by /home/neutronst4r/Install/build/bin/mpic++...
/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 /home/neutronst4r/Install/build/bin/mpic++ linker
(/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking for /home/neutronst4r/Install/build/bin/mpic++ option to produce
PIC... -fPIC -DPIC
checking if /home/neutronst4r/Install/build/bin/mpic++ PIC flag -fPIC -DPIC
works... yes
checking if /home/neutronst4r/Install/build/bin/mpic++ static flag -static
works... yes
checking if /home/neutronst4r/Install/build/bin/mpic++ supports -c -o file.o...
yes
checking if /home/neutronst4r/Install/build/bin/mpic++ supports -c -o file.o...
(cached) yes
checking whether the /home/neutronst4r/Install/build/bin/mpic++ linker
(/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking for latex2html... no
configure: WARNING: Cannot find latex2html in your path!
checking for sin in -lm... yes
checking for fftw_plan_dft_1d in -lfftw3... yes
checking whether we are using the GNU Fortran 77 compiler... yes
checking whether f77 accepts -g... yes
checking whether we are using the GNU Fortran 77 compiler... (cached) yes
checking whether f77 accepts -g... (cached) yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... no
checking whether to build static libraries... yes
checking for f77 option to produce PIC... -fPIC
checking if f77 PIC flag -fPIC works... yes
checking if f77 static flag -static works... yes
checking if f77 supports -c -o file.o... yes
checking if f77 supports -c -o file.o... (cached) yes
checking whether the f77 linker (/usr/bin/ld -m elf_x86_64) supports shared
libraries... yes
checking dynamic linker characteristics... (cached) GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking how to get verbose linking output from f77... -v
checking for Fortran 77 libraries of f77...
-L/home/neutronst4r/Install/build/lib -L/usr/lib/gcc/x86_64-linux-gnu/4.9
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../x86_64-linux-gnu
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../../../lib -L/lib/x86_64-linux-gnu
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib
-L/usr/lib/gcc/x86_64-linux-gnu/4.9/../../.. -lfftw3 -lgfortran -lm -lquadmath
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, no
extra underscore
checking for sgemm_... no
checking for ATL_xerbla in -latlas... yes
checking for sgemm_ in -lf77blas... yes
checking for cblas_dgemm in -lcblas... yes
checking for cheev_... no
checking for cheev_ in -llapack... yes
checking for pkg-config... /usr/bin/pkg-config
checking for harminv >= 1.1... yes
checking HARMINV_CFLAGS...
checking HARMINV_LIBS... -lharminv
checking mpb.h usability... no
checking mpb.h presence... no
checking for mpb.h... no
checking for cblas_cgemm... yes
checking for gsl_sf_bessel_Jn in -lgsl... yes
checking for deflate in -lz... yes
checking for H5Pcreate in -lhdf5... no
configure: WARNING: Couldn't find the HDF5 library!! Switching to
--without-hdf5.
checking for H5Pset_mpi... no
checking for H5Pset_fapl_mpio... no
checking for mpirun... mpirun
checking for guile-config... guile-config
checking if linking to guile works... yes
checking libguile.h usability... yes
checking libguile.h presence... yes
checking for libguile.h... yes
checking guile/gh.h usability... no
checking guile/gh.h presence... no
checking for guile/gh.h... no
checking for scm_make_smob_type... yes
checking for SCM_SMOB_PREDICATE... no
checking for SCM_SMOB_DATA... no
checking for SCM_NEWSMOB... no
checking how to activate readline in Guile... ice-9 readline
checking for libctl dir... /home/neutronst4r/Install/build/share/libctl
checking for gen-ctl-io... gen-ctl-io
checking for ctl_get_vector3 in -lctl... yes
checking ctl.h usability... yes
checking ctl.h presence... yes
checking for ctl.h... yes
checking whether libctl version is at least 3.2.0... ok
checking for libctl_quiet feature... yes
checking for basename in -lgen... no
checking for feenableexcept... yes
checking whether feenableexcept declaration is usable... yes
checking whether to catch and ignore SIGFPE signals... no
checking whether time.h and sys/time.h may both be included... yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for BSDgettimeofday... no
checking for gettimeofday... yes
checking for cblas_ddot... yes
checking for cblas_daxpy... yes
checking for jn... yes
checking for C/C++ restrict keyword... __restrict
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating meep-pkgconfig
config.status: creating src/Makefile
config.status: creating tests/Makefile
config.status: creating examples/Makefile
config.status: creating libctl/Makefile
config.status: creating libctl/meep.scm
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
If anyone could help me out on this one, I would be very grateful.
Greetings
c7420
_______________________________________________
meep-discuss mailing list
[email protected]
http://ab-initio.mit.edu/cgi-bin/mailman/listinfo/meep-discuss