Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 70526 - vorbis-tools 1.0.1 fails to compile
Summary: vorbis-tools 1.0.1 fails to compile
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-11-08 18:31 UTC by ta2002
Modified: 2005-03-09 14:44 UTC (History)
0 users

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 ta2002 2004-11-08 18:31:24 UTC
Looks like vorbis-tools has a complaint with libFLAC
during compilation

Reproducible: Always
Steps to Reproduce:
1. emerge vorbis-tools (actully part of emerge kde)
2. have the same problem outside of portage (tar xfvz ... ; cd ... ; ./configure ; make
Actual Results:  
gcc -O20 -ffast-math -fsigned-char -march=pentium4 -O3 -pipe -fomit-frame-pointer -
msse2 -mfpmath=sse -o oggenc oggenc.o audio.o encode.o platform.o resample.o  ../
share/libutf8.a ../share/libgetopt.a -L/usr/lib /usr/lib/libvorbisenc.so /usr/lib/
libvorbis.so /usr/lib/libOggFLAC.so /usr/lib/libFLAC.so -lm /usr/lib/libogg.so 
audio.o(.data+0x30): undefined reference to `flac_id' 
audio.o(.data+0x38): undefined reference to `flac_open' 
audio.o(.data+0x3c): undefined reference to `flac_close' 
audio.o(.data+0x48): undefined reference to `oggflac_id' 
audio.o(.data+0x50): undefined reference to `flac_open' 
audio.o(.data+0x54): undefined reference to `flac_close' 
collect2: ld returned 1 exit status 
make[2]: *** [oggenc] Error 1 
make[2]: Leaving directory `/var/tmp/portage/vorbis-tools-1.0.1/work/vorbis-tools-1.0.
1/oggenc' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/var/tmp/portage/vorbis-tools-1.0.1/work/vorbis-tools-1.0.
1/oggenc' 
make: *** [all-recursive] Error 1 

!!! ERROR: media-sound/vorbis-tools-1.0.1 failed. 
!!! Function src_compile, Line 36, Exitcode 2 
!!! (no error message) 
!!! If you need support, post the topmost build error, NOT this status message.

Expected Results:  
compiled without error and installed

Portage 2.0.51-r3 (default-x86-2004.2, gcc-3.3.4, glibc-2.3.4.20040808-r1, 2.6.9-
gentoo-r1 i686)
=================================================================
System uname: 2.6.9-gentoo-r1 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.14.90.0.8-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r5
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -msse2 -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env 
/usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config
/usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -mcpu=i686 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs ccache distlocks sandbox"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/
distributions/gentoo"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib acpi alsa apache2 apm arts avi berkdb bitmap-fonts caps cdparanoia cdr 
crypt cups dga directfb divx4linux dvd dvdr encode f77 faad fam fbcon flac foomaticdb 
fortran gd ggi gif gmp gphoto2 gpm gtk2 idea imagemagick imap imlib ipv6 javascript 
jikes joystick jpeg kde lcms libwww live mad matroska mbox memlimit mikmod mmx mpeg 
mpi mysql nas ncurses nls oggvorbis opengl pam pdflib perl png qt quicktime readline 
rtc samba scanner sdl silc speex spell sse sse2 ssl svga tcpd theora tiff truetype 
unicode usb vanilla wifi wmf x86 xinerama xml xml2 xmms xv xvid zlib linguas_en_US 
linguas_ru"
Comment 1 James Tullett 2004-11-10 00:01:21 UTC
In the default emerge-driven build, the easyflac.c and flac.c modules in vorbis-tools-1.0.1 are not compiled, and the autoconf/configure process does not properly append them to the list of object files needed to build oggenc.

If the object modules flac.o and easyflac.o are added to the oggenc_OBJECTS macro in the Makefile of the directory above, oggenc will compile.
Comment 2 ta2002 2004-11-10 09:14:23 UTC
Thanks for the comment. I don't know how much of that I really understood. :)
I untarred the original source (outside of portage), ran ./configure, and then
changed line 166 in vorbis-tools-1.0.1/oggenc/Makefile:

- oggenc_OBJECTS = $(am_oggenc_OBJECTS)
+ oggenc_OBJECTS = $(am_oggenc_OBJECTS) flac.o easyflac.o

When I ran make, it still didn't compile, but I got a different error:

depfile='.deps/flac.Po' tmpdepfile='.deps/flac.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_ARGZ_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_FEOF_UNLOCKED=1 -DHAVE_FGETS_UNLOCKED=1 -DHAVE_GETCWD=1 -DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETUID=1 -DHAVE_MEMPCPY=1 -DHAVE_MUNMAP=1 -DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STPCPY=1 -DHAVE_STRCHR=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRTOUL=1 -DHAVE_TSEARCH=1 -DHAVE___ARGZ_COUNT=1 -DHAVE___ARGZ_STRINGIFY=1 -DHAVE___ARGZ_NEXT=1 -DHAVE_ICONV=1 -DICONV_CONST= -DHAVE_LANGINFO_CODESET=1 -DHAVE_LC_MESSAGES=1 -DENABLE_NLS=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DHAVE_CURL=1 -DHAVE_PTHREAD=1 -DHAVE_LIBFLAC=1 -DHAVE_LIBSPEEX=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_ICONV=1 -DICONV_CONST= -DHAVE_ATEXIT=1 -DHAVE_ON_EXIT=1 -DHAVE_LANGINFO_CODESET=1  -I. -I. -I../include   -I../intl    -O20 -ffast-math -fsigned-char  -c `test -f 'flac.c' || echo './'`flac.c
source='easyflac.c' object='easyflac.o' libtool=no \
depfile='.deps/easyflac.Po' tmpdepfile='.deps/easyflac.TPo' \
depmode=gcc3 /bin/sh ../depcomp \
gcc -DLOCALEDIR=\"/usr/local/share/locale\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"vorbis-tools\" -DVERSION=\"1.0.1\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GETPAGESIZE=1 -DHAVE_MMAP=1 -DHAVE_ARGZ_H=1 -DHAVE_LIMITS_H=1 -DHAVE_LOCALE_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_STDDEF_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DHAVE_FEOF_UNLOCKED=1 -DHAVE_FGETS_UNLOCKED=1 -DHAVE_GETCWD=1 -DHAVE_GETEGID=1 -DHAVE_GETEUID=1 -DHAVE_GETGID=1 -DHAVE_GETUID=1 -DHAVE_MEMPCPY=1 -DHAVE_MUNMAP=1 -DHAVE_PUTENV=1 -DHAVE_SETENV=1 -DHAVE_SETLOCALE=1 -DHAVE_STPCPY=1 -DHAVE_STRCHR=1 -DHAVE_STRCASECMP=1 -DHAVE_STRDUP=1 -DHAVE_STRTOUL=1 -DHAVE_TSEARCH=1 -DHAVE___ARGZ_COUNT=1 -DHAVE___ARGZ_STRINGIFY=1 -DHAVE___ARGZ_NEXT=1 -DHAVE_ICONV=1 -DICONV_CONST= -DHAVE_LANGINFO_CODESET=1 -DHAVE_LC_MESSAGES=1 -DENABLE_NLS=1 -DHAVE_GETTEXT=1 -DHAVE_DCGETTEXT=1 -DHAVE_CURL=1 -DHAVE_PTHREAD=1 -DHAVE_LIBFLAC=1 -DHAVE_LIBSPEEX=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DHAVE_ICONV=1 -DICONV_CONST= -DHAVE_ATEXIT=1 -DHAVE_ON_EXIT=1 -DHAVE_LANGINFO_CODESET=1  -I. -I. -I../include   -I../intl    -O20 -ffast-math -fsigned-char  -c `test -f 'easyflac.c' || echo './'`easyflac.c
make[1]: *** No rule to make target `../share/libutf8.a', needed by `oggenc'.  Stop.
make[1]: Leaving directory `/tmp/vorbis-tools-1.0.1/oggenc'
make: *** [all-recursive] Error 1

Thank you for your help.
Comment 3 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-10 10:40:16 UTC
I wonder why it compiled for me...
Comment 4 ta2002 2004-11-10 22:09:38 UTC
Oops. My fault on that one. I forgot to change back from
vorbis-tools-1.0.1/oggenc to vorbis-tools-1.0.1 when
running make (after editing Makefile), so libutf8 didn't
get built when oggenc needed it. Sorry.

I assume this gets fixed eventually, and I can force
my way around it this time just by pausing emerge and
editing the Makefile myself, but (to learn something
for the future) how should I handle having to make a
change (when using portage) between unpacking source
and compiling it?

Thank you again for your help.
Comment 5 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-10 23:04:14 UTC
marking invalid then...
Comment 6 ta2002 2004-11-11 10:26:18 UTC
Shouldn't (to fix the problem) the ebuild patch
vorbis-tools-1.0.1/oggenc/Makefile
to add flac.o and easyflac.o to the oggenc_OBJECTS line?
It still won't compile without editing the Makefile
(something that seems likely to catch other people).
Comment 7 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-11 13:03:33 UTC
/bin/sh ../libtool --mode=link i686-pc-linux-gnu-gcc  -O20 -ffast-math -fsigned-char -march=i686 -O2 -pipe -fomit-frame-pointer   -o oggenc  oggenc.o audio.o encode.o platform.o resample.o flac.o easyflac.o ../share/libutf8.a ../share/libgetopt.a -L/usr/lib -lvorbisenc -L/usr/lib -lvorbis -lm  -L/usr/lib -logg -lOggFLAC -lFLAC -lm -L/usr/lib -logg 
mkdir .libs
i686-pc-linux-gnu-gcc -O20 -ffast-math -fsigned-char -march=i686 -O2 -pipe -fomit-frame-pointer -o oggenc oggenc.o audio.o encode.o platform.o resample.o flac.o easyflac.o  ../share/libutf8.a ../share/libgetopt.a -L/usr/lib /usr/lib/libvorbisenc.so /usr/lib/libvorbis.so /usr/lib/libOggFLAC.so /usr/lib/libFLAC.so -lm /usr/lib/libogg.so
make[2]: Leaving directory `/mnt/raid0/tmp/g32/portage/vorbis-tools-1.0.1/work/vorbis-tools-1.0.1/oggenc'
make[1]: Leaving directory `/mnt/raid0/tmp/g32/portage/vorbis-tools-1.0.1/work/vorbis-tools-1.0.1/oggenc'


It does include it for me...
Comment 8 ta2002 2004-11-12 07:45:02 UTC
I had the same problem on two different machines.
The vorbis-tools-1.0.1/oggenc/Makefile (line 166)
says:

oggenc_OBJECTS = $(am_oggenc_OBJECTS)

which causes the compile to fail. Adding (as
suggested by James) flac.o easyflac.o to the end
of that line allows the compile to succeed.
Comment 9 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-12 10:33:30 UTC
This is rediculous... why can't I reproduce it...

Can you post a complete log of you running 'emerge -v vorbis-tools' please...
Comment 10 Jeremy Huddleston (RETIRED) gentoo-dev 2004-11-22 15:40:14 UTC
bouncing back to herd as I can't reproduce the problem...
Comment 11 Petr Kopecky 2004-12-19 09:15:43 UTC
It looks unbelievable but I had the same problem. But after reemerging net-misc/curl (which was somehow corrupted and required by grip) the problem is solved :-)
Comment 12 Martin Bertheau 2004-12-29 15:34:58 UTC
emerging net-misc/curl again really solved the problem... strange ;)
Comment 13 Jan Brinkmann (RETIRED) gentoo-dev 2005-03-09 14:44:24 UTC
marking this one as invalid, then