On 10/05/13 19:30, Rhialto wrote:
On Fri 04 Oct 2013 at 18:51:26 +0000, Christos Zoulas wrote:
Does adding: --no-copy-dt-needed-entries to the link line fix the problem
for you? Perhaps we should consider making this the default again...
http://sourceware.org/ml/binutils/2011-08/msg00131.html
I think the new way is cleaner. It is better to have dependencies
explictly stated.
It may also help with something that I see sometimes[1] when I link some
program which depends on pkgsrc-provided libraries. Sometimes those
libraries use other pkgsrc-provided libraries which are newer than
system-provided libraries of the same name. That situation is detected
and the linker gives a warning that there are different major versions
of the same library. If symbols are resolved only from explicitly stated
libraries, there is a better chance that those incompatible versions are
kept out of each other's hair.
[1] for example when I compile VICE natively, since I am a VICE
developer.
christos
-Olaf.
Well, from to few things I looked at when building 2013Q3 there are
quite a few programs that
have e.g. -lcurses but not -lterminfo which curses needs. Our manual
only states that -lcurses
is needed. The additional dependency to terminfo can be easily found
with ldd :-(.
I am wondering that the requirement to list all libraries may put some
burden on pkgsrc
developers as the configure scripts and at the end the resulting
makefiles need to be fixed.
I have not checked yet how many packages are broken this way (build is
still running),
but it could be a few. Also our man pages need to be fixed, too. Looks
like some rototill in pkgsrc.
Let's see how many packages are broken by this.
Frank