awsteiner / o2scl

Object-oriented Scientific Computing Library
https://awsteiner.org/code/o2scl
GNU General Public License v3.0
35 stars 14 forks source link

Compilation problem #1

Closed slizovskiy closed 9 years ago

slizovskiy commented 9 years ago

Hi! I try to compile and make o2scl with gcc 4.8 on Linux Ubuntu 14.04 and get a error:

make[3]: Entering directory `/home/sergey/Downloads/o2scl-0.918/src/eos' /bin/bash ../../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include/ -DO2SCL_DATA_DIR=\"/usr/local/share/o2scl/\" -DO2SCL_PART -DO2SCL_EOS -DO2SCL_HDF -DO2SCL_COND_FLAG -g -O2 -std=gnu++11 -MT nstar_rot.lo -MD -MP -MF .deps/nstar_rot.Tpo -c -o nstar_rot.lo nstar_rot.cpp libtool: compile: g++ -DHAVE_CONFIG_H -I. -I../.. -I../../include/ -DO2SCL_DATA_DIR=\"/usr/local/share/o2scl/\" -DO2SCL_PART -DO2SCL_EOS -DO2SCL_HDF -DO2SCL_COND_FLAG -g -O2 -std=gnu++11 -MT nstar_rot.lo -MD -MP -MF .deps/nstar_rot.Tpo -c nstar_rot.cpp -fPIC -DPIC -o .libs/nstar_rot.o In file included from nstar_rot.cpp:39:0: /usr/local/include/gsl/gsl_sf_legendre.h:323:33: error: 'size_t' does not name a type const size_t lmax, const double x, ^

awsteiner commented 9 years ago

Can you tell me what version are you trying to install, and also what version of GSL you are using? I had a similar problem which I fixed in 2b0...b58 by including cstdlib. See, for example, https://github.com/awsteiner/o2scl/commit/2b0c0f0c340b0f5518a8383872a2a59e5deb9b58

slizovskiy commented 9 years ago

Hi! I have downloaded the most recent o2scl-0.918 version. I have installed GSL 2.1 , but there is an older version on my system as well. I am not sure which one is used by default.

awsteiner commented 9 years ago

Ah ok yes. Because gsl-2.0 wasn't released until a couple months after, o2scl-0.918 doesn't work with gsl-2.0 or gsl-2.1 (Actually, the ubuntu and homebrew gsl packages haven't even been updated yet.) You can either (i) install gsl-1.16 for o2scl-0.918, (ii) try installing o2scl directly from the most recent commit in the git repository (which is now compatible with gsl-2.0) or (iii) attempt to download and install the temporary release which I have put up at http://web.utk.edu/~asteine1/o2scl/o2scl-0.919.tar.gz . I'll leave this issue open for a couple days. Let me know if you need more help.

slizovskiy commented 9 years ago

Thank you! I tried the version 19 from your link, and now it's another compilation error: g++ -DHAVE_CONFIG_H -I. -I.. -I../include/ -DO2SCL_READLINE -DO2SCL_DATA_DIR=\"/usr/local/share/o2scl/\" -DO2SCL_PART -DO2SCL_EOS -DO2SCL_HDF -DO2SCL_COND_FLAG -g -O2 -std=gnu++11 -MT acol.o -MD -MP -MF .deps/acol.Tpo -c -o acol.o acol.cpp In file included from acolm.h:45:0, from acol.cpp:27: ../include/o2scl/cli_readline.h:29:31: fatal error: readline/readline.h: No such file or directory

include <readline/readline.h>

                           ^
awsteiner commented 9 years ago

Compiling with the readline and HDF5 libraries is optional, but they are assumed to be present by default. To compile without these libraries, you will need to use the arguments –disable-readline or –disable-hdf to ./configure, respectively.

slizovskiy commented 9 years ago

Dear Andrew, Thank you! I did not know that readline is a library. I had to install -dev files for libncurses and for libreadline. Now it has compiled! I will report any other issues if any later.
Frankly, I got interested in your package to use it for multidimensional interpolation that I need to split 6D integral into doing 3D integrals twice with interpolation in between. I have now found another package https://github.com/bgrimstad/splinter which might be even better for that purpose.
Best wishes, Sergey