Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 39553 - autom4te-2.57 is bogus when compiling kdeadmin_3.2
Summary: autom4te-2.57 is bogus when compiling kdeadmin_3.2
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo KDE team
URL:
Whiteboard:
Keywords:
Depends on: 40983
Blocks:
  Show dependency tree
 
Reported: 2004-01-27 05:53 UTC by Julien Bigot
Modified: 2004-02-16 06:09 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Julien Bigot 2004-01-27 05:53:53 UTC
when I emerge kde3.2 kdeadmin does't compile because of autom4te2.57.
I tried removing autom4te2.57 and renaming autom4te2.58 in autom4te2.57. It works.

Reproducible: Always
Steps to Reproduce:
1. emerge /usr/portage/kde-base/kdeadmin/kdeadmin-3.2.0_rc1.ebuild
Actual Results:  

cd . && make -f admin/Makefile.common configure
make[1]: Entering directory `/tmp/portage/kdeadmin-3.2.0_rc1/work/kdeadmin-3.1.95'
String found where operator expected at /usr/bin/autom4te-2.57 line 280, near
"error "need GNU m4 1.4 or later: $m4""
        (Do you need to predeclare error?)
syntax error at /usr/bin/autom4te-2.57 line 280, near "error "need GNU m4 1.4 or
later: $m4""
BEGIN not safe after errors--compilation aborted at /usr/bin/autom4te-2.57 line 453.
make[1]: *** [configure] Error 1
make[1]: Leaving directory `/tmp/portage/kdeadmin-3.2.0_rc1/work/kdeadmin-3.1.95'
make: *** [configure] Error 2
make: *** Waiting for unfinished jobs....
cd . && perl admin/am_edit Makefile.in
make: *** Waiting for unfinished jobs....

!!! ERROR: kde-base/kdeadmin-3.2.0_rc1 failed.
!!! Function kde_src_compile, Line 127, Exitcode 2
!!! died running emake, kde_src_compile:make


Portage 2.0.49-r21 (default-x86-1.4, gcc-3.2.3, glibc-2.3.2-r9,2.3.2-r3, 2.6.1-rc1)
=================================================================
System uname: 2.6.1-rc1 i686 AMD Athlon(tm) XP 1800+
Gentoo Base System version 1.4.3.10
distcc 2.11.1 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="no"
CFLAGS="-march=athlon-xp -O2 -fPIC -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -fPIC -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache fixpackages"
GENTOO_MIRRORS="http://delirium.ens.insa-rennes.fr/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://10.131.5.2/gentoo-portage"
USE="3dnow X aalib acl alsa apm avi berkdb cdr chroot crypt dga dvd dvdr encode
foomaticdb gif gpm gtk gtk2 imap imlib java jpeg kde libg++ libwww lufsusermount
mad mikmod mmx mpeg ncurses nls nocd nvidia odbc oggvorbis opengl openssh pam
pdflib perl png python qt quicktime readline samba sdl slang spell sse ssl svga
tcltk tcpd tetex tiff transcode truetype unicode usb v4l videos x86 xml xml2
xmms xv xvid zlib linguas_fr"
Comment 1 Julien Bigot 2004-02-05 17:07:03 UTC
The solution was to set AUTOCLEAN to yes
Comment 2 Mart Raudsepp gentoo-dev 2004-02-09 08:00:38 UTC
autom4te-2.58 gets used at some point and then autom4te-2.57 is used later.
I dwelved into it and got more information, but first my emerge info, etc:

cd . && \
  /bin/sh /var/tmp/portage/kdebase-3.2.0/work/kdebase-3.2.0/admin/missing --run automake-1.7 --foreign  Makefile
cd . && rm -f configure
cd . && make -f admin/Makefile.common configure
make[1]: Entering directory `/var/tmp/portage/kdebase-3.2.0/work/kdebase-3.2.0'
String found where operator expected at /usr/bin/autom4te-2.57 line 280, near "error "need GNU m4 1.4 or later: $m4""
        (Do you need to predeclare error?)
syntax error at /usr/bin/autom4te-2.57 line 280, near "error "need GNU m4 1.4 or later: $m4""
BEGIN not safe after errors--compilation aborted at /usr/bin/autom4te-2.57 line 453.
make[1]: *** [configure] Error 1
make[1]: Leaving directory `/var/tmp/portage/kdebase-3.2.0/work/kdebase-3.2.0'
make: *** [configure] Error 2
make: *** Waiting for unfinished jobs....
cd . && perl admin/am_edit Makefile.in
make: *** Waiting for unfinished jobs....
                                                                                                                            
!!! ERROR: kde-base/kdebase-3.2.0 failed.
!!! Function kde_src_compile, Line 127, Exitcode 2
!!! died running emake, kde_src_compile:make

emerge info:

Portage 2.0.50 (default-x86-1.4, gcc-3.3.2, glibc-2.3.2-r3,2.3.2-r9, 2.4.22-gentoo-r5)
=================================================================
System uname: 2.4.22-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz
Gentoo Base System version 1.4.3.13
ccache version 2.3 [enabled]
Autoconf: sys-devel/autoconf-2.57-r1,sys-devel/autoconf-2.58
Automake: sys-devel/automake-1.7.5-r2,sys-devel/automake-1.7.7
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="no"
CFLAGS="-march=pentium3 -mcpu=pentium3 -O2 -funroll-loops -pipe -fomit-frame-pointer -fforce-addr -mfpmath=sse,387 -mmmx -msse -falign-functions=4"
CHOST="i686-pc-linux-gnu"
COMPILER="gcc3"
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.1/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-march=pentium3 -mcpu=pentium3 -O2 -funroll-loops -pipe -fomit-frame-pointer -fforce-addr -mfpmath=sse,387 -mmmx -msse -falign-functions=4"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache sandbox"
GENTOO_MIRRORS="ftp://trumpetti.atm.tut.fi/gentoo http://trumpetti.atm.tut.fi/gentoo ftp://gentoo.linux.no/pub/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib acpi alsa apache2 apm arts artswrappersuid avi berkdb bonobo cdr crypt cscope cups directfb encode esd evo fbcon flash foomaticdb gd gdbm gif gnome gnomedb gphoto2 gpm gtk gtk2 gtkhtml imap imlib innodb jabber java javascript jpeg kde
ldap libg++ libwww mad mcal mikmod mmx mng motif mozilla moznocompose moznoirc mozsvg mpeg msn mysql nas ncurses nls nocardbus nocd offensive oggvorbis opengl oscar oss pam pdflib perl pic png postgres ppds python qt quicktime readline samba sdl slang slp spell sse ssl svga tcltk tcpd tetex tiff truetype unicode usb videos vim-with-x wmf wxwin x86 xml2 xmms xosd xv yahoo zlib"

---------------------------

I have AUTOCLEAN="no" for understandable reasons and thus had both autoconf-2.37-r1 and autoconf-2.38 installed, which should be perfectly ok as autoconf and autom4te are in fact wrappers that determine which existing version of autoconf tools should be used. In fact, software developers sometimes might need both versions to check how their software builds with different tools.

What I found which could help is the following.
I grepped the temporary working directory of kdebase-3.2.0 and the result was the following:

# grep -rI '2[.]5[78]' *
admin/detect-autoconf.sh:  elif test -x "`$WHICH autoconf-2.57 2>/dev/null`" ; then
admin/detect-autoconf.sh:    AUTOCONF="`$WHICH autoconf-2.57`"
admin/detect-autoconf.sh:  elif test -x "`$WHICH autoheader-2.57 2>/dev/null`" ; then
admin/detect-autoconf.sh:    AUTOHEADER="`$WHICH autoheader-2.57`"
admin/detect-autoconf.sh:    AUTOM4TE="`$WHICH autom4te-2.57`"
autom4te.cache/output.0:@%:@ Generated by GNU Autoconf 2.58.
autom4te.cache/output.0:generated by GNU Autoconf 2.58.  Invocation command line was
autom4te.cache/output.0:generated by GNU Autoconf 2.58.  Invocation command line was
autom4te.cache/output.0:configured by $0, generated by GNU Autoconf 2.58,
config.log:generated by GNU Autoconf 2.57.  Invocation command line was
config.log:generated by GNU Autoconf 2.57.  Invocation command line was
config.status:generated by GNU Autoconf 2.57.  Invocation command line was
config.status:configured by ./configure, generated by GNU Autoconf 2.57,

-----

As You can see, it uses 2.58 AND 2.57 and that is the reason why the build fails when both autoconfs are installed and I need both of them installed.
Please find a fix. Perhaps a patch to some KDE packages, kde.eclass or  autoconf autom4te wrapper scripts?

To reproduce the problem:
AUTOCLEAN="no" emerge sys-devel/autoconf-2.57-r1 sys-devel/autoconf-2.58
ACCEPT_KEYWORDS=~x86 emerge kdebase

I did emerge -C sys-devel/autoconf-2.57-r1 and am doing now
ACCEPT_KEYWORDS=~x86 emerge kdebase
and it got pass the error point and is compiling fine atm. Can't wait to see KDE3.2 ;)

If two versions of autoconfs should NOT cause problems during emerges, I shall reemerge 2.57-r1 and report packages that don't compile with 2.57 and 2.58 both installed. Let me know.
Comment 3 Caleb Tennis (RETIRED) gentoo-dev 2004-02-09 08:54:58 UTC
My proposed change here would be to change the ac-wrapper.pl file to set the AUTOM4TE variable to whichever version of autoconf it is going to call, so that autoconf calls the right version of autom4te.
Comment 4 Caleb Tennis (RETIRED) gentoo-dev 2004-02-16 06:09:09 UTC
should now be fixed with latest autoconf in portage (see Bug #40983).