无法找到存在的文件(hdf5,h,mpi.h,fftw3.h,libGLU.so.1)-Athena ++和访问所需的文件

问题描述 投票:0回答:1

对于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,并且空间非常有限,所以我所有的工作都在/ localdata / myname上,这是通过〜/ local上的符号链接到达的

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

mpi hdf5 openmpi athena
1个回答
0
投票

能够通过使用cpp -v测试编译器的搜索路径来解决此问题,该路径确定我的搜索路径不在寻找能够找到那些各种.h文件的位置。我使用

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

我确信有更好的方法来执行此操作(因为我已经看到过在各种谷歌搜索中不要使用CPATH的警告),但是如果您遇到这个问题,至少它是我发现对我有用的方法。

© www.soinside.com 2019 - 2024. All rights reserved.