cosmicrays / hermes

HERMES is a publicly available computational framework for the line of sight integration over galactic radiative processes which creates sky maps in the HEALPix-compatibile format.
GNU General Public License v3.0
22 stars 9 forks source link

Installation errors in ubuntu 18.04 #2

Closed tospines closed 3 years ago

tospines commented 3 years ago

Hi, I am trying to install Hermes in my computer (I use ubuntu 18.04 in a session of MobaXterm) and the compilation shows me several errors such as: /home/Diffuse_models/hermes/include/hermes/integrators/PiZeroIntegrator.h:26:30: error: ‘RingModel’ is not a member of ‘hermes::neutralgas’ std::shared_ptr ngdensity; /home/Diffuse_models/hermes/include/hermes/integrators/PiZeroIntegrator.h:26:30: error: ‘RingModel’ is not a member of ‘hermes::neutralgas’ /home/Diffuse_models/hermes/include/hermes/integrators/PiZeroIntegrator.h:26:39: error: template argument 1 is invalid std::shared_ptr ngdensity;

And other similar ones regarding the declaration of variables not found. I think this is due to my compiler (I am using gcc 8.4.0.)

In addition, when using the command cmake .. I find that CFitsio and doxygen are not found. I even tried a command like: cmake .. -DCFITSIO=/home/Diffuse_models/cfitsio-3.49/ but it does not find it and I get the following warning: Manually-specified variables were not used by the project: CFITSIO

Any ideas on how could I fix these problems?

Thank you in advance.

carmeloevoli commented 3 years ago

Is not -DCIFITSIO but -DCFITSIO

tospines commented 3 years ago

Sorry for the typo, I used -DCFITSIO=...

carmeloevoli commented 3 years ago

looking at the CMake I see two possible solutions: 1) set the environment variable CFITSIO to the location of cfitsio.h 2) add the CFITSIO library path to the LD_LIBRARY_PATH

tospines commented 3 years ago

I have tried both, but it gives me the same warning in the cmake and errors when using make -j. In fact, the message it gives me at the end of the cmake (Manually-specified variables were not used by the project: CFITSIO) makes me think I am not specifying correctly the folder it needs. However, I have tried several combinations as .../cfitsio-3.49/lib .../cfitsio-3.49/include .../cfitsio-3.49/ but I got the same warning and error messages

carmeloevoli commented 3 years ago

don't use -DCFITSIO from now on, check first if you set the glob variables properly by doing this: echo $CFITSIO echo $LD_LIBRARY_PATH

tospines commented 3 years ago

These are the outputs: echo $CFITSIO :/home/Diffuse_models/cfitsio-3.49/

echo $LD_LIBRARY_PATH :/home/Diffuse_models/gsl-2.6/lib:/tmp/Qt4.8/qt-everywhere-opensource-src-4.8.6/lib/:/home/Diffuse_models/cfitsio-3.49/lib:/home/Diffuse_models/cfitsio-3.49:/home/Diffuse_models/cfitsio-3.49/include:/home/Diffuse_models/gsl-2.6/lib:/tmp/Qt4.8/qt-everywhere-opensource-src-4.8.6/lib/:/home/Diffuse_models/cfitsio-3.49/lib:/home/Diffuse_models/cfitsio-3.49:/home/Diffuse_models/cfitsio-3.49/include

tospines commented 3 years ago

The issue was solved when installing cfitsio in the /usr/include folder.

Thank you!