如何在没有 root 权限的情况下为自定义安装创建符号链接?
How to create symbolic links for custom installation without root permission?
首先,我必须说我不太熟悉 UNIX 命令、shell 语言等。
我愿意安装 Google 库 SentencePiece (> https://github.com/google/sentencepiece),这是一个 fairseq 脚本的依赖项,用于预处理一些语音数据。我按照 git 存储库中 README.md 中所述的安装程序进行操作。
我没有 root 权限,因此我无法使用 cmake(意味着在 /etc 中)以预先识别的方式安装它,我不得不将它安装在自定义目录中。
出于同样的原因,由于我没有 root 权限,也没有访问 /etc 目录的权限,所以我无法执行最后一行:sudo ldconfig -v
。在没有 sudo 的情况下尝试执行显然会返回权限错误。
现在,如果我尝试从 SentencePiece 调用一个函数,我会得到一个错误:
spm_train: error while loading shared libraries: libsentencepiece_train.so.0: cannot open shared object file: No such file or directory
我知道这是因为我没有在这些依赖项(和可执行文件?)之间构建任何 link,因为我无法执行 ldconfig
,因此我不知道如果我应该使用指向我的自定义目录的指定路径调用它(因此不需要 root 权限,因为不需要访问 /etc ?)或者我是否需要使用另一个命令?这两种情况,我都不知道怎么办。
在此先感谢您的帮助!
运行 ldconfig -n path/to/shared/libs
和export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/shared/libs
似乎解决了我的问题!
首先,我必须说我不太熟悉 UNIX 命令、shell 语言等。 我愿意安装 Google 库 SentencePiece (> https://github.com/google/sentencepiece),这是一个 fairseq 脚本的依赖项,用于预处理一些语音数据。我按照 git 存储库中 README.md 中所述的安装程序进行操作。
我没有 root 权限,因此我无法使用 cmake(意味着在 /etc 中)以预先识别的方式安装它,我不得不将它安装在自定义目录中。
出于同样的原因,由于我没有 root 权限,也没有访问 /etc 目录的权限,所以我无法执行最后一行:sudo ldconfig -v
。在没有 sudo 的情况下尝试执行显然会返回权限错误。
现在,如果我尝试从 SentencePiece 调用一个函数,我会得到一个错误:
spm_train: error while loading shared libraries: libsentencepiece_train.so.0: cannot open shared object file: No such file or directory
我知道这是因为我没有在这些依赖项(和可执行文件?)之间构建任何 link,因为我无法执行 ldconfig
,因此我不知道如果我应该使用指向我的自定义目录的指定路径调用它(因此不需要 root 权限,因为不需要访问 /etc ?)或者我是否需要使用另一个命令?这两种情况,我都不知道怎么办。
在此先感谢您的帮助!
运行 ldconfig -n path/to/shared/libs
和export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/shared/libs
似乎解决了我的问题!