> 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:

1.  Should Dia really be statically-linking libz?  Shouldn't there be
    a parameter to use shared libs?

2.  Shouldn't /usr/lib appear before /usr/X11/lib in the list of
    libraries/directories in app/Makefile?

3.  Is my system just messed up in having a libz.a sitting around in
    /usr/X11/lib?

Thanks,
-Chris Peikert

Reply via email to