Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 220361 - net-dns/bind-9.4.2 libtool failure
Summary: net-dns/bind-9.4.2 libtool failure
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Konstantin Arkhipov (RETIRED)
URL:
Whiteboard:
Keywords:
: 218823 220531 (view as bug list)
Depends on:
Blocks: libtool-2.2
  Show dependency tree
 
Reported: 2008-05-05 13:31 UTC by Dan Coats
Modified: 2008-05-10 04:22 UTC (History)
11 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
net-dns:bind-9.4.2:20080505-132337.log (net-dns:bind-9.4.2:20080505-132337.log,31.78 KB, text/plain)
2008-05-05 13:34 UTC, Dan Coats
Details
Updated ebuild. note the double-run of eautoreconf (ugly) (bind-9.4.2.ebuild,8.86 KB, text/plain)
2008-05-08 09:26 UTC, Christian Schmidt
Details
patch for configure.in, required by the updated ebuild (bind-9.4.2-libtool-2.2.4.patch,238 bytes, patch)
2008-05-08 09:27 UTC, Christian Schmidt
Details | Diff
Fixed ebuild, the correct way. (bind-9.4.2.ebuild,8.66 KB, text/plain)
2008-05-09 20:40 UTC, Christian Schmidt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Coats 2008-05-05 13:31:06 UTC
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
Comment 1 Conrad Kostecki gentoo-dev 2008-05-05 13:32:07 UTC
Same problem here
Comment 2 Dan Coats 2008-05-05 13:34:56 UTC
Created attachment 151927 [details]
net-dns:bind-9.4.2:20080505-132337.log
Comment 3 Tobias Scherbaum (RETIRED) gentoo-dev 2008-05-05 19:42:53 UTC
*** Bug 218823 has been marked as a duplicate of this bug. ***
Comment 4 Marcin Ryk 2008-05-06 06:43:12 UTC
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
Comment 5 Jan Kundrát (RETIRED) gentoo-dev 2008-05-06 07:30:29 UTC
*** Bug 220531 has been marked as a duplicate of this bug. ***
Comment 6 Rafał Mużyło 2008-05-07 12:15:32 UTC
(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.
Comment 7 Rafał Mużyło 2008-05-07 12:24:25 UTC
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.
Comment 8 Christian Schmidt 2008-05-08 09:25:18 UTC
(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).

Comment 9 Christian Schmidt 2008-05-08 09:26:20 UTC
Created attachment 152437 [details]
Updated ebuild. note the double-run of eautoreconf (ugly)
Comment 10 Christian Schmidt 2008-05-08 09:27:03 UTC
Created attachment 152439 [details, diff]
patch for configure.in, required by the updated ebuild
Comment 11 Rafał Mużyło 2008-05-09 09:09:09 UTC
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).
Comment 12 Rafał Mużyło 2008-05-09 09:12:00 UTC
And the point of it is, the version included in aclocal.m4 doesn't matter unless aclocal.m4 was not autogenerated by aclocal.
Comment 13 Christian Schmidt 2008-05-09 09:16:51 UTC
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.
Comment 14 Christian Schmidt 2008-05-09 09:18:46 UTC
Adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in changes the path to m4/ instead of /usr/share/aclocal. Forgot to mention that,
Comment 15 Rafał Mużyło 2008-05-09 16:00:58 UTC
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).
Comment 16 Christian Schmidt 2008-05-09 20:17:16 UTC
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'
Comment 17 Rafał Mużyło 2008-05-09 20:23:35 UTC
In that case solution is trivial:
rm ${S}/libtool.m4 ${S}/aclocal.m4
before eutoreconf line, your patch should not be necessary. 
Comment 18 Rafał Mużyło 2008-05-09 20:26:51 UTC
I mean, of course, the line from original ebuild.
Comment 19 Christian Schmidt 2008-05-09 20:40:15 UTC
Created attachment 152693 [details]
Fixed ebuild, the correct way.

The patch is no longer necessary with this.
Comment 20 Christian Schmidt 2008-05-09 20:41:18 UTC
Thanks Rafał, you are absolutely right. I thought I tried it, but must have toyed with too many things at the same time.
Comment 21 Tobias Scherbaum (RETIRED) gentoo-dev 2008-05-09 21:03:57 UTC
(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.