On 9 Apr, Christopher J Peikert wrote:
>> I don't know a lot about how exactly the linker works but if I rember correctly
>> I once saw a linking process where the order the libs were written mattered.
>> That means that the library defining a symbol has to be given *after* the library
>> requesting it. So may be you can just play with the order in which the libs are
>> listed or even put them twice...
>
> I found a solution to the problem. In the list of library directories
> given in the Makefile, /usr/X11/lib appears before /usr/lib. My
> /usr/X11/lib directory had a copy of libz.a residing in it, and it
> must have been old because there was no "gzopen" symbol defined in it,
> nor any of the others. I copied my newer libz.a into that directory
> and things compiled fine. So now some questions for the developers:
Very strange. What does the version in /usr/X11/lib export then?
I only have one libz, in /usr/lib/libz.a
I put xml-libs before gtk-libs in app/Makefile.am. Could you test if
it works now?
>
> 1. Should Dia really be statically-linking libz? Shouldn't there be
> a parameter to use shared libs?
No it shouldn't, and it doesn't for me.
> 2. Shouldn't /usr/lib appear before /usr/X11/lib in the list of
> libraries/directories in app/Makefile?
It shouldn't really matter.
> 3. Is my system just messed up in having a libz.a sitting around in
> /usr/X11/lib?
I think soo, but i've seen this particular problem from other people.
/ Alex