Linux 与 Solaris - 编译软件

标签 linux compilation ld

背景:

在工作中,我习惯在 Solaris 10 上工作。我们的系统管理员知道自己在做什么,并且可以在需要时提供帮助。

我已经从源代码编译了 apache、perl 和 mod_perl 等内容,没有任何问题。

我已经获得了一台 Redhat 服务器来使用,但遇到了问题。系统管理员目前请病假。

在构建软件时,我不断遇到有关 LD_LIBRARY_PATH 的问题。目前,出于测试目的,我正在编译到我的主目录,因为我没有 root 权限,也没有安装在其他地方的权限。

我计划在/opt 下有一个区域供我们安装,就像我们在 Solaris 上所做的那样,但我需要系统管理员来为我们创建该区域。

我的 .bashrc 中没有 LD_LIBRARY_PATH 的内容,因此我一直在其中附加一些内容来构建内容(例如来自源代码的 ffmpeg)。我一直在阅读有关此内容的文章,显然这不是可行的方法,它不可靠或其他什么。我无权访问 ldconfig(权限被拒绝)。

现在问题:

在 Linux 下构建应用程序以使其不会崩溃的最佳方法是什么?在/etc/ld.so.conf.d/下创建条目?

谁能简要概述一下 LD_LIBRARY_PATH 的实际用途吗?

最佳答案

来自 ld.so(8) 手册页:

  LD_LIBRARY_PATH
          A colon-separated list of directories in which to search for ELF
          libraries at execution-time.  Similar to  the  PATH  environment
          variable.

但老实说,找一个管理员。如果需要的话,成为其中一员。哦,还有构建包。

关于Linux 与 Solaris - 编译软件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5104637/

相关文章:

linux - curl 成功但 wget 对自定义端口上的请求给出 502 错误

linux - 逐行读入文件并在另一个文件中搜索部分匹配的行

java - 如何将 java 源代码保存在 xml 文件中,并在 IDE 中编辑/编译它?

c - GNU 链接器、-l 标志和隐式规则

linux - Ubuntu 12.04 : ld cannot find library

c - 是什么导致此链接失败( undefined reference )?

linux - Windows下无法运行Laravel Homestead(grep报错)

c++ - 未定义对 'dlsym' 和 'dlopen' 的引用

结构和类之间的 C++ 区别 VS2015 中的初始化

java - JVM 是否使用 kotlinc 来实现 Kotlin?