Summary: | vorbis-tools 1.0.1 fails to compile | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | ta2002 <throw_away_2002> |
Component: | Current packages | Assignee: | Gentoo Sound Team <sound> |
Status: | RESOLVED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
ta2002
2004-11-08 18:31:24 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. 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. I wonder why it compiled for me... 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. marking invalid then... 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). /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... 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. This is rediculous... why can't I reproduce it... Can you post a complete log of you running 'emerge -v vorbis-tools' please... bouncing back to herd as I can't reproduce the problem... 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 :-) emerging net-misc/curl again really solved the problem... strange ;) marking this one as invalid, then |