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

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

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:06

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

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

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

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

你smart check 一下看看吧。

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

原帖由 jiangtao9999 于 2014-6-23 00:00 发表 http://forum.linuxfans.org/images/common/back.gif
有可能是其他软件包引入的依赖导致这个软件包不认当前的 python 提供的 so 版本而只认可那个引入依赖的软件包编译时的版本。

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

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

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

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

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

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

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

原帖由 haulm 于 2014-6-23 00:19 发表 http://forum.linuxfans.org/images/common/back.gif

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