您尚未登录。

#1 2015-07-05 21:20:43

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

[已解決]libtiff4包奇怪地出現不存在的符號鏈接(/usr/lib/libtiff.so.3)

用AUR中腳本對libtiff4進行打包,一切正常,列出包中內容也一切正常:

pacman -Qlp libtiff4-3.9.7-3-x86_64.pkg.tar.xz
libtiff4 /usr/
libtiff4 /usr/lib/
libtiff4 /usr/lib/libtiff.so.3.9.7
libtiff4 /usr/lib/libtiff.so.4
libtiff4 /usr/lib/libtiffxx.so.3.9.7
libtiff4 /usr/lib/libtiffxx.so.4
libtiff4 /usr/share/
libtiff4 /usr/share/licenses/
libtiff4 /usr/share/licenses/libtiff4/
libtiff4 /usr/share/licenses/libtiff4/LICENSE

然而安裝之後,文件系統中會莫名其妙地多出符號鏈接:/usr/lib/libtiff.so.3和/usr/lib/libtiffxx.so.3,分別指向相應的.so.4。
pacman -Qo /usr/lib/libtiff.so.3 提示沒有包擁有它。
但卸載libtiff4時,多出來的符號鏈接會跟着一起被移除。

該包沒有INSTALL腳本,也就不會有安裝後執行的內容,所以很是奇怪多出來的符號鏈接時哪來的。
p.s.該腳本的原作者也很奇怪爲什麼會多出來符號鏈接(參見AUR中評論 2013-05-27 20:34 )

===可以忽略的故事背景===
之前折騰maya,安裝時候依賴libtiff3,libitff3又依賴libitff4。

libitff3包本身只是幾個符號鏈接,鏈接到libtiff4包會安裝的文件上。
但在安裝時候提示文件衝突,所以前去/usr/lib看到多出來的文件。

最初在自己電腦上安裝時沒怎麼在意這個問題,手動刪除符號鏈接完事。
但是最近想把它們放到社區源中(因爲鏈接經常被牆),而打包時再次出現這個問題。檢查了很久,也沒找到問題在哪。

雖然有一個可繞過本質而臨時解決的方案,但是總不如解決事情本身來得好,所以就問問有沒有人知道怎麼回事。

------ 結論 ------
pacman安裝軟件包後會調用ldconfig,ldconfig自動生成這些符號鏈接。(#2

最近编辑记录 renyuneyun (2015-07-11 23:49:32)


知識很重要,而相當的運用能力更重要。

离线

#2 2015-07-05 22:20:51

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: [已解決]libtiff4包奇怪地出現不存在的符號鏈接(/usr/lib/libtiff.so.3)

那个符号链接是 ldconfig 管理的。你的 libttf4.so.4 文件的 soname 版本是 3,所以 ldconfig 帮你链接了。

离线

#3 2015-07-07 08:53:59

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: [已解決]libtiff4包奇怪地出現不存在的符號鏈接(/usr/lib/libtiff.so.3)

google了一下,發現pacman會自動調用ldconfig。

所以現在的問題是:如何阻止這個行爲?

看到8年前有人提出,然後無疾而終。2012年有人提交了一個patch,但是不知道究竟是否合併到了pacman代碼中,嘗試那個參數也無效。

如果無法解決的話,那就只剩下 把libtiff3包僅有的幾個符號鏈接刪除 這一條路可走了……


知識很重要,而相當的運用能力更重要。

离线

#4 2015-07-07 10:03:10

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: [已解決]libtiff4包奇怪地出現不存在的符號鏈接(/usr/lib/libtiff.so.3)

这个行为对你造成了什么困扰吗?

离线

#5 2015-07-08 08:35:49

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: [已解決]libtiff4包奇怪地出現不存在的符號鏈接(/usr/lib/libtiff.so.3)

百合仙子 说:

这个行为对你造成了什么困扰吗?

是的……

在原本設定中,libtiff4包會提供libtiff.so.4,而libtiff3包提供libtiff.so.3。(雖然都是符號鏈接)

而現在libitff4包一併提供libtiff.so.4和libtiff.so.3,於是libtiff3包失去其存在意義以及(在現有的PKGBUILD基礎上)無法安裝(有文件衝突)。

有些軟件依賴libtiff3,所以就出問題了……


知識很重要,而相當的運用能力更重要。

离线

#6 2015-07-08 09:11:42

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,384
个人网站

Re: [已解決]libtiff4包奇怪地出現不存在的符號鏈接(/usr/lib/libtiff.so.3)

renyuneyun 说:

是的……

在原本設定中,libtiff4包會提供libtiff.so.4,而libtiff3包提供libtiff.so.3。(雖然都是符號鏈接)

而現在libitff4包一併提供libtiff.so.4和libtiff.so.3,於是libtiff3包失去其存在意義以及(在現有的PKGBUILD基礎上)無法安裝(有文件衝突)。

有些軟件依賴libtiff3,所以就出問題了……

那就打个空 libtiff3 包去依赖这个 libtiff4 呗。

离线

#7 2015-07-11 23:45:04

renyuneyun
会员
所在地: 地球
注册时间: 2011-09-30
帖子: 132
个人网站

Re: [已解決]libtiff4包奇怪地出現不存在的符號鏈接(/usr/lib/libtiff.so.3)

嗯……
看來是唯一方案了Orz


知識很重要,而相當的運用能力更重要。

离线

页脚