【问题标题】:Where am I supposed to install libraries in centos?我应该在 centos 哪里安装库?
【发布时间】:2018-11-12 03:05:13
【问题描述】:

我想使用configuremakesudo make install的标准unixy系统编译和安装一个库。在我习惯的基于 Ubuntu 的系统上,我可以将库放在 /usr/local/lib 中,它们会在运行时找到。这通常是大多数构建系统的默认安装位置。

我现在第一次使用 CentOS 系统,我发现 /usr/local/lib 似乎不是标准位置,我的库无法在运行时加载,因为它们找不到。所以,我的问题是,如果有的话,我可以将我的库放在 CentOS 上的标准安装位置是什么,以便可以找到它们,而不会弄乱 LD_LIBRARY_PATH?

【问题讨论】:

    标签: installation centos


    【解决方案1】:

    您可能需要更新/etc/ld.so.conf 以包含/usr/local/lib(然后运行ldconfig 以重新生成链接器缓存)。您还可以使用 -rpath 链接器参数将 lib 路径嵌入到生成的可执行文件中。这在修补正在运行的系统时会更安全。

    【讨论】:

    • 好的,但要明确一点,在 centos 上没有相当于 /usr/local/lib 的标准位置,人们应该默认放置已构建的库并且已经在路径上?
    • 我手边没有 CentOS 盒子,但我很确定没有默认值,所以只是 Linux 的默认值,不包括 /usr/local。另外我忘了提,请确保您在更改文件后运行ldconfig
    • 您也可以随时使用ldconfig -v 来查看链接器知道哪些路径。
    • 我发现了这个:bugzilla.redhat.com/show_bug.cgi?id=144967 所以我猜 red hat 认为它对用户来说太混乱了。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-11
    相关资源
    最近更新 更多