【问题标题】:Can't find files which exist (hdf5,h, mpi.h, fftw3.h, libGLU.so.1) - needed for Athena++ and Visit找不到存在的文件(hdf5、h、mpi.h、fftw3.h、libGLU.so.1) - Athena++ 和 Visit 需要
【发布时间】:2019-10-24 14:36:56
【问题描述】:

对于 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 和(尝试使用访问时)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),希望它能够找到它们并且我可以更好地诊断问题。那里也没有运气。

【问题讨论】:

  • 我用cpp -v 测试了搜索路径,发现我所有的搜索路径都在usr 中,所以添加了(使用CPATH,不知道我对此感觉如何)nethome/myname/local/anaconda2/include 克服了大多数这些错误。我似乎仍然有一个库错误,因为它找不到 -lhdf5

标签: mpi hdf5 openmpi


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-30
    相关资源
    最近更新 更多