1

我希望有一个普通用户,没有sudo访问权限,编译和运行一个使用libblasand的程序,liblapack并使用这些库的至少两个版本(ATLAS 和 OpenBLAS)来执行此操作。我可以从update-alternatives一个版本切换到另一个版本,但我需要使用sudo它。

有没有办法我可以选择图书馆作为普通用户?编译正在-lblas -llapack命令行中使用,也许我可以添加完整路径或其他内容?

4

1 回答 1

1

有没有办法我可以选择图书馆作为普通用户?

是的。在两个包上使用dpkg -x以将它们提取到单独的目录中,例如

mkdir ~/ATLAS; cd ~/ATLAS; dpkg -x /path/to/atlas-package.deb
mkdir ~/OpenBLAS; cd ~/OpenBLAS; dpkg -x /path/to/openblas-package.deb

现在您可以链接您的程序以使用其中一个或另一个:

gcc main.o -o use-atlas -lblas -llapack -L $HOME/ATLAS/lib -Wl,-rpath=$HOME/ATLAS/lib
gcc main.o -o use-openblas -lblas -llapack -L $HOME/OpenBLAS/lib -Wl,-rpath=$HOME/OpenBLAS/lib

(如果库安装到/lib/.

于 2013-08-18T01:11:56.683 回答