我希望有一个普通用户,没有sudo
访问权限,编译和运行一个使用libblas
and的程序,liblapack
并使用这些库的至少两个版本(ATLAS 和 OpenBLAS)来执行此操作。我可以从update-alternatives
一个版本切换到另一个版本,但我需要使用sudo
它。
有没有办法我可以选择图书馆作为普通用户?编译正在-lblas -llapack
命令行中使用,也许我可以添加完整路径或其他内容?
我希望有一个普通用户,没有sudo
访问权限,编译和运行一个使用libblas
and的程序,liblapack
并使用这些库的至少两个版本(ATLAS 和 OpenBLAS)来执行此操作。我可以从update-alternatives
一个版本切换到另一个版本,但我需要使用sudo
它。
有没有办法我可以选择图书馆作为普通用户?编译正在-lblas -llapack
命令行中使用,也许我可以添加完整路径或其他内容?
有没有办法我可以选择图书馆作为普通用户?
是的。在两个包上使用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/
.