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
125 stars 50 forks source link

couldn't find HDF5, configure --without-hdf5 #109

Closed thwriedt closed 7 years ago

thwriedt commented 7 years ago

I read all discussions on the hdf5 problem, but it still persists. I did ./configure --without-hdf5 but still this error: couldn't find HDF5, configure --without-hdf5 It seems specifying the --without-hdf5 option does not help.

HomerReid commented 7 years ago

Looks like this is something that was broken by d4d73d1.

I just fixed it---should be fixed in fda4b10. Please confirm.

thwriedt commented 7 years ago

Thanks Homer! This did help. But with install these two errors result: HDF5IO.cc:561:6: error: prototype for ‘void HMatrix::ImportFromHDF5(const char*, const char*)’ does not match any in class ‘HMatrix’ void HMatrix::ImportFromHDF5(const char *FileName, const char *Name)

In file included from HDF5IO.cc:95:0: libhmat.h:176:9: error: candidate is: void HMatrix::ImportFromHDF5(const char*, const char*, bool) void ImportFromHDF5(const char *FileName, const char *MatrixName, bool Init=true); Thanks for any assistance, Thomas

thwriedt commented 7 years ago

soory I did not indend to close

HomerReid commented 7 years ago

Weird. I don't know why this one line of code didn't get correctly committed to github despite being up-to-date in the local repository from which I committed, nor why the problem you reported didn't affect others who have built recently or screw up the automatic TravisCI build, which was reporting proper success.

Anyway, should be fixed in e62fe43.

thwriedt commented 7 years ago

I restarted with git but there are still the same two errors.

HomerReid commented 7 years ago

Fixed in 4a7763f. I had made my fix to the compilation branch that does use HDF5, not the one that doesn't which is the one that was failing for you.

thwriedt commented 7 years ago

Thanks, there was some progress, but next this error popped up with make:

Making install in scuff-neq make[3]: Entering directory '/home/osboxes/scuff-em/src/applications/scuff-neq' g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/libs/libscuff -I../../../src/libs/libIncField -I../../../src/libs/libMatProp -I../../../src/libs/libMDInterp -I../../../src/libs/libhmat -I../../../src/libs/libSGJC -I../../../src/libs/libTriInt -I../../../src/libs/libhrutil -g -O2 -fopenmp -pthread -MT scuff-integrate.o -MD -MP -MF .deps/scuff-integrate.Tpo -c -o scuff-integrate.o scuff-integrate.cc scuff-integrate.cc:11:31: fatal error: readline/readline.h: No such file or directory compilation terminated. Makefile:471: recipe for target 'scuff-integrate.o' failed

thwriedt commented 7 years ago

Solved. There was still a library missing. sudo apt-get install libreadline-dev did help.

thwriedt commented 7 years ago

May it is best to list all libraries I found missing during the make process on an updated Ubuntu 16.04. I also checked with Xubunto 16.03 in a VirtualBox. The correct sequence is

sudo dpkg-divert --local --rename --add /sbin/initctl sudo ln -s /bin/true /sbin/initctl ./configure --without-hdf5 Without the last lines an error ist generated with the next line.

sudo apt-get install runit sudo apt-get install byacc flex sudo apt-get install libreadline-dev ./configure --without-hdf5 make sudo make install

HomerReid commented 7 years ago

I see---you are compiling on a system with some standard development libraries missing. This is very useful feedback, as the compilation should certainly be able to proceed without readline, and it is also not really necessary to require end users to have lex/yacc as well.

In 971e304 I have overhauled the build process to eliminate dependencies on readline and on lex/yacc. I realize you have already successfully built the code, but if you have a second please try to build again under the same conditions that originally resulted in failure to check that the build now goes through without difficulty.

Feel free to keep this issue open by asking further questions, or else close the issue if satisfied.

thwriedt commented 7 years ago

I installed once more in a vdi-clone of Ubutu 16.03 in VirtualBox, but I am not sure whether I already downloaded 971e304. I did do all of this before download and configure: sudo apt-get install git sudo apt-get install autoconf autogen sudo apt-get install automake pkg-config libgtk-3-dev sudo apt-get install libtool sudo apt-get install shtool After download and configure I did all this as listed above:

sudo dpkg-divert --local --rename --add /sbin/initctl sudo ln -s /bin/true /sbin/initctl ./configure --without-hdf5 sudo apt-get install runit sudo apt-get install byacc flex sudo apt-get install libreadline-dev ./configure --without-hdf5 make sudo make install I am not sure whether all this is needed or is still needed with 971e304.

HomerReid commented 7 years ago

OK, well, it's good that it's working for you now. If you have an opportunity to compile again on a pristine system without HDF5, readline, and byacc/flex, please give it a try and let me know if the build doesn't proceed smoothly.

Meanwhile, feel free to keep the issue alive by posting further questions or updates, or else close the issue if it has been resolved to your satisfaction.