pcmanx svn trunk忘掉-lutil

6 views
Skip to first unread message

Funda Wang

unread,
Jun 21, 2008, 11:26:50 AM6/21/08
to PCManX
我正在編譯 svn trunk 的pcmanx,發現plugin/src會link到libutil.so,但沒有在Makefile中指出。這個
問題在使用LDFLAG="-Wl,--as-needed -Wl,--no-undefined"的時候會遇到undefined
reference。

我把一個dirty patch放到這裡:
http://svn.mandriva.com/cgi-bin/viewvc.cgi/packages/cooker/pcmanx-gtk2/current/SOURCES/pcmanx-gtk2-0.3.7-fix-underlink.patch

另外,可能LDFLAGS沒有得到很好的執行,最後會出現:
Warning: unused libraries in /usr/lib64/libpcmanx_core.so.0.3.7:
librt.so.1 libatk-1.0.so.0 libgdk_pixbuf-2.0.so.0 libpangocairo-1.0.so.
0 libpango-1.0.so.0 libcairo.so.2 libgmodule-2.0.so.0 libXrender.so.1
libz.so.1 libutil.so.1 libm.so.6 libgcc_s.so.1

大家可以討論一下。

Jim Huang

unread,
Jun 21, 2008, 11:48:19 AM6/21/08
to PCM...@googlegroups.com
2008/6/21 Funda Wang <fund...@gmail.com>:

> 我正在編譯 svn trunk 的pcmanx,發現plugin/src會link到libutil.so,但沒有在Makefile中指出。這個
> 問題在使用LDFLAG="-Wl,--as-needed -Wl,--no-undefined"的時候會遇到undefined
> reference。
>

hi Funda,

Thanks for your messages from Mandriva!

依據印象,plugin/src/pcmanx-plugin.so 不應該有 reference to libutil
這個 regression 只在 x86-64 發生嗎?

另外,as-needed 的 LDFLAGS 反映系統 shared libraries 排列 symbol
上的問題,正在觀察中,記得從某個版本的 Gtk+ 就是如此。

Regards,
-jserv

Funda Wang

unread,
Jun 21, 2008, 12:45:26 PM6/21/08
to PCManX
On 6月21日, 下午11时48分, "Jim Huang" <jserv...@gmail.com> wrote:
> 2008/6/21 Funda Wang <fundaw...@gmail.com>:
>
> > 我正在編譯 svn trunk 的pcmanx,發現plugin/src會link到libutil.so,但沒有在Makefile中指出。這個
> > 問題在使用LDFLAG="-Wl,--as-needed -Wl,--no-undefined"的時候會遇到undefined
> > reference。
>
> hi Funda,
>
> Thanks for your messages from Mandriva!
>
> 依據印象,plugin/src/pcmanx-plugin.so 不應該有 reference to libutil
> 這個 regression 只在 x86-64 發生嗎?
在i586上一樣也有:

$ rpm -qp --requires pcmanx-gtk2-0.3.7-4.416.1mdv2009.0.i586.rpm |grep
util
libutil.so.1
libutil.so.1(GLIBC_2.0)
$ rpm -qp --requires mozilla-firefox-ext-
pcmanx-0.3.7-4.416.1mdv2009.0.i586.rpm |grep util
libutil.so.1
libutil.so.1(GLIBC_2.0)

>
> 另外,as-needed 的 LDFLAGS 反映系統 shared libraries 排列 symbol
> 上的問題,正在觀察中,記得從某個版本的 Gtk+ 就是如此。
這個在gentoo的wiki有詳細說明:
http://www.gentoo.org/proj/en/qa/asneeded.xml

直觀上說,就是把程式自己的object放到要link的.so之前。

>
> Regards,
> -jserv

pcma...@gmail.com

unread,
Jun 21, 2008, 2:21:26 PM6/21/08
to PCManX
libutil 應該是在 forkpty 用到的,其他地方都沒有
這是在 pcmanx 暗藏的使用 external ssh / telnet 的地方...
Reply all
Reply to author
Forward
0 new messages