找不到存在的文件 (hdf5,h, mpi.h, fftw3.h, libGLU.so.1) - Athena++ 和 Visit 需要

Can't find files which exist (hdf5,h, mpi.h, fftw3.h, libGLU.so.1) - needed for Athena++ and Visit

相对较新 Linux 并尝试使用一个程序(Athena++ - https://github.com/PrincetonUniversity/athena-public-version/wiki - 一个磁流体动力学代码)来进行我的研究。

我已经按照那里的教程进行操作,并且可以 运行 进行更简单的模拟,但是对于任何需要 mpi 或 hdf5 的东西,我 运行 正在解决一个问题,上面写着 致命错误:hdf5.h:没有这样的文件或目录

[sferrel6@phys44222 athena]$ make
g++  -O3 -std=c++11 -c src/main.cpp -o obj/main.o
In file included from src/main.cpp:43:0:
src/outputs/outputs.hpp:22:18: fatal error: hdf5.h: No such file or directory
 #include <hdf5.h>
                  ^
compilation terminated.
make: *** [obj/main.o] Error 1

同样,我在 mpi.h、fftw3.h 和(尝试使用 Visit 时)libGlu.so.1

也遇到了同样的问题

这些文件肯定存在,但我不知道如何让我的程序看到它们。

$ find -iname "hdf5.h"
~/local/anaconda2/pkgs/hdf5-1.10.4-nompi_h3c11f04_1106/include/hdf5.h
~/local/anaconda2/pkgs/hdf5-1.10.4-hb1b8bf9_0/include/hdf5.h
~/local/anaconda2/include/hdf5.h
$ find -iname "mpi.h"
~/local/anaconda2/pkgs/openmpi-4.0.1-hc99cbb1_2/include/mpi.h
~/local/anaconda2/include/mpi.h
find -iname "libGLU.so.1"
~/local/anaconda2/lib/libGLU.so.1
~/local/anaconda2/pkgs/libglu-9.0.0-hf484d3e_1/lib/libGLU.so.1

我已经尝试在 .bash_profile 中更新我的路径(我在 RHEL7 上)以包含这些路径,但无济于事 - 仍然是同样的错误。我也尝试过使用 export CPATH='~/local/anaconda2/include' 但这没有帮助。

请注意,我在大学机器上工作,这意味着我不能使用 sudo(为什么一切都通过 anaconda)。 另外,这意味着我的目录结构有点不正统。

~ 是 nethome/myname 并且非常有限 space 所以我所有的工作都在 /localdata/myname 是通过符号 link 在 ~/local

我还尝试将这些特定文件复制到我的 Athena 目录(~/local/athena,我从中 运行ning 我的 athena Makefile)希望它能够找到他们,我可以更好地诊断问题。也没有运气。

能够通过使用 cpp -v 测试编译器搜索路径来解决这个问题,这确定我的搜索路径没有在寻找我能够找到那些各种 .h 文件的地方。我使用

更新了这个
export CPATH='/nethome/myname/local/anaconda2/include:/nethome/myname/local/anaconda2/lib'

我确信有更好的方法来做到这一点(因为我在各种谷歌搜索中看到了关于使用 CPATH 的警告),但如果你遇到这个问题,至少我发现这是有效的方法对我来说。