Hello,
I have recently attempted to compile Mesa 3.4.1 with GGI support and
while the compilation itself went smoothy, there were some issues with
linking.
The resulting library should obviously be linked with libggi. The
libggi package on a debian/woody system comes with the libggi.la
libtool convenience library and thus the libtool in Mesa build system
prefers it over the bare libggi.so. The file libggi.la is then added
as a dependency to the libMesaGGI.la convenience library created in
src/GGI. The problem comes during the final linking of the libGL.so
library. libtool correctly pulls the dependencies from all the
convenience libraries, but it fails to process them again. Thus, it
passes /usr/lib/libggi.la to the linker instead of processing this
file and passing the correct /usr/lib/libggi.so.
From ltmain.sh, I see you are using libtool 1.3c (2000/03/29) for the
distribution. I have tried using the (recently released) libtool 1.4
and the above problem seems to be gone. However the 1.4 version of
libtool introduces a new feature where it actually does sanity checks
on the version of the library, and it does not consider 030401 a valid
version number (it can either be a single digit 0, or at most a 3
digit number not starting by a 0). Therefore simply replacing the
libtool in the distribution is not an option. The correct solution
would probably be to fix libtool's concept of a version number, but
that will probably take a while.
So I don't actually have a solution. New version of libtool definitely
is needed, however the current newest one won't work with the current
version numbering. Maybe there might be some versions in between 1.3c
and the newest release.
I hope somebody here knows what would be the best thing to do.
BTW: for those who are impatient and want Mesa with GGI support,
simply removing /usr/lib/libggi.la does the trick.
-Filip
|