Ville Skyttä wrote: > On Thu, 2006-10-26 at 09:52 -0500, Rex Dieter wrote: >> Ville Skyttä wrote: >> > >> > trying "gcc -lgtk foo.c" on the above fails as expected, and "gcc -lgdk >> > -lgtk foo.c" succeeds, again as expected. However, to my surprise, >> > "gcc -Wl,--as-needed -lgdk -lgtk foo.c" fails: >> >> Try >> gcc -Wl,--as-needed foo.c -lgtk -lgdk >> or even better: >> gcc -Wl,--as-needed foo.c `pkg-config --libs gtk+` >> instead. > > Both succeed but neither links in libgdk, resulting in runtime symbol > lookup errors. But anyway, that doesn't answer my question, see the two > last paragraphs in my original message at > https://www.redhat.com/archives/fedora-devel-list/2006-October/msg00724.html Yeah, I read it, you only mentioned linking, not runtime errors. (: Confirmed, on fc5 linking succeeds, but then it fails at runtime. ./foo: symbol lookup error: /usr/lib/libgtk-1.2.so.0: undefined symbol: gdk_root_window This is a possible bintutils/ld regression, this works (as expected) with no runtime errors on rhel4. So, in short, I see 2 bugs here: 1. libgtk shouldn't contain undefined symbols. The problem goes away if this is fixed. and possibly: 2. binutils' handling of --as-needed is apparently only looking at the source/object file for dependancies, and not following dependant libraries. It could be argued that it shouldn't have to. See (1). (: -- Rex -- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list