Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 245836

Summary: media-video/mpeg4ip-1.5.0.1-r1 failed to compile with mp4live
Product: Gentoo Linux Reporter: Maxx Twayne <maxxtwayne>
Component: Current packagesAssignee: Olivier Crete (RETIRED) <tester>
Status: RESOLVED DUPLICATE    
Severity: normal CC: grubsnubby
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 214740    

Description Maxx Twayne 2008-11-06 16:08:19 UTC
When i try to compile mpeg4ip with mp4live, compilation fails.



Reproducible: Always

Actual Results:  
i686-pc-linux-gnu-g++ -D_REENTRANT -DNOCONTROLS -fexceptions -Wall -Wno-char-subscripts -Woverloaded-virtual -Wno-unknown-pragmas -Wno-deprecated -Wformat=2 -Wpointer-arith -Wsign-compare -O2 -march=nocona -pipe -DMPEG4IP -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -Wl,-O1 -o .libs/mp4live audio_encoder.o audio_encoder_tables.o video_encoder.o video_encoder_tables.o mp4live.o  /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libpangoft2-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libfontconfig.so /usr/lib/libfreetype.so /usr/lib/libxml2.so /usr/lib/libpng12.so /usr/lib/libXrender.so /usr/lib/libX11.so /usr/lib/libXau.so /usr/lib/libXdmcp.so /usr/lib/libpixman-1.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so /usr/lib/libglib-2.0.so /usr/lib/libfaac.so ./h261/.libs/libmp4live_h261.a gui/.libs/libmp4livegui.a ./.libs/libmp4live.a ../../lib/mpeg2ps/.libs/libmpeg2_program.a ../../lib/msg_queue/.libs/libmsg_queue.so ../../lib/mp4v2/.libs/libmp4v2.so ../../lib/mp4av/.libs/libmp4av.so ../../lib/rtp/.libs/libuclmmbase.a ../../lib/sdp/.libs/libsdp.so ../../lib/gnu/.libs/libmpeg4ip_gnu.so ../../lib/utils/.libs/libutils.a ../../lib/srtp/.libs/libsrtpif.so /usr/lib/libSDL.so -lpthread ./.libs/libmp4livepreview.a -lavcodec -lz -lavutil /usr/lib/libvorbisenc.so /usr/lib/libvorbis.so /usr/lib/libogg.so /usr/lib/libfaad.so -lm -lxvidcore -lx264 -ldl
./.libs/libmp4live.a(video_encoder_class.o): In function `CVideoEncoder::ProcessVideoYUVFrame(CMediaFrame*)':
video_encoder_class.cpp:(.text+0x673): undefined reference to `avpicture_fill(AVPicture*, unsigned char*, int, int, int)'
video_encoder_class.cpp:(.text+0x6a0): undefined reference to `avpicture_deinterlace(AVPicture*, AVPicture const*, int, int, int)'
./.libs/libmp4live.a(audio_ffmpeg.o): In function `InitFFmpegAudio()':
audio_ffmpeg.cpp:(.text+0x2fa): undefined reference to `avcodec_init()'
audio_ffmpeg.cpp:(.text+0x2ff): undefined reference to `avcodec_register_all()'
audio_ffmpeg.cpp:(.text+0x30b): undefined reference to `avcodec_find_encoder(CodecID)'
audio_ffmpeg.cpp:(.text+0x319): undefined reference to `avcodec_find_encoder(CodecID)'
./.libs/libmp4live.a(audio_ffmpeg.o): In function `CFfmpegAudioEncoder::StopEncoder()':
audio_ffmpeg.cpp:(.text+0x40c): undefined reference to `avcodec_close(AVCodecContext*)'
./.libs/libmp4live.a(audio_ffmpeg.o): In function `CFfmpegAudioEncoder::EncodeSamples(short*, unsigned int, unsigned char)':
audio_ffmpeg.cpp:(.text+0x5ec): undefined reference to `avcodec_encode_audio(AVCodecContext*, unsigned char*, int, short const*)'
./.libs/libmp4live.a(audio_ffmpeg.o): In function `CFfmpegAudioEncoder::Init()':
audio_ffmpeg.cpp:(.text+0xd88): undefined reference to `avcodec_init()'
audio_ffmpeg.cpp:(.text+0xd8d): undefined reference to `avcodec_register_all()'
audio_ffmpeg.cpp:(.text+0xdaf): undefined reference to `avcodec_find_encoder(CodecID)'
audio_ffmpeg.cpp:(.text+0xdd7): undefined reference to `avcodec_alloc_context()'
audio_ffmpeg.cpp:(.text+0xde5): undefined reference to `avcodec_alloc_frame()'
audio_ffmpeg.cpp:(.text+0xe44): undefined reference to `avcodec_find_encoder(CodecID)'
./.libs/libmp4live.a(audio_ffmpeg.o): In function `.L443':
audio_ffmpeg.cpp:(.text+0xfd8): undefined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
audio_ffmpeg.cpp:(.text+0x10b3): undefined reference to `avcodec_find_encoder(CodecID)'
audio_ffmpeg.cpp:(.text+0x10d6): undefined reference to `avcodec_find_encoder(CodecID)'
./.libs/libmp4live.a(audio_ffmpeg.o): In function `.L448':
audio_ffmpeg.cpp:(.text+0x11a4): undefined reference to `avcodec_find_encoder(CodecID)'
./.libs/libmp4live.a(video_ffmpeg.o): In function `CFfmpegVideoEncoder::EncodeImage(unsigned char const*, unsigned char const*, unsigned char const*, unsigned int, unsigned int, bool, long long, unsigned long long)':
video_ffmpeg.cpp:(.text+0x62a): undefined reference to `avcodec_encode_video(AVCodecContext*, unsigned char*, int, AVFrame const*)'
./.libs/libmp4live.a(video_ffmpeg.o): In function `CFfmpegVideoEncoder::StopEncoder()':
video_ffmpeg.cpp:(.text+0x6b9): undefined reference to `avcodec_close(AVCodecContext*)'
./.libs/libmp4live.a(video_ffmpeg.o): In function `CFfmpegVideoEncoder::Init()':
video_ffmpeg.cpp:(.text+0x771): undefined reference to `avcodec_init()'
video_ffmpeg.cpp:(.text+0x776): undefined reference to `avcodec_register_all()'
video_ffmpeg.cpp:(.text+0x87a): undefined reference to `avcodec_find_encoder(CodecID)'
video_ffmpeg.cpp:(.text+0x8a2): undefined reference to `avcodec_alloc_context()'
video_ffmpeg.cpp:(.text+0x8b0): undefined reference to `avcodec_alloc_frame()'
video_ffmpeg.cpp:(.text+0xb07): undefined reference to `avcodec_open(AVCodecContext*, AVCodec*)'
video_ffmpeg.cpp:(.text+0xbbc): undefined reference to `avcodec_find_encoder(CodecID)'
video_ffmpeg.cpp:(.text+0xc3d): undefined reference to `avcodec_find_encoder(CodecID)'
collect2: ld returned 1 exit status
make[4]: *** [mp4live] Error 1
make[4]: Leaving directory `/var/tmp/portage/media-video/mpeg4ip-1.5.0.1-r1/work/mpeg4ip-1.5.0.1/server/mp4live'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/var/tmp/portage/media-video/mpeg4ip-1.5.0.1-r1/work/mpeg4ip-1.5.0.1/server/mp4live'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-video/mpeg4ip-1.5.0.1-r1/work/mpeg4ip-1.5.0.1/server'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-video/mpeg4ip-1.5.0.1-r1/work/mpeg4ip-1.5.0.1'
make: *** [all] Error 2



Portage 2.1.4.5 (default/linux/x86/2008.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.25-gentoo-r7 i686)
=================================================================
System uname: 2.6.25-gentoo-r7 i686 Intel(R) Core(TM)2 CPU 6600 @ 2.40GHz
Timestamp of tree: Thu, 06 Nov 2008 00:30:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p33
dev-java/java-config: 1.3.7, 2.1.6
dev-lang/python:     2.4.4-r14, 2.5.2-r7
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r2
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=nocona -pipe"
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/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -march=nocona -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://cudlug.cudenver.edu/gentoo/ http://gentoo.tiscali.nl/"
LDFLAGS="-Wl,-O1"
LINGUAS="fr"
MAKEOPTS="-j4"
PKGDIR="/usr/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="/usr/portage"
SYNC="rsync://puffy/gentoo-portage"
USE="X a52 aac acl acpi alsa apache2 arts asf berkdb bluetooth branding bzip2 cairo cdr cli cracklib crypt cups dbus dri dvd dvdr dvdread eds emboss encode esd evo exif fam ffmpeg firefox flac fortran gdbm gif gnome gphoto2 gpm gstreamer gtk hal iconv ipod ipv6 isdnlog java jpeg kde ldap libnotify lm_sensors mad matroska midi mikmod mmx mp3 mpeg mplayer mudflap ncurses nfs nls nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png ppds pppd python qt3 qt3support qt4 quicktime readline reflection samba sdl session spell spl sse sse2 ssl ssse3 startup-notification svg sysfs tcpd theora tiff truetype unicode usb v4l v4l2 vorbis win32codecs x264 x86 xine xinerama xml xorg xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd 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 dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" USERLAND="GNU" VIDEO_CARDS="nvidia v4l vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2008-11-07 06:34:17 UTC
Should maybe block bug #214740?
Comment 2 Olivier Crete (RETIRED) gentoo-dev 2008-11-07 06:46:03 UTC
This a clearly a problem of trying to compile against the wrong version of ffmpeg.
Comment 3 Christopher Crammond 2008-11-11 07:28:40 UTC
To get past this compile error, I edited my package.keywords with the following...

=================================================
#
# Added Nov 2008
# to bypass compile errors with 1.5.0.1-r1
# 
=app-cdr/k3b-1.0.5-r3
=media-libs/x264-0.0.20081006
=media-video/ffmpeg-0.4.9_p20081014
=media-video/mpeg4ip-1.5.0.1-r5
=================================================

Unfortunately, this also failed to compile due to a missing function (ffmpeg.cpp:218: error: ‘avcodec_decode_audio’ was not declared in this scope).  Is there a good way to determine which ebuilds versions match?
Comment 4 Christopher Crammond 2008-11-13 07:50:01 UTC
After a little fiddling, (At least for my system) I was able to get things to compile with the following:

=================
#
# Added Nov 2008
# to bypass compile errors with 1.5.0.1-r1
# 
=app-cdr/k3b-1.0.5-r3
=media-video/ffmpeg-0.4.9_p20080326
=media-video/mpeg4ip-1.5.0.1-r5
=================

BTW, this changed/upgraded/downgraded these packages to the listed versions:
* media-libs/x264-0.0.20080819
* media-video/ffmpeg-0.4.9_p20080326

Comment 5 Samuli Suominen (RETIRED) gentoo-dev 2008-12-12 05:05:36 UTC

*** This bug has been marked as a duplicate of bug 242094 ***