Gerd Hoffmann kraxel@redhat.com writes:
Well. Even pretty fundamental GNOME stuff like gtk2-devel is still broken. Look here:
[root@localhost ~]# pkg-config --libs gtk+-2.0 -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0
Are all these libraries really required? Putting them into a linker line causes a huge overlinking adding lots of unneeded direct dependencies to rpm packages.
-lX11 is missing (at least, maybe more).
That's the problem with the current DSO change :( It causes packagers or upstream developers to define typical use cases (e.g. when somebody calls 'mylib_foo(otherlib_struct *)' he calls usually 'otherlib_init(otherlib_struct *)', so that '-lotherlib' is usually needed).
Such soft decisions are far away from being reliable and to work for everybody...
I ended up for 'xmlrpc-c' to replace .so symlinks by linker scripts with
| INPUT(<main-lib> AS_NEEDED(<dep-libs>+))
commands. The <dep-libs> list is created by extracting recursively the NEEDED libs from <main-lib>.
Not very nice but probably to only way to cope with '--no-add-needed' :(
Enrico