fermi-lat / Fermitools-conda

Conda recipe files for the Fermi Sciencetools software analysis package: Fermitools
https://fermi.gsfc.nasa.gov/ssc/data/analysis/
BSD 3-Clause "New" or "Revised" License
34 stars 16 forks source link

Installing fermitools and heasoft gives a warning #134

Closed ghost closed 1 year ago

ghost commented 1 year ago

Hello all, I found that when I install fermitools after installing HEAsoft, the following warning will appear,

You have LD_LIBRARY_PATH set. This might interfere with the correct functioning of conda and the Fermitools.
You have PYTHONPATH set. This might interfere with the correct functioning of conda and the Fermitools.

How can I install heasoft with fermitools without warning!!!

grburgess commented 1 year ago

I would unset those environment variables.

ghost commented 1 year ago

How to cancel the setting? The setting of Heasoft's environment output has been cancelled, but it will still be automatically configured after make install. After I install fermitools, a warning will still appear,

grburgess commented 1 year ago

https://www.man7.org/linux/man-pages/man1/export.1p.html

ghost commented 1 year ago

Thank you, but I didn't understand the blog document you sent me! Then I found some solutions, You can set environment variables when an environment is activated by editing the activate.d/env_vars.sh script. See here: https://conda.io/docs/user-guide/tasks/manage-environments.html#macos-and-linux The key portions from that link are: 1.Locate the directory for the conda environment in your Terminal window, such as /home/jsmith/anaconda3/envs/analytics. 2.Enter that directory and create these subdirectories and files:

cd /home/jsmith/anaconda3/envs/analytics
mkdir -p ./etc/conda/activate.d
mkdir -p ./etc/conda/deactivate.d
touch ./etc/conda/activate.d/env_vars.sh
touch ./etc/conda/deactivate.d/env_vars.sh

3.Edit ./etc/conda/activate.d/env_vars.sh as follows:

#!/bin/sh

export MY_KEY='secret-key-value'
export MY_FILE=/path/to/my/file/

When you run conda activate analytics, the environment variables MY_KEY and MY_FILE are set to the values you wrote into the file. When you run conda deactivate, those variables are erased.

For more details see https://stackoverflow.com/questions/46826497/conda-set-ld-library-path-for-env-only https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#macos-and-linux

However, I found that I set this environment variable after installing heasoft and fermitools, and it didn't work.

ghost commented 1 year ago

I'm sorry, but I read it wrong, and regarded set LD_LIBRARY_PATH,PYTHONPATH as unset LD_LIBRARY_PATH,PYTHONPATH

ghost commented 1 year ago

I already know that the reason for these two warnings is because I configured these two environments when I configured the environment variables when installing HEAsoft,The first configured environment variables are as follows:

export HEADAS=/home/jisans/workspace/heasoft-6.30.1/x86_64-pc-linux-gnu-libc2.31
       . $HEADAS/headas-init.sh
echo $LD_LIBRARY_PATH
/home/jisans/workdir/heasoft-6.30.1/x86_64-pc-linux-gnu-libc2.31/lib
echo $PYTHONPATH
/home/jian/workdir/heasoft-6.30.1/x86_64-pc-linux-gnu-libc2.31/lib/python:/home/jian/workdir/heasoft-6.30.1/x86_64-pc-linux-gnu-libc2.31/lib

In this way, the environment variables are automatically initialized, and heasoft will automatically configure these two environment variables, and replace them with the following forms,

export HEADAS=/home/jisans/workspace/heasoft-6.30.1/x86_64-pc-linux-gnu-libc2.31
alias h=”. $HEADAS/headas-init.sh”

which only need to be initialized when using heasoft.

donhorner commented 1 year ago

Those warnings will be given if those environment variables are set (by anything). Like the message says, the current setting might interfere with the tools. However, it's usually not a problem. HEASoft and Fermitools generally work well together. Unless you notice a particular problem, you don't need to do anything about it.

ghost commented 1 year ago

I want to use Fermitools to analyze LAT GRB data, but I find that DS9 cannot be used after the Heathoft is initialized. I don't know what the problem is!

donhorner commented 1 year ago

It looks like there is a known issue on Ubuntu with ds9 and HEAsoft : https://heasarc.gsfc.nasa.gov/lheasoft/issues.html.

If the workarounds suggested there don't work, you should followup with the FTOOLS helpdesk since it isn't really a Fermitools issue.

ghost commented 1 year ago

The Ubuntu incompatibility issue with DS9 has been resolved, but both warnings have not been resolved, which is too difficult for me!

donhorner commented 1 year ago

I'm glad you got the ds9 issue resolved. You can ignore the warnings unless the Fermitools fail to run which would usually give you an error about missing or conflicting library which is when you would want to check LD_LIBRARY_PATH or PYTHONPATH for something that is causing that problem.

ghost commented 1 year ago

Sir, can you give me some advice to remove this warning?

kerrm commented 1 year ago

A warning is not necessarily a problem. If your software is running correctly, you can ignore it like Don says.

ghost commented 1 year ago

Thank you for your suggestions, but if I want to use HEASoft and Fermitools at the same time without printing these two warnings, how can I set them?

donhorner commented 1 year ago

I don't think you can get rid of the warnings and use both and it's not worth the time to try. Just go ahead with your analysis.

ghost commented 1 year ago

Haha, yes, now my Fermitools, fermipy and other libraries are running well, there is really no need to spend time to solve this! Thank you for giving me advice during your busy schedule.