HomerReid / scuff-em

A comprehensive and full-featured computational physics suite for boundary-element analysis of electromagnetic scattering, fluctuation-induced phenomena (Casimir forces and radiative heat transfer), nanophotonics, RF device engineering, electrostatics, and more. Includes a core library with C++ and python APIs as well as many command-line applications.
http://www.homerreid.com/scuff-em
GNU General Public License v2.0
126 stars 50 forks source link

scuff-em Installation Issues #70

Closed ZhihaoJia16 closed 8 years ago

ZhihaoJia16 commented 8 years ago

Hi,homer When I install scuff -em, I meet some errors. % git clone https://homerreid@github.com/HomerReid/scuff-em.git % cd scuff-em % sh autogen.sh --prefix=/home/jzh/scuff-em-installation/ % make install

I implement these commands, get these results jzh@jzh-virtual-machine:~$ git clone https://homerreid@github.com/HomerReid/scuff-em.git fatal: destination path 'scuff-em' already exists and is not an empty directory. jzh@jzh-virtual-machine:~$ cd scuff-em jzh@jzh-virtual-machine:~/scuff-em$ sh autogen.sh --prefix=/home/jzh/scuff-em-installation/ autoreconf: Entering directory .' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --force libtoolize: putting auxiliary files in.'. libtoolize: linking file ./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR,m4'. libtoolize: linking file m4/libtool.m4' libtoolize: linking filem4/ltoptions.m4' libtoolize: linking file m4/ltsugar.m4' libtoolize: linking filem4/ltversion.m4' libtoolize: linking file m4/lt~obsolete.m4' autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --force-missing autoreconf: Leaving directory.' autoreconf: Entering directory .' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --force libtoolize: putting auxiliary files in.'. libtoolize: linking file ./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR,m4'. libtoolize: linking file m4/libtool.m4' libtoolize: linking filem4/ltoptions.m4' libtoolize: linking file m4/ltsugar.m4' libtoolize: linking filem4/ltversion.m4' libtoolize: linking file m4/lt~obsolete.m4' autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --force-missing autoreconf: Leaving directory.' autoreconf: Entering directory .' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --force libtoolize: putting auxiliary files in.'. libtoolize: linking file ./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR,m4'. libtoolize: linking file m4/libtool.m4' libtoolize: linking filem4/ltoptions.m4' libtoolize: linking file m4/ltsugar.m4' libtoolize: linking filem4/ltversion.m4' libtoolize: linking file m4/lt~obsolete.m4' autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --force-missing autoreconf: Leaving directory.' 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... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking how to print strings... printf checking for style of include used by make... GNU checking for gcc... gcc 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 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 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 whether -lc should be explicitly linked in... no 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... yes checking whether to build static libraries... yes checking whether to enable maintainer-specific portions of Makefiles... yes checking for g++... no checking for c++... no checking for gpp... no checking for aCC... no checking for CC... no checking for cxx... no checking for cc++... no checking for cl.exe... no checking for FCC... no checking for KCC... no checking for RCC... no checking for xlC_r... no checking for xlC... no checking whether we are using the GNU C++ compiler... no checking whether g++ accepts -g... no checking dependency style of g++... none checking for g77... no checking for xlf... no checking for f77... no checking for frt... no checking for pgf77... no checking for cf77... no checking for fort77... no checking for fl32... no checking for af77... no checking for xlf90... no checking for f90... no checking for pgf90... no checking for pghpf... no checking for epcf90... no checking for gfortran... gfortran checking whether we are using the GNU Fortran 77 compiler... yes checking whether gfortran accepts -g... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for gfortran option to produce PIC... -fPIC checking if gfortran PIC flag -fPIC works... yes checking if gfortran static flag -static works... yes checking if gfortran supports -c -o file.o... yes checking if gfortran supports -c -o file.o... (cached) yes checking whether the gfortran 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 gfortran... -v checking for Fortran 77 libraries of gfortran... -L/usr/lib/gcc/x86_64-linux-gnu/4.8 -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../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.8/../../.. -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 bison... bison -y checking for flex... flex checking lex output file root... lex.yy checking lex library... -lfl checking whether yytext is a pointer... yes checking for OpenMP flag of C++ compiler... unknown configure: error: Could not find OpenMP flag; configure with --without-openmp and/or --with-pthreads jzh@jzh-virtual-machine:~/scuff-em$ make install make: *\ No rule to make target `install'. Stop. jzh@jzh-virtual-machine:~/scuff-em$

How can I solve it? Thank you.

gevero commented 8 years ago

Hi

best

ZhihaoJia16 commented 8 years ago

I exccute "sudo apt-get install build-essential", then do some commans based on tip statements. It succeeds. Thank you very much for your helps.

When I do "sh autogen.sh --prefix=/home/jzh/scuff-em-installation/", get these: ... checking hdf5.h usability... no checking hdf5.h presence... no checking for hdf5.h... no checking H5pubconf.h usability... no checking H5pubconf.h presence... no checking for H5pubconf.h... no configure: error: couldn't find HDF5; configure --without-hdf5 jzh@jzh-virtual-machine:~/scuff-em$

Then I try to execute "sh autogen.sh --prefix=/home/jzh/scuff-em-installation/ --without-hdf5" It works and I get these: ... configure: * The configure process was successful. configure: * Now type 'make' to compile and sudo 'make install'.

After that I do "make", "make install".

HomerReid commented 8 years ago

Giovanni, thanks again for your help!

In this case it looks like SCUFF-EM is behaving correctly, and the difficulties you encountered were related to the usual difficulties associated with the complicated and confusing autotools build process. I don't blame you for finding this situation difficult to navigate! However, if you agree that SCUFF-EM is not buggy here, please close the issue. Thanks!