如何避免必须手动 source ~/.profile 或 ~/.bashrc 来使“LD_LIBRARY_PATH”正常工作?

如何避免必须手动 source ~/.profile 或 ~/.bashrc 来使“LD_LIBRARY_PATH”正常工作?

我意识到我需要手动source ~/.bashrc归档或手动source .profile归档以使 .bashrc 文件中指定的设置生效。以下是完整~/.bashrc文件的一些补充:

export LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib/wx
export LD_LIBRARY_PATH=/usr/local/lib/wx/3.3.0

export LD_LIBRARY_PATH=/home/raphy/wxWidgets

.bashrc值得注意的是,我遇到了仅适用于库的非永久设置的问题wxWidgets,为此我添加了最后四行。

我注释了wx库路径.bashrc并添加了以下几行 /etc/ld.so.conf.d/wx.conf并运行sudo ldconfig

raphy@raohy:/etc/ld.so.conf.d$ sudo ldconfig
raphy@raohy:/etc/ld.so.conf.d$ cat wx.conf 
export LD_LIBRARY_PATH=/usr/local/lib
export LD_LIBRARY_PATH=/usr/local/lib/wx
export LD_LIBRARY_PATH=/usr/local/lib/wx/3.3.0

但问题仍然存在。

我必须做什么才能避免手动执行source ~/.profilesource ~/.bashrc

答案1

这些库路径可能应该放在...下的配置文件中/etc/ld.so.conf.d/。因此,在该目录下创建一个文件,例如mylibs.conf,每行添加一个路径(没有冒号,没有引号,没有export和没有LD_LIBRARY_PATH=......只有裸路径) 喜欢:

/usr/local/lib
/usr/local/lib/wx
/usr/local/lib/wx/3.3.0

...并保存文件。

注意这些应该是包含库文件的目录的路径和不是到库文件本身。

之后运行:

sudo ldconfig

...然后重新启动。

...为了良好的实践,并将它们从中删除~/bashrc,并且不要在太多地方定义事物,以致以后无法跟踪它们。

相关内容