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

Some depends missing in the install instructions #76

Open stevenwalton opened 8 years ago

stevenwalton commented 8 years ago

I'm working off a pretty much vanilla Debian system so these are just what I'm catching that throws errors in the install. Add libtool shtool automake autoconf gfortran g++ make I'll still mention that I get errors at configure: error: Could not find OpenMP flag; configure with --without-openmp and/or --with-pthreads configure: error: couldn't find HDF5; configure --without-hdf5 configure: error: BLAS was not found! When I got g++ installed (actually thought it was until I saw an earlier catch from the config lol) the OpenMP and BLAS errors disappeared.

I have hdf5-helpers libhdf5-8 libhdf5-cpp-8 libhdf5-dev libhdf5-openmpi-8 libhdf5-serial-dev all installed so I'm not sure where the h5 error is coming from.

I still have some issues with the make but I'm done for today and want to start a record of the issues and solutions that I've found.

HomerReid commented 8 years ago

Thanks for the feedback.

It looks like most or all of the packages you needed to install are packages that would need to be installed to build pretty much any open-source package, so this is probably not a SCUFF-EM issue.

For the HDF5 error, you can usually figure out what is going on by opening config.log and scrolling up to the section prefaced by a line saying checking hdf5.h usability or something like that. Then you'll see the actual small program the configure script tried to compile, and the compiler options it used, together with the error condition that caused it to conclude that your system doesn't have HDF5. That should make it easy to figure out what's wrong.

On Mint/Ubuntu systems the standard default packages that provide HDF5 seem to work fine for this purpose, so it may be a difference between Debian and Ubuntu.

Note that eventually you will probably want to install a hardware-tuned BLAS like OpenBLAS for optimal performance.

Good luck!

stevenwalton commented 8 years ago

Well I have BLAS installed actually, but that issue went away. Same with hdf5. h5c++ is installed on this system and works. I'll look a little more for the conflict.

And I just wanted to document those depends for others. I was building this so that I could help a friend who was having issues. I just wanted to track what I've done, I know there are many scientists who aren't as familiar with Linux.

I appreciate what you're doing, I always gotta hand it to someone who provides well written physics software. I'll try to help if I run into more issues.

Thanks.

zimoun commented 8 years ago

It comes from different locations, between Debian and Ubuntun and so on. And it should be possible that when you added h5c++, then you added hdf5.h in the expected location by scuff-em.

Basically, Debian puts HDF files in /usr/include/hdf5/name. In our case name is serial. And the scuff-em does not looks at this location. Normal because it is not a classical place. Anyway.

To fix it, the easiest should to give options, .e.g ./configure --with-hdf5=/usr/include/hdf5/serial.

However, this does not work with the current Autotools config files, because /include is added to path of the option --with-hdf5. Two choices:

Hope that help.