Re: tinderbox breakages in moz, soup, gnome-menus, libgnomeprint



> Tor:
> http://cvs.gnome.org/viewcvs/libgnomeprint/libgnomeprint/Makefile.am?rev=1.115&view=markup
> seems to have broken *make install* there, which I've never seen
> before. Weird error:
> 
> make[3]: Leaving directory
> `/home/bb/microtinder/cvs/libgnomeprint/libgnomeprint/filters'
> make[2]: Leaving directory
> `/home/bb/microtinder/cvs/libgnomeprint/libgnomeprint/filters'
> make[1]: Leaving directory
> `/home/bb/microtinder/cvs/libgnomeprint/libgnomeprint'
> /usr/bin/ld: cannot find -lgnomeprint-2-2
> collect2: ld returned 1 exit status
> libtool: install: error: relink `libgnomeprint-zoom.la' with the above
> command before installing it
> make[3]: *** [install-pluginLTLIBRARIES] Error 1

Hmm. Yes. I think I understand this now. The inter-dependency of the shared
libraries in libgnomeprint is quite complex.
libgnomeprint/libgnomeprint-2-2.la depends on
libgnomeprint/filters/libgnomeprintfilter.la (a "convenience" libtool
library, I think they are called, i.e. one specified in
noinst_LIBLTLIBRARIES, and for which only a static archive is built). So
that has to exist before libgnomeprint-2-2.la is built if we use
-no-undefined.

On the other hand, the "plugin" libraries in libgnomeprint/filter, like
libgnomeprint-zoom.la, since a time ago depend on
libgnomeprint/libgnomeprint-2-2.la, so to be able to build them with
-no-undefined we have to have libgnomeprint-2-2.la.

My recent change was to add in libgnomeprint/filters
../libgnomeprint-2-2.la to the DEPENDENCIES of libgnomeprint-zoom.la (etc),
and a rule to produce it by doing cd .. && $(MAKE) it. For plain "make"
this works fine. But the libtool relink done by "make install" in filters
apparently assumes that the libgnomeprint-2-2 shared object has already
been installed in its final destination when it relinks
libgnomeprint-zoom.la. Which it hasn't. On a "normal" Linux box with GNOME
installed it apparently happens to work anyway as the relink then refers to
the system libgnomeprint-2-2 (boo!)... But I guess tinderbox builds are
built with -nostdlib or in a very bare chroot environment or something?

I will figure out a fix and commit. If nothing else, I can just put
the problematic stuff inside if HAVE_WIN32...

--tml




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]