On 3 Oct 2009, Simon J. Rowe said:
> I'm trying to rebuild the newest version of sane-backends and have run up
> against an error from libtool
>
> + make
> cd . && /bin/sh /home/srowe/rpmbuild/BUILD/sane-
> backends-1.0.20/iscan-2.10.0/missing --run aclocal-1.9 -I m4
> configure.ac:200: error: unknown libltdl build type: _LTDL_TYPE
> /usr/share/aclocal/ltdl.m4:220: LTDL_INIT is expanded from...
> /usr/share/aclocal/ltdl.m4:346: AC_LIB_LTDL is expanded from...
> configure.ac:200: the top level
> autom4te: /usr/bin/m4 failed with exit status: 1
> aclocal-1.9: autom4te failed with exit status: 1
> make: *** [aclocal.m4] Error 1
The problem here is that something, probably a skewed datestamp (from a
version control system that doesn't store them?) has concluded that
aclocal.m4 is older than acinclude.m4, and has rebuilt it. You've ended
up pulling in a libtool.m4 from a different version of libtool than that
used to build configure.ac in the first place, and *whoom* instant
problems.
Solution simple:
autoreconf -fiv
.... and you should be happy.
> I have had a hate/hate relationship with libtool, auto* etc for many years.
> They are mind-bogglingly over-engineered and fragile. I don't know why
> anyone in their right mind would ever consider using them.
Because for sheer portability nothing else comes close. Look at gnulib one of
these days and try to figure out how the hell else to do some of the amazing
things it does in there.
Well, that's Autoconf. Automake is rather nastier. Libtool is much
worse, but Libtool 2.2 isn't actually repulsively slow or actively
developer-hostile anymore, so I can tolerate it.