在没有 root 权限的情况下安装犰狳

Installing Armadillo without root permission

我一直在尝试在我既没有 root 权限也没有 sudo 权限的集群环境中安装 C++ armadillo 库。到目前为止,我还没有取得太大的成功。 遵循一些系统管理员基本指南、犰狳自述文件和提供的说明 here,我已经了解了安装部分:

"cmake . -DCMAKE_INSTALL_PREFIX:PATH=<desired directory>

在"desired directory"中,我介绍了我的代码所在的文件夹。

然后我做了

make

make install

然后回到我安装犰狳的目录。我尝试编译我的代码并收到消息: "error: armadillo: No such file or directory" 我的假设是系统根本看不到图书馆。然后系统管理员建议我更改 $LD_LIBRARY_PATH 以便编译器知道在哪里查找。我通过以下方式继续这样做:

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<desired directory>

只是再次出现同样的错误。 ("desired directory" 是我的代码和库所在的目录)。

我怀疑我可能犯了一些非常基本的错误,但这是我第一次尝试解决此类问题。因此,我将不胜感激,感谢您的耐心等待。

根据 Armadillo 网站的 Questions 页面,一种方法是简单地使用 gcc 或 clang 的 -I 选项。如果您在 /home/sergio 中解压了犰狳,以下应该可以解决问题:

g++ prog.cpp -o prog -O2 -I /home/sergio/armadillo-9.100.5/include -DARMA_DONT_USE_WRAPPER -lopenblas -llapack

如果您使用的机器没有安装 OpenBLAS,请将 -lopenblas 更改为 -lblas。 (OpenBLAS 是 BLAS 的快速版本)。