Gmane
Favicon
From: Mike Frysinger <vapier <at> gentoo.org>
Subject: libtool help
Newsgroups: gmane.linux.gentoo.devel
Date: 2004-12-17 19:54:22 GMT (4 years, 28 weeks, 2 days, 14 hours and 31 minutes ago)
it would see that the new libtool-1.5.10 ebuild has a bunch of maintainers 
with broken ebuilds and not knowing what's going on

here's a quick 'how to fix your broken ebuilds' guide ... but first, some 
background on WHY your ebuilds are broken, and libtool is, in fact, the sane 
one in this yankee doodle circus

people, when fixing packages, often patch the source files rather than the 
generated ones (fix configure.{in,ac} instead of configure, etc...) and then 
run the autotools programs (aclocal/autoconf/automake/etc...) to rebuild 
configure/etc...  the problem is that these steps update only half of the 
libtool files (libtool.m4).  the other bundled libtool files (ltmain.sh / 
libtool) are still the same old crusty versions.  so when you run ./configure 
after running `autoconf`, the configure script bails with this:
*** Gentoo sanity check failed! ***
*** libtool.m4 and ltmain.sh have a version mismatch! ***
*** (libtool.m4 = 1.5.10, ltmain.sh = 1.5.2) ***

these files (libool.m4, ltmain.sh, libtool) all must be from the same 
version ... other wise, internal variables will be named differently and 
weird crap can happen (the best example of this is libraries suddenly losing 
their '.so' extensions).  previous libtool ebuilds would try to hack around 
the whole process by running `sed` on libtool to rename internal 
variables ... well base-system decided we're not pulling that crap 
anymore :).  there's no easy way anymore to figure out what the new variable 
needs to be in order to match up with the older version.

so now we've made it the maintainers' problem to fix their broken ebuilds (oh 
the humanity!)

where's the friggin HOWTO i promised you may be asking !?  it's quite simple 
really ... if you run `aclocal` or `autoreconf` or any of that crap, stick a 
`libtoolize --copy --force || die` in the mix.  that will update the 
ltmain.sh / libtool files while the aclocal/autoreconf/blahblah will update 
the libtool.m4

if you want more references, use google or something
-mike

--
gentoo-dev <at> gentoo.org mailing list