rcthomas / es

Elementary Supernova Spectrum Synthesis
http://c3.lbl.gov/es
Other
12 stars 8 forks source link

Could not find CFITSIO #9

Closed tjgarci2 closed 8 years ago

tjgarci2 commented 8 years ago

Hi! I was trying to install SYNAPPS and SYN++ but I seem to have run into a problem. I have CFITSIO properly installed but it doesn't seem like when I run ./configure for es-0.98.1 it can't find it. Attached is a screenshot. screenshot from 2015-12-09 22-12-26

rcthomas commented 8 years ago

Hi, can you tell me what arguments (if any) you gave to configure when you ran it, and what the include and library path to CFITSIO looks like on your machine?

Is this a machine with a lot (hundreds) of cores? If not you might want to skip the SYNAPPS build.

tskisner commented 8 years ago

Could you attach the generated "config.log" file to this issue?

On 12/09/2015 08:15 PM, tjgarci2 wrote:

Hi! I was trying to install SYNAPPS and SYN++ but I seem to have run into a problem. I have CFITSIO properly installed but it doesn't seem like when I run ./configure for es-0.98.1 it can't find it. Attached is a screenshot. screenshot from 2015-12-09 22-12-26 https://cloud.githubusercontent.com/assets/16234842/11706842/4a17e200-9ec2-11e5-88ed-325f1b86b421.png

— Reply to this email directly or view it on GitHub https://github.com/rcthomas/es/issues/9.

tjgarci2 commented 8 years ago

config.docx

I ran it with ./configure --with-cfitsio-include=~/Astro/cfitsio/include --with-cfitsio-lib=~/Astro/cfitsio/lib And the paths should be ~/Astro/cfitsio/include and ~/Astro/cfitsio/lib I'm also just on an Intel i7 laptop running Ubuntu so I should probably skip the SYNAPPS build.

tskisner commented 8 years ago

Try specifying the full paths (no ~) to your home directory in that command.

If that still does not work, then as a workaround, can you try configuring like this: %> CPPFLAGS=-I/home//Astro/cfitsio/include LDFLAGS=-L/home//Astro/cfitsio/lib ./configure (... then same options as before)

Here I assume that your cfitsio install location has been put into your LD_LIBRARY_PATH, etc.

tjgarci2 commented 8 years ago

Where would I go to put my install location into LD_LIBRARY_PATH and would there be anything else I should edit that I might be missing?

tskisner commented 8 years ago

Is there some particular reason you are installing dependencies manually, rather than doing:

%> sudo apt-get install libcfitsio-dev

? There are certainly reasons for compiling things yourself. But doing so usually requires configuring your shell environment. Specifically you should append to PATH any locations containing executable software, you should append to CPATH any include directories, and you should append to LIBRARY_PATH and LD_LIBRARY_PATH and directories containing libraries. How you modify those variables depends on which shell you are using.

tjgarci2 commented 8 years ago

I didn't realize I could install CFITSIO through apt-get so... I ran ES ./configure && make && make install. These are the results. The first screenshot is ./configure and the second is make and make install respectively. screenshot from 2015-12-09 23-54-52 screenshot from 2015-12-09 23-56-28

tskisner commented 8 years ago

It looks like your compiler environment is not standard- I see that libstdc++ is coming from "/home/tjsgarcia/mesasdk". Do you have the standard ubuntu development tools installed?

%> apt-get install build-essential

What c++ compiler are you using?:

%> which g++ %> g++ --version

It is critical that your g++ version is used with a compatible libstdc++. It looks like from your error that the system-installed g++ is trying to use incompatible C++ standard headers/library.

tjgarci2 commented 8 years ago

I have the standard ubuntu development tools. I don't know why it's finding mesasdk's g++. Is there a way to have it find the standard g++ and not mesasdk's?

tjgarci2 commented 8 years ago

Also when I run %> which g++ %> g++ --version I get

tjsgarcia@tgarcia-K55VD:~$ which g++ /home/tjsgarcia/mesasdk/bin/g++ tjsgarcia@tgarcia-K55VD:~$ g++ --version g++.exec (GCC) 4.9.4 20150827 (prerelease) Copyright (C) 2015 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

tjsgarcia@tgarcia-K55VD:~$

rcthomas commented 8 years ago

MESA must have some way of deactivating its SDK toolchain for things like this that you can use. Have you checked the documentation about getting their toolchain backed out of your paths etc? They probably had you add some lines of code to your shell resource file when you installed (or their installer did it for you). These would be things that set PATH and LD_LIBRARY_PATH and so on.

tjgarci2 commented 8 years ago

For now I do not need MESASDK so I deleted it and ran configure, make, and make install again. I think configure and make have worked but I'm unsure about make install. screenshot from 2015-12-10 12-28-43 screenshot from 2015-12-10 12-28-50 screenshot from 2015-12-10 12-28-57

rcthomas commented 8 years ago

Please see https://c3.lbl.gov/es/#installation, in particular the part about --prefix. If you have super-user privileges on this machine you should be able to skip specifying prefix and do "sudo make install" and it will put SYN++ etc under /usr/local. Otherwise, if you do not have super-user privileges on this machine you will want to specify a --prefix value as mentioned in the docs.

tjgarci2 commented 8 years ago

The part of the website where it says "when all is said and done" I have the structure underneath except I didn't install synapps. So I think I've installed it correctly. Thank you for your time.

rcthomas commented 8 years ago

Great!