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

Scuff-em install error #110

Closed wmkwmkwmk closed 7 years ago

wmkwmkwmk commented 7 years ago

I'm a beginner of scuff-em I have successfully installed LAPACK/BLAS/HDF5/python/gmsh.

However, when I try to install scuff-em, I meet trouble again.

First of all, I input: cd scuff-em sh autogen.sh --prefix=/home/mwangak/scuff-em-app

It works well, however it is installed in "scuff-em" instead of "scuff-em-app", and returns: configure: * The configure process was successful. configure: * Now type 'make' to compile and sudo 'make install'.

Secondly, I input: "make install"

After many strings, it returns as follows:

make[4]: Entering directory /home/mwangak/scuff-em/src/libs/libMatProp/cmatheval' /bin/sh ../../../../ylwrap parser.y y.tab.c parser.c y.tab.h parser.h y.output parser.output -- yacc -d ../../../../ylwrap: line 109: yacc: command not found make[4]: *** [parser.c] Error 1 make[4]: Leaving directory /home/mwangak/scuff-em/src/libs/libMatProp/cmatheval' make[3]: * [install-recursive] Error 1 make[3]: Leaving directory /home/mwangak/scuff-em/src/libs/libMatProp' make[2]: *** [install-recursive] Error 1 make[2]: Leaving directory/home/mwangak/scuff-em/src/libs' make[1]: *\ [install-recursive] Error 1 make[1]: Leaving directory `/home/mwangak/scuff-em/src' make: * [install-recursive] Error

Do you guys know what happened here? Is it due to I install it into the same "scuff-em" folder? Or I lack some library documents? Could you help me on that? Thanks a lot!

BTW, the server OS I'm using now is centos6.8.

HomerReid commented 7 years ago

The problem with the installation directory is not really a problem---the compilation failed before the installer could attempt to install the code, so it didn't install it anywhere. You are using the --prefix option correctly, and when your build succeeds the code will be installed in the directory you specified.

The reason the compilation is failing is that your system is missing the standard yacc program, which is installed by default in most Linux distributions.

I did a little googling and found this: http://stackoverflow.com/questions/20673398/yacc-cannot-be-used-in-centos6-4

which suggests that your problem may be solved by running the commands

% yum install -y byacc

and then repeating the SCUFF-EM installation.

wmkwmkwmk commented 7 years ago

Thanks, your solution perfectly help me to solve the problem!

HomerReid commented 7 years ago

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

Note that in response to issue #109 I overhauled the build system so that yacc is no longer required, so in the future you will not need to go through the above steps.