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 failure on ubuntu #161

Closed sanj0212 closed 6 years ago

sanj0212 commented 6 years ago

I am installing scuff-em on ubuntu 16.04. While configuring scuff-em.. I first got hdf5 related error.. i.e. hdf5 not found. I solved that error after some search.. ./configure CPPFLAGS="-I/usr/include/hdf5/serial -L/usr/lib/x86_64-linux-gnu/hdf5/serial" LDFLAGS=-L/usr/lib/x86_64-linux-gnu/hdf5/serial this solved hdf5 related error//

next I run make command.. I got below failed error. Kindly suggest how to solve this error.

libtool: link: ranlib .libs/libscuff.a libtool: link: rm -fr .libs/libscuff.lax libtool: link: ( cd ".libs" && rm -f "libscuff.la" && ln -s "../libscuff.la" "libscuff.la" ) make[4]: Leaving directory '/home/apps/scuff-em/src/libs/libscuff' Making all in python make[4]: Entering directory '/home/apps/scuff-em/src/libs/python' make[4]: No rule to make target 'scuff-python.cpp', needed by 'all'. Stop. make[4]: Leaving directory '/home/apps/scuff-em/src/libs/python' Makefile:382: recipe for target 'all-recursive' failed make[3]: [all-recursive] Error 1 make[3]: Leaving directory '/home/apps/scuff-em/src/libs' Makefile:377: recipe for target 'all-recursive' failed make[2]: [all-recursive] Error 1 make[2]: Leaving directory '/home/apps/scuff-em/src' Makefile:427: recipe for target 'all-recursive' failed make[1]: [all-recursive] Error 1 make[1]: Leaving directory '/home/apps/scuff-em' Makefile:359: recipe for target 'all' failed make: *** [all] Error 2

HomerReid commented 6 years ago

You need the SWIG package to build the python interface from source. (On a Debian/Ubuntu system you should be able to install it by saying sudo apt-get install swig).

Alternatively, you can configure --without-python to bypass compilation of the python interface.

Regarding the HDF5 issue you reported, what you did is correct, and I added some comments to the installation documentation that will hopefully clarify the situation. (Minor note: You don't need the -L... portion in your CPPFLAGS, only in your LDFLAGS, but this is harmless.)

Feel free to ask more questions, or close the issue if resolved.

sanj0212 commented 6 years ago

Thanks for the input. SWIG is already there in my system (SWIG 3.0.8). So the error should not come. I could install scuff-em --without-python successfully . But python interface is very useful. Kindly suggest how can I resolve SWIG issue and make it work with python interface. I am using python 2.7

HomerReid commented 6 years ago

What happens if you add the --enable-maintainer-mode option to configure?

sanj0212 commented 6 years ago

Thanks a lot.. issue is resolved. I didn't get error message.

HomerReid commented 6 years ago

The first time you build in a new source tree, you should run sh autogen [options] instead of configure [options]. This will have the same effect as running configure --enable-maintainer-mode later.

This is actually documented on the installation page:

http://homerreid.github.io/scuff-em-documentation/reference/Installing/

but I realize that these things can be confusing.

Feel free to ask further questions, or close the issue if resolved.