net-dns/bind-9.4.2 fails with libtool: Version mismatch error. This is libtool 2.2.4, but the definition of this LT_INIT comes from an older release. You should recreate aclocal.m4 with macros from libtool 2.2.4 and run autoconf again. Reproducible: Always Actual Results: /bin/sh /var/tmp/portage/net-dns/bind-9.4.2/work/bind-9.4.2/libtool --mode=compile i686-pc-linux-gnu-gcc -I/var/tmp/portage/net-dns/bind-9.4.2/work/bind-9.4.2 -I./include -I./../pthreads/include -I../include -I./../include -I./.. -D_REENTRANT -O2 -march=athlon-xp -pipe -fomit-frame-pointer -W -Wall -Wmissing-prototypes -Wcast-qual -Wwrite-strings -Wformat -Wpointer-arith -fno-strict-aliasing -c app.c /var/tmp/portage/net-dns/bind-9.4.2/work/bind-9.4.2/libtool: line 454: CDPATH: command not found /var/tmp/portage/net-dns/bind-9.4.2/work/bind-9.4.2/libtool: line 1146: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.4, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.4 libtool: and run autoconf again. make[3]: *** [app.lo] Error 63 make[3]: Leaving directory `/var/tmp/portage/net-dns/bind-9.4.2/work/bind-9.4.2/lib/isc/unix' make[2]: *** [subdirs] Error 1 make[2]: Leaving directory `/var/tmp/portage/net-dns/bind-9.4.2/work/bind-9.4.2/lib/isc' make[1]: *** [subdirs] Error 1 make[1]: Leaving directory `/var/tmp/portage/net-dns/bind-9.4.2/work/bind-9.4.2/lib' make: *** [subdirs] Error 1 * * ERROR: net-dns/bind-9.4.2 failed. * Call stack: * ebuild.sh, line 49: Called src_compile * environment, line 2930: Called die * The specific snippet of code: * emake -j1 || die "failed to compile bind" * The die message: * failed to compile bind * * If you need support, post the topmost build error, and the call stack if relevant. * A complete build log is located at '/var/log/portage/net-dns:bind-9.4.2:20080505-132337.log'. * The ebuild environment file is located at '/var/tmp/portage/net-dns/bind-9.4.2/temp/environment'. * Expected Results: complete with success. Portage 2.1.5_rc6 (default/linux/x86/2008.0/desktop, gcc-4.2.3, glibc-2.7-r2, 2.6.25-gentoo-r1 i686) ================================================================= System uname: 2.6.25-gentoo-r1 i686 AMD Athlon(tm) XP 2500+ Timestamp of tree: Mon, 05 May 2008 12:21:01 +0000 ccache version 2.4 [disabled] app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r6, 2.5.2-r2 dev-python/pycrypto: 2.0.1-r6 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.3 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.62 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.25-r1 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/4.0/env /usr/kde/4.0/share/config /usr/kde/4.0/shutdown /usr/share/config /var/bind /var/lib/hsqldb" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks parallel-fetch sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://gentoo.osuosl.org/ http://gentoo.cites.uiuc.edu/pub/gentoo/ http://open-systems.ufl.edu/mirrors/gentoo http://mirrors.acm.cs.rpi.edu/gentoo/" LANG="en_US.utf8" LDFLAGS="" LINGUAS="en" MAKEOPTS="-j3" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/nx /usr/portage/local" SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage" USE="3dnow 3dnowext X a52 aac accessibility acl acpi adns aiglx aim alsa apache2 arts audiofile avahi bash-completion bcmath berkdb bidi bindinst bluetooth branding browserplugin bzip2 cairo calendar caps cdr cli cracklib crypt cups curlwrappers dbus dedicated dga dio divx divx4linux dlloader dri dts dvd dvdr dvdread eds emacs emacs-w3 emboss emerald encode erandom escreen esd ethereal etwin evo examples expat fam fastcgi fbcon fbcondecor ffmpeg firefox font fortran ftp gd gdbm gif glitz glut gnome gnusetup gnutls gpm gstreamer gtk gtkhtml hal hardened iconv imap immqt-bc inifile innodb ipod ipv6 isdnlog ithreads java javascript jp2 jpeg jpeg2k kde kerberos krb4 ldap libcaca libclamv libnotify live lm_sensors lzo mad maildir mailwrapper midi mikmod milter mime ming mmap mmx modplug mono motif mozbranding mp3 mp4 mpeg mpi msn mudflap musicbrainz ncurses nls nptl nptlonly nsplugin nvidia oav objc ogg opengl openmp oracle oscar oss pam pcre pdf perl php pic png portaudio posix ppds pppd python qt3 qt3support qt4 quicktime readline real realmedia reflection samba sdl session shared spell spl sqlite sse ssl startup-notification svg symlink tcltktcpd tcpd test threads tiff truetype type1 unicode urandom usb usepackagedmakefiles userlocales vcd vhosts videos vorbis win32codecs wma wmf wxwindows x86 xcomposite xinerama xml xorg xpm xprint xrandr xv xvid xvmc yahoo zeroconf zlib" ALSA_CARDS="intel8x0" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en" USERLAND="GNU" VIDEO_CARDS="nv nvidia vesa" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Same problem here
Created attachment 151927 [details] net-dns:bind-9.4.2:20080505-132337.log
*** Bug 218823 has been marked as a duplicate of this bug. ***
Temporary workaround can be done by masking libtool-2.2.4 (in /etc/portage/package.mask) by adding =sys-devel/libtool-2.2.4 line and emerging libtool again. Tested on 5 machines, this solves our problem, but remember this is only TEMPORARY WORKAROUND
*** Bug 220531 has been marked as a duplicate of this bug. ***
(In reply to comment #4) > Temporary workaround can be done by masking libtool-2.2.4 (in > /etc/portage/package.mask) by adding =sys-devel/libtool-2.2.4 line and emerging > libtool again. > > Tested on 5 machines, this solves our problem, but remember this is only > TEMPORARY WORKAROUND > So if this is as you said TEMPORARY WORKAROUND, then why are you posting non-fixes ? Back on topic. As I don't have bind installed and its home site doesn't have online source browsing, I can't say much, but it looks like running eautoreconf in ${S}/lib/bind should fix it.
Then again, maybe not. If they keep libtool files (specifically libtool.m4) somewhere, this is what messes up the rebuild, cause IIRC this error appears when ltmain.sh is updated and libtool.m4 stays old.
(In reply to comment #7) > Then again, maybe not. > If they keep libtool files (specifically libtool.m4) somewhere, this is what > messes up the rebuild, cause IIRC this error appears when ltmain.sh is updated > and libtool.m4 stays old. Yes, it is there, included by aclocal.m4. I fixed it (for me) with an ugly hack (I'll attach it).
Created attachment 152437 [details] Updated ebuild. note the double-run of eautoreconf (ugly)
Created attachment 152439 [details, diff] patch for configure.in, required by the updated ebuild
OK, if your hack works , then, while using your patch, try simply a single line of: AT_M4DIR="m4" WANT_AUTOCONF=2.5 AT_NO_RECURSIVE=1 eautoreconf (no die, as eutoreconf dies anyway, if it fails).
And the point of it is, the version included in aclocal.m4 doesn't matter unless aclocal.m4 was not autogenerated by aclocal.
The problem is that the content of the "m4" subdirectory is created by the first "libtoolize" run. You can see the following notices afterwards in the original: the libtoolize log shows: ***** libtoolize ***** ***** libtoolize --copy --force --install libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./config.guess' libtoolize: copying file `./config.sub' libtoolize: copying file `./install-sh' libtoolize: copying file `./ltmain.sh' libtoolize: You should add the contents of the following files to `aclocal.m4': libtoolize: `/usr/share/aclocal/libtool.m4' libtoolize: `/usr/share/aclocal/ltoptions.m4' libtoolize: `/usr/share/aclocal/ltversion.m4' libtoolize: `/usr/share/aclocal/ltsugar.m4' libtoolize: `/usr/share/aclocal/lt~obsolete.m4' libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT' The patch does add the `AC_CONFIG_MACRO_DIR([m4])' to configure.in. The cat m4/* does the first part, which is only possible after the libtoolize run created the files. Your idea does sadly not work, just tried it.
Adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in changes the path to m4/ instead of /usr/share/aclocal. Forgot to mention that,
It says 'Consider adding' not 'You must add' And of course comment #14 is completely wrong: AC_CONFIG_MACRO_DIR does something different (from autoconf info page): -- Macro: AC_CONFIG_MACRO_DIR (DIR) Specify DIR as the location of additional local Autoconf macros. So, first, check if aclocal.m4 is autogenerated by aclocal (it should tell that in the first or second line) Then check which libtool macro they use in configure.in (AC_PROG_LIBTOOL or AM_PROG_LIBTOOL) and grep for it in the sources. Post resulting file list (configure.in and aclocal.m4 are unimportant - if aclocal.m4 was autogenerated, if not we will have to see how was it generated).
No, it definitely is not autogenerated: [~/bind-9.4.2]>cat aclocal.m4 sinclude(./libtool.m4)dnl [~/bind-9.4.2]>egrep -re A._PROG_LIBTOOL . ./lib/bind/configure.in: AM_PROG_LIBTOOL ./configure.in: AM_PROG_LIBTOOL ./libtool.m4:# serial 47 AC_PROG_LIBTOOL ./libtool.m4:# AC_PROG_LIBTOOL ./libtool.m4:AC_DEFUN([AC_PROG_LIBTOOL], ./libtool.m4:[AC_REQUIRE([_AC_PROG_LIBTOOL])dnl ./libtool.m4:])])# AC_PROG_LIBTOOL ./libtool.m4:# _AC_PROG_LIBTOOL ./libtool.m4:AC_DEFUN([_AC_PROG_LIBTOOL], ./libtool.m4:define([AC_PROG_LIBTOOL], []) ./libtool.m4:])# _AC_PROG_LIBTOOL ./libtool.m4:# In the future, this macro may have to be called after AC_PROG_LIBTOOL. ./libtool.m4:AC_DEFUN([AM_PROG_LIBTOOL], [AC_PROG_LIBTOOL]) ./contrib/idn/idnkit-1.0-src/aclocal.m4:# serial 40 AC_PROG_LIBTOOL ./contrib/idn/idnkit-1.0-src/aclocal.m4:AC_DEFUN(AC_PROG_LIBTOOL, ./contrib/idn/idnkit-1.0-src/aclocal.m4:# In the future, this macro may have to be called after AC_PROG_LIBTOOL. ./contrib/idn/idnkit-1.0-src/aclocal.m4:AC_DEFUN(AM_PROG_LIBTOOL, [indir([AC_PROG_LIBTOOL])])dnl ./contrib/idn/idnkit-1.0-src/configure.in:AM_PROG_LIBTOOL I do not have enough knowledge of autotools to judge, but is this what you were looking for? What I meant in comment #14 is that the output in said libtool log changes to m4/, likely becuase it installs the "local additional macros" there - you can see that for yourself (with only the patch): cat /tmp/portage/net-dns/bind-9.4.2/temp/libtoolize-15069.out ***** libtoolize ***** ***** libtoolize --copy --force --install libtoolize: putting auxiliary files in `.'. libtoolize: copying file `./config.guess' libtoolize: copying file `./config.sub' libtoolize: copying file `./install-sh' libtoolize: copying file `./ltmain.sh' libtoolize: putting macros in AC_CONFIG_MACRO_DIR, `m4'. libtoolize: copying file `m4/libtool.m4' libtoolize: You should add the contents of `m4/libtool.m4' to `aclocal.m4'. libtoolize: copying file `m4/ltoptions.m4' libtoolize: You should add the contents of `m4/ltoptions.m4' to `aclocal.m4'. libtoolize: copying file `m4/ltsugar.m4' libtoolize: You should add the contents of `m4/ltsugar.m4' to `aclocal.m4'. libtoolize: copying file `m4/ltversion.m4' libtoolize: You should add the contents of `m4/ltversion.m4' to `aclocal.m4'. libtoolize: copying file `m4/lt~obsolete.m4' libtoolize: You should add the contents of `m4/lt~obsolete.m4' to `aclocal.m4'. libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am. libtoolize: `AC_PROG_RANLIB' is rendered obsolete by `LT_INIT'
In that case solution is trivial: rm ${S}/libtool.m4 ${S}/aclocal.m4 before eutoreconf line, your patch should not be necessary.
I mean, of course, the line from original ebuild.
Created attachment 152693 [details] Fixed ebuild, the correct way. The patch is no longer necessary with this.
Thanks Rafał, you are absolutely right. I thought I tried it, but must have toyed with too many things at the same time.
(In reply to comment #17) > In that case solution is trivial: > rm ${S}/libtool.m4 ${S}/aclocal.m4 > before eutoreconf line, your patch should not be necessary. > Thanks to both of you, that did the trick. I just committed your fix to CVS.