Bug 213789 - x11-libs/gtk+-2.12.9 fails to build with libtool-2.2
Bug#: 213789 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: gnome@gentoo.org Reported By: alessandro.guido+bugzilla@gmail.com
Component: Ebuilds
URL: 
Summary: x11-libs/gtk+-2.12.9 fails to build with libtool-2.2
Keywords:  
Status Whiteboard: 
Opened: 2008-03-18 08:02 0000
Description:   Opened: 2008-03-18 08:02 0000
Making all in pixops
../../libtool: line 459: CDPATH: command not found
../../libtool: line 459: CDPATH: command not found
../../libtool: line 1269: func_opt_split: command not found
../../libtool: line 1269: func_opt_split: command not found
libtool: Version mismatch error.  This is libtool 2.2, 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
libtool: and run autoconf again.
libtool: Version mismatch error.  This is libtool 2.2, 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
libtool: and run autoconf again.
make[4]: *** [pixops.lo] Error 1

emerge --info:
Portage 2.1.4.4 (default-linux/x86/2007.0/desktop, gcc-4.3.0, glibc-2.7-r1,
2.6.25-rc6-00014-gbde4f8f i686)
=================================================================
System uname: 2.6.25-rc6-00014-gbde4f8f i686 Intel(R) Pentium(R) M processor
1.86GHz
Timestamp of tree: Tue, 18 Mar 2008 07:30:01 +0000
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.5
dev-lang/python:     2.5.1-r5
sys-apps/baselayout: 2.0.0
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.1
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   2.2
virtual/os-headers:  2.6.24
ACCEPT_KEYWORDS="x86 ~x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-pipe -O2 -march=pentium-m -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/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf
/etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo
/etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-pipe -O2 -march=pentium-m -fomit-frame-pointer
-fvisibility-inlines-hidden"
DISTDIR="/var/portage/distfiles"
EMERGE_DEFAULT_OPTS="--nospinner"
FEATURES="distlocks metadata-transfer nodoc noinfo parallel-fetch sfperms
strict tmpfs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org
http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LANG="it_IT.UTF-8"
LDFLAGS="-Wl,--hash-style=gnu -Wl,--as-needed"
LINGUAS="it"
MAKEOPTS="--quiet -j2"
PKGDIR="/var/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="/var/portage"
PORTDIR_OVERLAY="/var/portage/local/layman/openrc
/var/portage/local/my-overlay"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acpi alsa bzip2 cdr cli dbus dvd dvdr dvdread emboss evo fam firefox
fortran gif hal iconv isdnlog jpeg kde kdehiddenvisibility mad midi mikmod mmx
mp3 mpeg mudflap nls nptl nptlonly ogg opengl pcre pdf png pppd qt3support
quicktime reflection session spell spl sse sse2 ssl svg threads unicode vorbis
win32codecs x86 xcomposite xinerama xml xorg xscreensaver xv zlib"
ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1
emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m
maestro3 trident usb-audio via82xx via82xx-modem ymfpci"
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 authn_alias
authn_anon 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 deflate dir disk_cache env expires ext_filter file_cache filter
headers include info log_config logio mem_cache mime mime_magic negotiation
rewrite setenvif speling status unique_id userdir usertrack vhost_alias"
CAMERAS="ptp2" ELIBC="glibc" INPUT_DEVICES="evdev synaptics" KERNEL="linux"
LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses
text" LINGUAS="it" USERLAND="GNU" VIDEO_CARDS="nv nvidia"
Unset:  CPPFLAGS, CTARGET, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS,
PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS



Reproducible: Always

Steps to Reproduce:

------- Comment #1 From Rafał Mużyło 2008-03-18 13:43:17 0000 -------
In the ebuild, in src_unpack(): `cp aclocal.m4 old_macros.m4`

So it's just like bug 212864 and bug 213715 - updated ltmain.sh and old
AC_PROG_LIBTOOL don't work together.

------- Comment #2 From Alessandro Guido 2008-03-20 21:22:14 0000 -------
(In reply to comment #1)
> In the ebuild, in src_unpack(): `cp aclocal.m4 old_macros.m4`
> 
> So it's just like bug 212864 and bug 213715 - updated ltmain.sh and old
> AC_PROG_LIBTOOL don't work together.
> 

I patched the ebuild like this and it merged fine (but seems to not work
correctly as it misses cups printing support even if the use-flag is enabled):

--- x11-libs/gtk+/gtk+-2.12.9.ebuild    2008-03-17 22:24:53.000000000 +0100
+++ local/my-overlay/x11-libs/gtk+/gtk+-2.12.9.ebuild   2008-03-20
22:11:13.000000000 +0100
@@ -87,8 +87,9 @@

        # remember, eautoreconf applies elibtoolize.
        # if you remove this, you should manually run elibtoolize
-       cp aclocal.m4 old_macros.m4
-       AT_M4DIR="." eautoreconf
+       #cp aclocal.m4 old_macros.m4
+       #AT_M4DIR="." eautoreconf
+       elibtoolize

        epunt_cxx
 }

------- Comment #3 From Rafał Mużyło 2008-04-03 09:56:17 0000 -------
The problem is much more difficult and should be be taken upstream.
While for gentoo, elibtoolize, eautomake (for multilib patch) and eautoconf
(for xinerama - older versions) seem to be needed, and maybe adding gtk-doc-am
dependency (probably the original source for `cp aclocal.m4 old_macros.m4`
hack),
for full eautoreconf much work has to be done upstream.
The problem is that in configure.in there are a few calls to the generated
libtool, which are invalid for libtool 2.2, unless LT_OUTPUT macro is added.

------- Comment #4 From Rafał Mużyło 2008-04-03 10:33:28 0000 -------
A few more things to add:
it seems that elibtoolize is not needed (it emerged fine without it), but then
again it may be needed for something that's not checked during emerge
for libtool 2.2 (and gtk-doc-am) following seens to work:
sed -i -e '/AM_PROG_LIBTOOL/aLT_OUTPUT' ${S}/configure.in
eautoreconf
of course it works for libtool 2.2 only, cause I don't think there was a
LT_OUTPUT macro before (as it was not needed then).

------- Comment #5 From Gilles Dartiguelongue 2008-04-03 11:57:54 0000 -------
elibtoolize is needed for bsd systems at least. Should catch one of these guys
to heck out if it is still needed with the new libtool.

------- Comment #6 From Lars Wendler (Polynomial-C) 2008-04-22 13:21:58 0000 -------
Created an attachment (id=150589) [details]
gtk+-2-libtool-2.2-fix.patch

Hi,

as this bug is waiting for a fix for over a month now, I started wondering
wether gentoo is the only distribution out there who has problems with gtk+ and
>=libtool-2.2. I did a rather quick search with google and stumbled about this:

http://www.mail-archive.com/pld-cvs-commit@lists.pld-linux.org/msg135168.html

I extracted the real patch from that post, and moved it to my local overlay
along with gtk+-2.12.9-r2.ebuild. With this patch I get gtk+-2.12.9-r2 compiled
and installed without any problems on my ~x86 test victim erm... machine :)
Of course I know that this patch needs upstream approval before it can go into
portage but I didn't find this patch anywhere else than in this post...

Cheers
Poly-C

------- Comment #7 From Gilles Dartiguelongue 2008-04-28 21:43:32 0000 -------
fixed in tree, wait a while for the mirrors to sync and try it. Reopen if it
doesn't work.

------- Comment #8 From Gilles Dartiguelongue 2008-04-28 21:43:46 0000 -------
fixed in tree, wait a while for the mirrors to sync and try it. Reopen if it
doesn't work. And thanks for the patch.