中国Linux公社论坛's Archiver

haulm 发表于 2014-6-22 22:35

遇到那种死认一个版本号的组件该怎么处理?

python 3.3.0 升到 3.3.2,结果重新编译的某些 python 组件死认 /usr/lib64/libpython3.3m.so.1.0
可是这个文件新包也有啊,可是还是 need /usr/lib64/libpython3.3m.so.1.0,我无语了
最后没办法,python3.3.2 打成 python3.3.0,rpm 终于认了。。。 8O
可是再编译又不认了,最后还是一堆的 AutoReq:0

haulm 发表于 2014-6-22 22:42

以前有遇到过某组件死认一个文件的,后来发现是 autoreqprov 设置的原因,那个是我以前打包时没经验,正确只能设置 autoreq,因为 no prov 所以搞出麻烦来了。
不过 python3.3.0 不懂是怎么回事,原组件看上去是 se 打包的。
另外我发现 akonadi 组件还是需要安装 mysql 和 postgresql 后再编译,虽然可以不依赖,但编译其实是依赖的,否则 akonadi 运行会失败。

jiangtao9999 发表于 2014-6-23 00:00

有可能是其他软件包引入的依赖导致这个软件包不认当前的 python 提供的 so 版本而只认可那个引入依赖的软件包编译时的版本。

所以我之前一直说过,发行版在发行之前,必须再做至少一次,最好是2遍以上的完全重新编译。

你smart check 一下看看吧。

haulm 发表于 2014-6-23 00:19

[quote]原帖由 [i]jiangtao9999[/i] 于 2014-6-23 00:00 发表 [url=http://forum.linuxfans.org/redirect.php?goto=findpost&pid=4970251&ptid=199564][img]http://forum.linuxfans.org/images/common/back.gif[/img][/url]
有可能是其他软件包引入的依赖导致这个软件包不认当前的 python 提供的 so 版本而只认可那个引入依赖的软件包编译时的版本。

所以我之前一直说过,发行版在发行之前,必须再做至少一次,最好是2遍以上的完全重新编译。

... [/quote]
没用,恶心到底,最后用回 se 打包的那个,就算是同样的版本我编译的都不行,因为 rpm 似乎有什么定义被改变了,而且 rpm 还真只认最原始的文件。
rpm 下面 /usr/lib/rpm/redhat 已经是 /usr/lib/rpm/magic 了

haulm 发表于 2014-6-23 00:32

那个依赖就连 Autoreq:0 都无效,不知我有没拼错了,但试了几种大小写都没成功,还好 python3 目前系统并没有大用处,其实是可以删掉 python3 支持,不过都那样了,提供一个残缺的支持。

jiangtao9999 发表于 2014-6-23 13:13

前两天我就碰到一个死认旧版本的,什么软件忘了。
之后我重新编译了 gdk-pixman 再编译这个软件就好了。

sejishikong 发表于 2014-6-24 10:49

[quote]原帖由 [i]haulm[/i] 于 2014-6-23 00:19 发表 [url=http://forum.linuxfans.org/redirect.php?goto=findpost&pid=4970252&ptid=199564][img]http://forum.linuxfans.org/images/common/back.gif[/img][/url]

没用,恶心到底,最后用回 se 打包的那个,就算是同样的版本我编译的都不行,因为 rpm 似乎有什么定义被改变了,而且 rpm 还真只认最原始的文件。
rpm 下面 /usr/lib/rpm/redhat 已经是 /usr/lib/rpm/magic 了 ... [/quote]
就是因为这个原因,python包带了一个过滤provides的脚本,里面写死了redhat,如果不改,就会导致python包provides不出libxx.so.*文件。

页: [1]

Powered by Discuz! Archiver 6.1.0F  © 2001-2007 Comsenz Inc.