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 install error #66

Open jingli52316 opened 8 years ago

jingli52316 commented 8 years ago

I am a new user of scuff-em, and I have lots of problems to install it. When I do this: sh autogen.sh --prefix=/home/scuff, it stopped with errors: 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 But I indeed have installed the HDF5, then I tried: sh autogen.sh --prefix=/home/scuff --without-hdf5 It works and I got these: configure: * The configure process was successful. configure: * Now type 'make' to compile and sudo 'make install'. Next I tried to make and make check, I got troubles again: FAIL: unit-test-BEMMatrix ../test-driver: line 107: 758 8 Aborted (core dumped) "$@" > $log_file 2>&1 FAIL: unit-test-PPIs

Makefile:734: recipe for target 'test-suite.log' failed make[3]: * [test-suite.log] Error 1 make[3]: Leaving directory '/home/jingli/scuff-em/unitTests' Makefile:840: recipe for target 'check-TESTS' failed make[2]: * [check-TESTS] Error 2 make[2]: Leaving directory '/home/jingli/scuff-em/unitTests' Makefile:927: recipe for target 'check-am' failed make[1]: * [check-am] Error 2 make[1]: Leaving directory '/home/jingli/scuff-em/unitTests' Makefile:421: recipe for target 'check-recursive' failed make: * [check-recursive] Error 1 Anyway, I do the make install, the I found when I try to run some test examples, the command gmsh works, but scuff-analyze, and scuff-scatter, scuff-cas3D.....those commands could not found. So, it is because I did not install the scuff-em successfully? I am on a Ubuntu 15.04. Can you help me on this? Thanks a lot.

HomerReid commented 8 years ago

What you are experiencing here is that the SCUFF-EM unit-test system is not fully functional. This is related to issue #22, and I welcome any and all contributions in the service of establishing a more thorough unit-test framework. The particular issue you are encountering above is that the unit-test-BEMMatrix attempts to access HDF5 functionality without properly checking that HDF5 is available, which apparently it isn't on your system.

Having said that, the issues you are experiencing are minor, and will not prevent you from using the code. Just don't do a make check.

Note that you probably don't want to set --prefix=/home/scuff unless your system administrator has specifically created that directory and given you write access to it. You probably want to set the installation prefix to a directory that lives within your personal filesystem, i.e. do something like --prefix=/home/jingli/scuff-em-installation/. Then if the make install succeeds the executables will be in the directory /home/jingli/scuff-em-installation/bin.

jingli52316 commented 8 years ago

Dear Homer, Thank you very much for your helps.

I repeat the installation as: sh autogen.sh --prefix=/home/jingli/scuff-install --without-hdf5

configure: * The configure process was successful. configure: * Now type 'make' to compile and sudo 'make install'.

Then I run the command: sudo make install but I got the error like that: make[4]: * [_scuff_la-scuff-python.lo] Error 1 make[4]: Leaving directory '/home/jingli/scuff-em/src/libs/python' make[3]: * [install] Error 2 make[3]: Leaving directory '/home/jingli/scuff-em/src/libs/python' make[2]: * [install-recursive] Error 1 make[2]: Leaving directory '/home/jingli/scuff-em/src/libs' make[1]: * [install-recursive] Error 1 make[1]: Leaving directory '/home/jingli/scuff-em/src' make: *\ [install-recursive] Error 1

Then I tried: make clean, then sudo make install. I thought it works, and finished intalling. I got: Making all in unitTests make[2]: Entering directory '/home/jingli/scuff-em/unitTests' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/jingli/scuff-em/unitTests' Making all in interactiveTests make[2]: Entering directory '/home/jingli/scuff-em/interactiveTests' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/jingli/scuff-em/interactiveTests' Making all in m4 make[2]: Entering directory '/home/jingli/scuff-em/m4' make[2]: Nothing to be done for 'all'. make[2]: Leaving directory '/home/jingli/scuff-em/m4' make[2]: Entering directory '/home/jingli/scuff-em' make[2]: Leaving directory '/home/jingli/scuff-em' make[1]: Leaving directory '/home/jingli/scuff-em'

But When I went to /home/jingli/scuff-install/share/scuff-em/examples/CubeTorus to make the test as: scuff-analyze --geometry CubeTorus.scuffgeo --TransFile CubeTorus.trans it shows: scuff-analyze: error while loading shared libraries: libscuff.so.0: cannot open shared object file: No such file or directory

Can you help me on this? Thanks a lot.

Jing Li

On Mon, Nov 9, 2015 at 10:04 AM, Homer Reid notifications@github.com wrote:

What you are experiencing here is that the SCUFF-EM unit-test system is not fully functional. This is related to issue #22 https://github.com/HomerReid/scuff-em/issues/22, and I welcome any and all contributions in the service of establishing a more thorough unit-test framework. The particular issue you are encountering above is that the unit-test-BEMMatrix attempts to access HDF5 functionality without properly checking that HDF5 is available, which apparently it isn't on your system.

Having said that, the issues you are experiencing are minor, and will not prevent you from using the code. Just don't do a make check.

Note that you probably don't want to set --prefix=/home/scuff unless your system administrator has specifically created that directory and given you write access to it. You probably want to set the installation prefix to a directory that lives within your personal filesystem, i.e. do something like --prefix=/home/jingli/scuff-em-installation/. Then if the make install succeeds the executables will be in the directory /home/jingli/scuff-em-installation/bin.

— Reply to this email directly or view it on GitHub https://github.com/HomerReid/scuff-em/issues/66#issuecomment-154902373.

HomerReid commented 8 years ago

I'm not sure why it can't find the library. Try this:

% export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/home/jingli/scuff-install/lib/

and then run scuff-analyze again.