linux设置library path,如何在linux中设置环境变量LD_LIBRARY_PATH

我先执行了命令:export LD_LIBRARY_PATH=/usr/local/lib

然后我打开了.bash_profile文件:vi ~/.bash_profile。

在这个文件中,我把:

LD_LIBRARY_PATH=/usr/local/lib

export LD_LIBRARY_PATH

然后,如果终端关闭并重新启动,则键入echo $LD_LIBRARY_PATH不会显示任何结果。

如何永久设置路径?

在这里指出它显而易见...如果你只想修复你所做的事情,添加一个$,例如export LD_LIBRARY_PATH=$LD_LIBRARY_PATH

之后再运行sudo ldconfig

这可能很傻但是你$ source ~/.bash_profile? 我倾向于忘记这一点。 然后像@neckTwi一样说运行ldconfig

您应该添加有关您的发行版的更多详细信息,例如在Ubuntu下,正确的方法是将自定义.conf文件添加到/etc/ld.so.conf.d,例如

sudo gedit /etc/ld.so.conf.d/randomLibs.conf

在文件内部,您应该编写包含您希望添加到系统的所有库的目录的完整路径,例如

/home/linux/myLocalLibs

记得只添加dir的路径,而不是文件的完整路径,该路径中的所有lib都将自动编入索引。

保存并运行sudo ldconfig以使用此库更新系统。

很抱歉没有提及发行版。它的Fedora 16

您可以将此解决方案用于Fedora,Joachim Pileborg建议的解决方案如果您决定将此libs的视图限制为1个特定用户,如果您想要系统范围的lib,则应该使用我的解决方案。这一切都取决于你在寻找什么。

这真的是正确的方法吗?假设您有多个用户构建本地库,并且已将它们都添加到/etc/ld.so.conf.d中。现在用户A可以链接到用户B的本地库。不好。

我确认这适用于Fedora 20。

/usr/local/lib通常已存在,因此无需编辑任何文件,只需sudo ldconfig。

适用于xubuntu 16.04

奇怪的是,它与你们所有人一起工作,但它对我不起作用,而export LD_LIBRARY_PATH ....方式有效!!

这是解决此问题的救星:尝试导入psycopg2时SageMaker中出现'ImportError: libpq.so.5: cannot open shared object file: No such file or directory错误。找到路径使用:$ find ~/ -name libpq.so.5然后使用@ user1824407建议:sudo vim /etc/ld.so.conf.d/pyscopg.conf后跟libpg.so.5的SageMaker位置:/home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/然后运行sudo ldconfig。魔法。

保留上一个路径,不要覆盖它:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/

你可以把它添加到?/ .bashrc:

echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/your/custom/path/' >> ~/.bashrc

LD_LIBRARY_PATH="/path/you/want1:/path/you/want/2"

到/etc/environment

请参阅Ubuntu文档。

更正:我应该采取自己的建议并实际阅读文档。它说这不适用于LD_LIBRARY_PATH:由于Ubuntu 9.04 Jaunty Jackalope,LD_LIBRARY_PATH不能在$ HOME / .profile,/ etc / profile或/ etc / environment文件中设置。你必须使用/etc/ld.so.conf.d/.conf配置文件。*所以user1824407的答案是现货。

哇,我几次看了那页,忽略了这一点。感谢您发现并引起我们的注意。

Ubuntu是一个特例。 Ubuntu的观点是所有用户都想要相同的库,并且每个库只有一个位置(在Launchpad bug#366728中阅读讨论)。但是,在多用户研究或开发系统上,您希望每个用户都能拥有自己的库版本。大多数Linux发行版允许这样做并且已经这么做了很多年。

花了4个小时试图找出为什么我可以设置PATH和PKG_CONFIG_PATH,但不是LD_LIBRARY_PATH。我甚至不能。

@MikhailCheshkov你是我!

文件.bash_profile仅由登录shell执行。您可能需要将其放在~/.bashrc中,或者只需注销并再次登录。

谢谢Joachim Pileborg。我已重启系统,现在它的路径已永久设置。

出于某种原因,没有人提到过bashrc需要在编辑后重新获得的事实。您可以注销并重新登录(如上所述),但您也可以使用命令:source ~/.bashrc或. ~/.bashrc。

或者,您可以使用指定的库目录执行程序:

/lib/ld-linux.so.2 --library-path PATH EXECUTABLE

在这里阅读更多。

非常感谢你帮助我调试!终于那是一个糟糕的道路!!!!

将export LD_LIBRARY_PATH=/usr/local/lib放在~/.bashrc [最好是脚本末尾以避免其间的任何覆盖,默认~/.bashrc带有许多if-else语句]

发布每当您打开新终端/ konsole时,LD_LIBRARY_PATH将被反映出来

很抱歉没有提及发行版。它的Fedora 16

转到主文件夹并编辑.profile

将以下行放在最后

export LD_LIBRARY_PATH=

保存并退出。

执行此命令

sudo ldconfig

您可以尝试添加自定义脚本,例如/etc/profile.d中的myenv_vars.sh。

cd /etc/profile.d

sudo touch myenv_vars.sh

sudo gedit myenv_vars.sh

将其添加到空文件中,然后保存。

export LD_LIBRARY_PATH=/usr/local/lib

注销和登录,LD_LIBRARY_PATH将永久设置。

很棒的答案。我最好选择在系统初始化期间每次导出路径,并且比物理编辑/ etc / bashrc更安全

我在Mint 15到17中执行以下操作,也适用于ubuntu服务器12.04及更高版本:

sudo vi /etc/bash.bashrc

滚动到底部,然后添加:

export LD_LIBRARY_PATH=.

所有用户都添加了环境变量。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值