Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 18039 - musicbrainz-2.0.1 fails to compile
Summary: musicbrainz-2.0.1 fails to compile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: J. Ellis (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-03-23 08:16 UTC by Peter Ruskin
Modified: 2003-04-12 01:54 UTC (History)
4 users (show)

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


Attachments
here is the entire output from emerge (out.txt,8.70 KB, text/plain)
2003-03-23 16:45 UTC, Alex Combas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Ruskin 2003-03-23 08:16:10 UTC
cd . && /bin/sh
/var/tmp/portage/musicbrainz-2.0.1/work/libmusicbrainz-2.0.1/missing --run autoconf
autom4te-2.57: cannot not rename autom4te.cache/traces.0t as
autom4te.cache/traces.0: No such file or directory
configure.in: `AM_INIT_AUTOMAKE' must be used
automake-1.7: your implementation of AM_INIT_AUTOMAKE comes from an
automake-1.7: old Automake version.  You should recreate aclocal.m4
automake-1.7: with aclocal and run automake again.
make: *** [Makefile.in] Error 1
make: *** Waiting for unfinished jobs....

!!! ERROR: media-libs/musicbrainz-2.0.1 failed.
!!! Function src_compile, Line 19, Exitcode 2
!!! compile problem
Comment 1 Mike Basinger 2003-03-23 14:31:19 UTC
I get the same thing.
Comment 2 Alex Combas 2003-03-23 16:45:15 UTC
Created attachment 9737 [details]
here is the entire output from emerge
Comment 3 Alex Combas 2003-03-23 16:46:11 UTC
I am having the same problem.
Comment 4 J. Ellis (RETIRED) gentoo-dev 2003-03-23 18:41:29 UTC
Please let me know what versions of:

sys-devel/m4 (m4-1.4)
sys-devel/automake (automake-1.6.3)
sys-devel/autoconf (autoconf-2.54-r1)

you are using. The versions on my machine are in parens and it builds here.
Comment 5 Peter Ruskin 2003-03-23 19:40:40 UTC
sys-devel/m4-1.4
sys-devel/automake-1.7.2
sys-devel/autoconf- 2.57-r1
Comment 6 J. Ellis (RETIRED) gentoo-dev 2003-03-23 19:49:53 UTC
Can you try backing automake and autoconf down to the unmasked versions? Thanks.
Comment 7 Peter Ruskin 2003-03-24 06:06:25 UTC
Did that...still broken:
>>> emerge (6 of 6) media-libs/musicbrainz-2.0.1 to /
>>> md5 ;-) libmusicbrainz-2.0.1.tar.gz
>>> Unpacking source...
>>> Unpacking libmusicbrainz-2.0.1.tar.gz to /var/tmp/portage/musicbrainz-2.0.1/work
>>> Source unpacked.
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i686-pc-linux-gnu-strip... no
checking for strip... strip
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gawk... (cached) gawk
checking for i686-pc-linux-gnu-gcc... gcc -O2 -march=athlon-xp -pipe
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -O2 -march=athlon-xp -pipe  accepts -g... yes
checking for gcc -O2 -march=athlon-xp -pipe  option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc -O2 -march=athlon-xp -pipe ... gcc3
checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r
checking for BSD-compatible nm... nm
checking for a sed that does not truncate output... /bin/sed
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking command to parse nm output... ok
checking how to run the C preprocessor... gcc -O2 -march=athlon-xp -pipe  -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for i686-pc-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking for i686-pc-linux-gnu-strip... strip
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether -lc should be explicitly linked in... no
creating libtool
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD-compatible install... /bin/install -c
checking whether ln -s works... yes
checking whether byte ordering is bigendian... no
checking for long... yes
checking size of long... 4
checking accept ARG2 => struct sockaddr ARG3 => socklen_t ... ok
configure: creating ./config.status
config.status: creating Makefile
config.status: creating lib/Makefile
config.status: creating expat/Makefile
config.status: creating expat/xmltok/Makefile
config.status: creating expat/xmlparse/Makefile
config.status: creating lib/bitzi/Makefile
config.status: creating examples/Makefile
config.status: creating libmusicbrainz.pc
config.status: creating config.h
config.status: linking ./osdep/mb_linux.cpp to lib/mb.cpp
config.status: linking ./osdep/mb_linux.h to lib/mb.h
config.status: executing depfiles commands
config.status: executing default commands
cd . && /bin/sh /var/tmp/portage/musicbrainz-2.0.1/work/libmusicbrainz-2.0.1/missing --run aclocal-1.7
cd . && \
  /bin/sh /var/tmp/portage/musicbrainz-2.0.1/work/libmusicbrainz-2.0.1/missing --run automake-1.7 --foreign  Makefile
cd . && /bin/sh /var/tmp/portage/musicbrainz-2.0.1/work/libmusicbrainz-2.0.1/missing --run autoconf
/bin/sh ./config.status --recheck
running /bin/sh ./configure  --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib CC=gcc -O2 -march=athlon-xp -pipe  CFLAGS=-O2 -march=athlon-xp -pipe  CXXFLAGS=-O2 -march=athlon-xp -pipe  CXX=g++ host_alias=i686-pc-linux-gnu  --no-create --no-recursion
configure: WARNING: If you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used.
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... autom4te-2.57: cannot not rename autom4te.cache/traces.0t as autom4te.cache/traces.0: No such file or directory
configure.in: `AM_INIT_AUTOMAKE' must be used
automake-1.7: your implementation of AM_INIT_AUTOMAKE comes from an
automake-1.7: old Automake version.  You should recreate aclocal.m4
automake-1.7: with aclocal and run automake again.
make: *** [Makefile.in] Error 1
make: *** Waiting for unfinished jobs....
yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for i686-pc-linux-gnu-strip... no
checking for strip... strip
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gawk... (cached) gawk
checking for i686-pc-linux-gnu-gcc... gcc -O2 -march=athlon-xp -pipe
checking for C compiler default output... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc -O2 -march=athlon-xp -pipe  accepts -g... yes
checking for gcc -O2 -march=athlon-xp -pipe  option to accept ANSI C... none needed
checking for style of include used by make... GNU
checking dependency style of gcc -O2 -march=athlon-xp -pipe ... gcc3
checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld
checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes
checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r
checking for BSD-compatible nm... nm
checking whether ln -s works... yes
checking how to recognise dependant libraries... pass_all
checking command to parse nm output... ok
checking how to run the C preprocessor... gcc -O2 -march=athlon-xp -pipe  -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking for i686-pc-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking for i686-pc-linux-gnu-strip... strip
checking for objdir... .libs
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.lo... yes
checking if gcc supports -fno-rtti -fno-exceptions... yes
checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking whether -lc should be explicitly linked in... no
creating libtool
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... gcc3
checking for a BSD-compatible install... /bin/install -c
checking whether ln -s works... yes
checking whether byte ordering is bigendian... no
checking for long... yes
checking size of long... 4
checking accept ARG2 => struct sockaddr ARG3 => socklen_t ... ok
configure: creating ./config.status

!!! ERROR: media-libs/musicbrainz-2.0.1 failed.
!!! Function src_compile, Line 19, Exitcode 2
!!! compile problem
Comment 8 Peter Ruskin 2003-03-27 21:51:05 UTC
OK what happens is this:  After downgrading to automake-1.6.3 and autoconf-2.54-r1, when I emerge musicbrainz it first upgrades automake and autoconf (I have ACCEPT_KEYWORDS="~x86").

So to upgrade musicbrainz I had to downgrade automake and autoconf and then inject autoconf-2.57-r1 and automake-1.7.2.

This works but it isn't good.  I think that an ebuild should work with the latest available versions of its dependencies.
Comment 9 J. Ellis (RETIRED) gentoo-dev 2003-03-30 21:36:28 UTC
I'll work with the upstream dev. to see if we can get this going with latest version of autoconfig. The latest versions are still masked - probably because they break builds...

This won't happen before the weekend. Life gets in the way of gentoo. Sorry.
Comment 10 Dietrich Heise 2003-04-03 09:50:15 UTC
same here, but an other error:

if /bin/sh ../../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I./../xmlparse -DXML_NS    -mcpu=athlon-xp -march=athlon-xp -O3 -pipe -MT xmltok.lo -MD -MP -MF ".deps/xmltok.Tpo" \
  -c -o xmltok.lo `test -f 'xmltok.c' || echo './'`xmltok.c; \
then mv ".deps/xmltok.Tpo" ".deps/xmltok.Plo"; \
else rm -f ".deps/xmltok.Tpo"; exit 1; \
fi
../../libtool: line 1: s%^.*/%%: No such file or directory
../../libtool: line 1: s%^.*/%%: No such file or directory
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
[schnip]
and so on
[/snap]
../../libtool: line 1: -e: command not found
: compile: cannot determine name of library object from `'
make[3]: *** [xmltok.lo] Error 1
make[3]: *** Waiting for unfinished jobs....
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
../../libtool: line 1: -e: command not found
: compile: cannot determine name of library object from `'
make[3]: *** [xmlrole.lo] Error 1
make[3]: Leaving directory `/var/tmp/portage/musicbrainz-2.0.1/work/libmusicbrainz-2.0.1/expat/xmltok'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/musicbrainz-2.0.1/work/libmusicbrainz-2.0.1/expat'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/musicbrainz-2.0.1/work/libmusicbrainz-2.0.1'
make: *** [all] Error 2

!!! ERROR: media-libs/musicbrainz-2.0.1 failed.
!!! Function src_compile, Line 43, Exitcode 2
!!! compile problem

here my emerge info:
Portage 2.0.47-r10 (default-x86-1.4, gcc-3.2.2, glibc-2.3.2-r0)
=================================================================
System uname: 2.4.20 i686 AMD Athlon(tm) XP 1800+
GENTOO_MIRRORS=" http://sunsite.cnlab-switch.ch/ftp/mirror/gentoo/ http://ftp.easynet.nl/mirror/gentoo// ftp://ftp.easynet.nl/mirror/gentoo// ftp://linux.rz.ruhr-uni-bochum.de/gentoo-mirror/ ftp://sunsite.cnlab-switch.ch/mirror/gentoo/"
CONFIG_PROTECT="/etc /var/qmail/control /usr/kde/2/share/config /usr/kde/3/share/config /var/bind /usr/X11R6/lib/X11/xkb /usr/kde/3.1/share/config /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/config /opt/quake3/cpma/server.cfg"
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR_OVERLAY=""
USE="x86 apm avi crypt cups encode jpeg libg++ mikmod mpeg ncurses nls pdflib png quicktime spell truetype xml2 xmms xv zlib gtkhtml gdbm berkdb slang readline arts tetex aalib bonobo svga tcltk mysql gpm tcpd pam esd imlib oggvorbis qt opengl mozilla gphoto2 snmp cdr -java ncures X alsa -motif kde 3dnow sdl perl python guile ruby libwww ssl gtk mmx ogg vorbis oss gif gnome gpg gd"
COMPILER="gcc3"
CHOST="i686-pc-linux-gnu"
CFLAGS="-mcpu=athlon-xp -march=athlon-xp -O3 -pipe"
CXXFLAGS="-mcpu=athlon-xp -march=athlon-xp -O3 -pipe"
ACCEPT_KEYWORDS="x86 ~x86"
MAKEOPTS="-j2"
AUTOCLEAN="yes"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage/"
FEATURES="sandbox ccache"
Comment 11 Chris Lyttle 2003-04-05 15:13:40 UTC
Any news on this? I am getting the same set of libtool error's the last person is getting, downgrading autoconf/automake doesn't help.
Comment 12 Sean 2003-04-06 17:40:26 UTC
It appears that libmusicbrainz has it's _own_ copy of libtool in the root of its source tree. I added an ugly hack to the ebuild by putting:

    rm libtool
    ln -si /usr/bin/libtool

inbetween the "econf || die" and 'emake || die "compile problem"' sections in src_compile(), and it compiles up just fine. Not sure what the "correct" solution for this should be, but this will get it up and running at least.
Comment 13 Alex Combas 2003-04-06 19:31:27 UTC
Sean where in the ebuild do u put this:
    rm libtool
    ln -si /usr/bin/libtool

Because I have downgraded autoconf and automake and NOW i am geting all these libtool errors exactly as described by the other comments.
Comment 14 Alex Combas 2003-04-06 19:36:35 UTC
oops, nm.. 
Ok, I did that and it works.

Thanks.
Comment 15 Chris Lyttle 2003-04-06 19:44:24 UTC
Interesting, that libtool change also seems to make it now compile fine with;
sys-devel/automake-1.7.2
sys-devel/autoconf- 2.57-r1

Hopefully nothing else is broken by this, but it seems to do the trick, thanks!
Comment 16 J. Ellis (RETIRED) gentoo-dev 2003-04-07 08:55:09 UTC
What is checked in right now will build on my machine with:

libtool-1.4.3-r1
automake-1.7.2
autoconf-2.57-r1

it did *not* build with libtool-1.4.1-r10.
Comment 17 Dan Armak (RETIRED) gentoo-dev 2003-04-07 12:42:14 UTC
I also have the problem described in comment #10, and the fix in #12 fixed it. 
However I know nothing about libtool stuff so don't want to commit this. Azarah, since you 
made the ebuild use libtools.eclass recenetly, maybe you could approve this fix? Otherwise I'm 
afraid it might conflict with your changes under some configs. 
Comment 18 J. Ellis (RETIRED) gentoo-dev 2003-04-08 00:31:13 UTC
My comment in #16 was obviously too terse.

What Azarch has done is regenerate the ./configure using the latest automake / autoconf / libtool. The version of libtool that is currently stable does not accept the -e flag which is why you get the error in #10.

If you emerge the latest version of libtool all will be well.

By way of explaination, when i first commited this the stable versions of automake and autoconfig worked with the ebuild. Then when the new versions of automake and autoconig moved to stable, or people emerged then because of ACCEPT_KEYWORDS, things broke. Azarah's commit was to make them work with the very latest of automake, autoconf, libtool. Unfortunately the latest libtool is still masked.

Azarah, do you know if libtool-1.4.3-r1 is going to move to stable anytime soon?
Comment 19 Martin Schlemmer (RETIRED) gentoo-dev 2003-04-08 07:43:01 UTC
Its a bit more complex.  It works fine when libtool-1.4.3 is installed, but that
is because we fixed ours ...

The big problem however, is that libtool-1.4.3 (which is shipped with musicbrainz)
have a problem when used with autoconf-2.13 .... it use the environmental variable
SED to know what sed to use.  With autoconf-2.57, it works fine, as autoconf-2.57
should set SED.  I see however that this is not true with musicbrainz, as it borks
with autoconf-2.57 as well :/

Anyhow, there are three ways to fix this:

1)  export SED=sed

2)  start using libtool-1.4.3

3)  patch the libtool.eclass to apply the sed patch to 1.4.3 libtools that
    do not have it.

I opted for 3), so it should be fixed with latest revision of libtool.eclass:

------------------------------------------------------------------------
# Copyright 1999-2003 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
# $Header: /home/cvsroot/gentoo-x86/eclass/libtool.eclass,v 1.23 2003/04/08 11:34:57 azarah Exp $
------------------------------------------------------------------------

Which can be verified with:

-----------------------------------------------------------------------
workshop eclass # grep -c sed_patch /usr/portage/eclass/libtool.eclass 
5
workshop eclass # 
-----------------------------------------------------------------------

Anyhow, just test and confirm, and then you should be able to close this.
Comment 20 J. Ellis (RETIRED) gentoo-dev 2003-04-12 01:54:42 UTC
Azarah's libtool.eclass change fixes this; closing.