这是一个关于编译依赖和包pipe理的典型问题 。
我有一个关于编译端口/软件或在我的* nix服务器上安装RPM的问题。 当我尝试这样做时,会收到很多关于缺less依赖关系的消息。
服务器故障社区可以帮忙吗?
欢迎来到服务器故障。 总的来说,这种types的问题不在这里讨论。 预计大多数系统pipe理员在通过修改自己的工作站成为系统pipe理员之前就已经面临这个问题。 但是,来自Windows背景的系统pipe理员可能不会遇到这个问题,所以这里有一些需要考虑的事情:
软件包pipe理器(如yum或apt为您处理这些依赖关系。 另外,它们也可以用来pipe理服务器上软件的更新。 大多数* nix的版本都会默认安装一个软件包pipe理器,尤其是在预装操作系统的VPS上。 如果您真的不熟悉这一点,请在您的生产系统上使用其中之一,并在编译或安装testing环境的最新版RPM时节省冒险。
大多数软件包pipe理器可以configuration为使用不同的软件仓库 – 您可能会发现有一个软件包提供了您需要的软件包版本,并且仍然允许您利用软件包pipe理器的function。
在这种情况下,您可能需要确定依赖关系(或者吸取它并使用更稳定/通用的软件版本)。 您应该在testing环境中执行以下操作,并仔细logging您的操作:
如果你已经遵循了上述所有步骤,并且仍然遇到麻烦,那么你可能会遇到一些其他服务器故障者可能乐意提供帮助的奇怪问题。 创build一个新的问题,提供您正在尝试安装哪些软件,哪个版本以及您所看到的确切错误消息的详细信息。
./configure && make && make install不要使用./configure && make && make install ! 软件包pipe理是为了这个原因而发明的,以防止由于难以追踪的安装许多相冲突的文件而导致的笨拙和难以维护的混乱。 libfoo和libfoo-devel (或者-dev )包。 fpm ( https://github.com/jordansissel/fpm )将tarball转换成整洁的RPM和DEB http://rpmfind.net是查找软件包名称的好地方,如果您知道安装过程中抱怨的文件名称。 不过,我们不build议从不同版本的软件包中进行匹配和混合。