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 #69

Closed ZhihaoJia16 closed 8 years ago

ZhihaoJia16 commented 8 years ago

Dear Homer, I am installing scuff-em, and meet some problems.

% sudo apt-get install liblapack-dev libblas-dev libhdf5-serial-dev python-dev gmsh % git clone https://homerreid@github.com/HomerReid/scuff-em.git % cd scuff-em % sh autogen.sh --prefix=/path/to/scuff-em-installation-directory

I do these steps, then I get the following results:

... config.status: creating unitTests/Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands configure: configure: * The configure process was successful. configure: * Now type 'make' to compile and sudo 'make install'. configure:

then i do "make", get following results:

jzh@jzh-virtual-machine:~/scuff-em/scuff-em$ make make all-recursive make[1]: Entering directory /home/jzh/scuff-em/scuff-em' Making all in src make[2]: Entering directory/home/jzh/scuff-em/scuff-em/src' Making all in libs make[3]: Entering directory /home/jzh/scuff-em/scuff-em/src/libs' Making all in libhrutil make[4]: Entering directory/home/jzh/scuff-em/scuff-em/src/libs/libhrutil' make[4]: Nothing to be done for all'。 make[4]:Leaving directory/home/jzh/scuff-em/scuff-em/src/libs/libhrutil' Making all in libhmat make[4]: Entering directory /home/jzh/scuff-em/scuff-em/src/libs/libhmat' make all-am make[5]: Entering directory/home/jzh/scuff-em/scuff-em/src/libs/libhmat' g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/libs/libhrutil -I../../.. -g -O2 -Wall -W -Wcast-qual -Wpointer-arith -

Wcast-align -pedantic -Wno-long-long -Wshadow -Wwrite-strings -Wredundant-decls -pedantic -fopenmp -pthread -MT tGetEntries.o

-MD -MP -MF .deps/tGetEntries.Tpo -c -o tGetEntries.o tGetEntries.cc tGetEntries.cc:29:31: fatal error: readline/readline.h: No such file or directory

include <readline/readline.h>

                           ^

compilation terminated. make[5]: * [tGetEntries.o] Error 1 make[5]:Leaving directory /home/jzh/scuff-em/scuff-em/src/libs/libhmat' make[4]: *** [all] Error 2 make[4]:Leaving directory/home/jzh/scuff-em/scuff-em/src/libs/libhmat' make[3]: * [all-recursive] Error 1 make[3]:Leaving directory `/home/jzh/scuff-em/scuff-em/src/libs' make[2]: * [all-recursive] Error 1 make[2]:Leaving directory/home/jzh/scuff-em/scuff-em/src' make[1]: **\* [all-recursive] Error 1 make[1]:Leaving directory/home/jzh/scuff-em/scuff-em' make: * [all] Error 2

and then i do "sudo make install", get following results:

jzh@jzh-virtual-machine:~/scuff-em/scuff-em$ sudo make install Making install in src make[1]: Entering directory /home/jzh/scuff-em/scuff-em/src' Making install in libs make[2]: Entering directory/home/jzh/scuff-em/scuff-em/src/libs' Making install in libhrutil make[3]: Entering directory /home/jzh/scuff-em/scuff-em/src/libs/libhrutil' make[4]: Entering directory/home/jzh/scuff-em/scuff-em/src/libs/libhrutil' make[4]: Nothing to be done for install-exec-am'。 /bin/mkdir -p '/path/to/scuff-em-installation-directory/include/scuff-em' /usr/bin/install -c -m 644 libhrutil.h '/path/to/scuff-em-installation-directory/include/scuff-em' make[4]:Leaving directory/home/jzh/scuff-em/scuff-em/src/libs/libhrutil' make[3]:Leaving directory /home/jzh/scuff-em/scuff-em/src/libs/libhrutil' Making install in libhmat make[3]: Entering directory/home/jzh/scuff-em/scuff-em/src/libs/libhmat' make install-am make[4]: Entering directory `/home/jzh/scuff-em/scuff-em/src/libs/libhmat' g++ -DHAVE_CONFIG_H -I. -I../../.. -I../../../src/libs/libhrutil -I../../.. -g -O2 -Wall -W -Wcast-qual -Wpointer-arith -

Wcast-align -pedantic -Wno-long-long -Wshadow -Wwrite-strings -Wredundant-decls -pedantic -fopenmp -pthread -MT tGetEntries.o

-MD -MP -MF .deps/tGetEntries.Tpo -c -o tGetEntries.o tGetEntries.cc tGetEntries.cc:29:31: fatal error: readline/readline.h: No such file or directory

include <readline/readline.h>

                           ^

compilation terminated. make[4]: * [tGetEntries.o] Error 1 make[4]:Leaving directory `/home/jzh/scuff-em/scuff-em/src/libs/libhmat' make[3]: * [install] Error 2 make[3]:Leaving directory/home/jzh/scuff-em/scuff-em/src/libs/libhmat' make[2]: **\* [install-recursive] Error 1 make[2]:Leaving directory/home/jzh/scuff-em/scuff-em/src/libs' make[1]: [install-recursive] Error 1 make[1]:Leaving directory`/home/jzh/scuff-em/scuff-em/src' make: \ [install-recursive] Error 1 jzh@jzh-virtual-machine:~/scuff-em/scuff-em$

Now, is scuff-em installed successfully ?If not, how to solve these problems ?

Thanks a lot for your time and help. Best. Zhihao Jia

gevero commented 8 years ago

Hi

it looks like the readline.h file is missing. try installing with apt-get packages the should look like libreadline6, libreadline6-dev or something like that.

best

Giovanni

ZhihaoJia16 commented 8 years ago

I install libreadline6, libreadline6-dev, then success. Thank you very much.

HomerReid commented 8 years ago

Whoops! This was my mistake. (Giovanni, thanks for your help in clearing it up!)

The fix recommended by Giovanni is indeed the correct thing to do. However, the fact that you got this error in the first place is actually a mistake on my part, because the configure script tests for the presence of libreadline and turns off the compilation of code features that depend on it if the library is not found. My mistake was that in the test program tGetEntries for libhmat I failed to insert code to test for the presence of this library before depending on it.

I have fixed this in the latest commit. Thanks for the bug report!