简体   繁体   English

告诉rpm使用较新版本的依赖项

[英]tell rpm to use newer version of dependency

I have an RPM that requires TBB >= 4, however on aws linux I only have tbb 2.x. 我有一个需要TBB> = 4的RPM,但是在aws linux上,我只有tbb2.x。 I have compiled tbb 4.3 from source and places the files in /usr/include/tbb & /usr/include/serial/tbb . 我已经从源代码编译了tbb 4.3,并将文件放在/usr/include/tbb/usr/include/serial/tbb

If I now manually try to install with rpm -ivh , the install fails with a message 如果现在我手动尝试使用rpm -ivh安装,安装将失败并显示一条消息

error: Failed dependencies:
        tbb >= 4 is needed by xxx.rpm

So how can I tell the install that the new version is available in /usr/include/tbb? 那么,如何告诉安装程序新版本在/ usr / include / tbb中可用?

thx Art 艺术

If you are installing an RPM that requires TTB >= 4, then presumably there exists in the same source a necessary version of TBB. 如果要安装要求TTB> = 4的RPM,则可能在同一源中存在必需的TBB版本。 Otherwise, it sounds like you are trying to mix and match RPMs from different sources in ways that are almost guaranteed to cause problems. 否则,听起来您正在尝试以几乎保证会引起问题的方式来混合和匹配来自不同来源的RPM。

You need to either (a) install a package that contains the necessary dependency information to satisfy TBB version requirement, or (b) you need to install everything from source instead of a single dependency. 您需要(a)安装一个包含必要的依赖关系信息的软件包,以满足TBB版本要求,或者(b)您需要从源代码安装所有内容 ,而不是一个依赖项。

While you could build a package yourself satisfying (a), the fact that you have an rpm with this requirement suggests that such a package already exists. 尽管您可以自己创建一个满足(a)的软件包,但是您具有满足此要求的rpm的事实表明该软件包已经存在。

Trying to combine the two practices (install from package vs. install from source) is only going to cause sadness and doom. 试图结合这两种做法(从软件包安装与从源代码安装)只会造成悲伤和厄运。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM