Have just emerged ffmpeg 0.4.6, Had to manualy emerge the needed files to get the docs to compile, and had to run make in the ../work directory. The build was successfully, but it failed for some reason to finalize the ebuild. Had to add -fPIC to the C flags. Reproducible: Always Steps to Reproduce: 1.This is not a bug per se 2. 3.
gcc -Wl,--warn-common -rdynamic -g -o ffmpeg_g ffmpeg.o -L./libavcodec -L./libavformat \ -lavformat -lavcodec -lm -lz -ldl /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_write_boolean' /usr/lib/libvorbis.so: undefined reference to `xmms_usleep' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_read_boolean' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_read_string' /usr/lib/libvorbis.so: undefined reference to `xmms_get_titlestring' /usr/lib/libvorbis.so: undefined reference to `xmms_titlestring_descriptions' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_free' /usr/lib/libvorbis.so: undefined reference to `xmms_show_message' /usr/lib/libvorbis.so: undefined reference to `xmms_create_dir_browser' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_remove_key' /usr/lib/libvorbis.so: undefined reference to `xmms_get_gentitle_format' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_write_int' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_write_string' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_new' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_write_file' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_open_file' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_read_int' /usr/lib/libvorbis.so: undefined reference to `xmms_cfg_open_default_file' collect2: ld returned 1 exit status make: *** [ffmpeg_g] Error 1 !!! ERROR: media-video/ffmpeg-0.4.6-r1 failed. !!! Function src_compile, Line 43, Exitcode 2 !!! make failed. emerge gnome failes on ffmpeg, see above. Possibly the same error ?? Platform x86 rdvrey@devrey.homelinux.com
the filter-flags MUST remove the "-fPIC" line should be changed to: filter-flags "-fforce-addr" [ "${ARCH}" = "alpha" ] && append-flags "-fPIC" the above line MUST be added ... then we get a successful build on alpha!
This fix is now in portage, thanks for the help!
well i am running x86 and the error is still alive and well , tried adding -fpic but didnt help
Both "-fpic" and "-fPIC" should be filtered on the x86 platform. ffmpeg-0.4.9_pre1 emits the following error when either "pic" flag is used: gcc -Wall -march=pentium3 -O2 -pipe -fomit-frame-pointer -fpic -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o msmpeg4.o msmpeg4.c msmpeg4.c: In function `msmpeg4_encode_dc': msmpeg4.c:720: error: can't find a register in class `BREG' while reloading `asm' msmpeg4.c: At top level: wmv2.c:104: warning: 'wmv2_encode_end' defined but not used make[1]: *** [msmpeg4.o] Error 1 make[1]: Leaving directory `/var/tmp/portage/ffmpeg-0.4.9_pre1/work/ffmpeg-0.4.9-pre1/libavcodec' make: *** [lib] Error 2