Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 91639 - ffmpeg-0.4.9-p20050226-r5 fails with /usr/lib/libpostproc.so.0: undefined reference to `fast_memcpy'
Summary: ffmpeg-0.4.9-p20050226-r5 fails with /usr/lib/libpostproc.so.0: undefined ref...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Gentoo Media-video project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-05-05 19:30 UTC by Sebastian
Modified: 2005-05-23 06:36 UTC (History)
0 users

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


Attachments
patch to remove faulty shared-pp behaviour from mplayer 1.0_pre7 (mplayer-no_shared_pp.diff,557 bytes, patch)
2005-05-09 03:19 UTC, Sebastian
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Sebastian 2005-05-05 19:30:28 UTC
Hi all,

I'm trying to reemerge ffmpeg for days now. It just doesn't work. I tried also -r3.

This is what it says with -r5:

rm -f libavformat.a
ar rc libavformat.a utils.o cutils.o os_support.o allformats.o mpeg.o mpegts.o mpegtsenc.o ffm.o crc.o img.o img2.o raw.o rm.o avienc.o avidec.o wav.o swf.o au.o gif.o mov.o mpjpeg.o dv.o yuv4mpeg.o 4xm.o flvenc.o flvdec.o movenc.o psxstr.o idroq.o ipmovie.o nut.o wc3movie.o mp3.o westwood.o segafilm.o idcin.o flic.o sierravmd.o matroska.o sol.o electronicarts.o nsvdec.o asf.o asf-enc.o  pnm.o yuv.o png.o jpeg.o gifdec.o sgi.o avio.o aviobuf.o file.o  framehook.o
i686-pc-linux-gnu-gcc -shared -o libavformat.so utils.o cutils.o os_support.o allformats.o mpeg.o mpegts.o mpegtsenc.o ffm.o crc.o img.o img2.o raw.o rm.o avienc.o avidec.o wav.o swf.o au.o gif.o mov.o mpjpeg.o dv.o yuv4mpeg.o 4xm.o flvenc.o flvdec.o movenc.o psxstr.o idroq.o ipmovie.o nut.o wc3movie.o mp3.o westwood.o segafilm.o idcin.o flic.o sierravmd.o matroska.o sol.o electronicarts.o nsvdec.o asf.o asf-enc.o  pnm.o yuv.o png.o jpeg.o gifdec.o sgi.o avio.o aviobuf.o file.o  framehook.o   -lm -lz -lpthread -ldl -lavcodec -L../libavcodec
ranlib libavformat.a
make[1]: Leaving directory `/var/tmp/portage/ffmpeg-0.4.9_p20050226-r5/work/ffmpeg-0.4.9-p20050226-shared/libavformat'
i686-pc-linux-gnu-gcc -Wl,--warn-common -rdynamic -g  -o ffmpeg_g ffmpeg.o cmdutils.o -L./libavformat -lavformat -L./libavcodec -lavcodec -lm -lz -lpthread -ldl -lxvidcore
i686-pc-linux-gnu-gcc -Wl,--warn-common -rdynamic -g  -o output_example output_example.o -L./libavformat -lavformat -L./libavcodec -lavcodec -lm -lz -lpthread -ldl -lxvidcore
/usr/lib/libpostproc.so.0: undefined reference to `fast_memcpy'
collect2: ld returned 1 exit status
make: *** [ffmpeg_g] Error 1
make: *** Waiting for unfinished jobs....
/usr/lib/libpostproc.so.0: undefined reference to `fast_memcpy'
collect2: ld returned 1 exit status
make: *** [output_example] Error 1

This happens with -r3:
i686-pc-linux-gnu-gcc -O3 -Wall -Wno-switch -O2 -march=athlon-xp -pipe -fomit-frame-pointer -fPIC -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o xvidff.o xvidff.c
i686-pc-linux-gnu-gcc -O3 -Wall -Wno-switch -O2 -march=athlon-xp -pipe -fomit-frame-pointer -fPIC -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o oggvorbis.o oggvorbis.c
oggvorbis.c: In function `oggvorbis_decode_frame':
oggvorbis.c:246: warning: unused variable `i'
i686-pc-linux-gnu-gcc -O3 -Wall -Wno-switch -O2 -march=athlon-xp -pipe -fomit-frame-pointer -fPIC -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o i386/fdct_mmx.o i386/fdct_mmx.c
i686-pc-linux-gnu-gcc -O3 -Wall -Wno-switch -O2 -march=athlon-xp -pipe -fomit-frame-pointer -fPIC -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o i386/cputest.o i386/cputest.c
i686-pc-linux-gnu-gcc -O3 -Wall -Wno-switch -O2 -march=athlon-xp -pipe -fomit-frame-pointer -fPIC -DHAVE_AV_CONFIG_H -I.. -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -c -o i386/dsputil_mmx.o i386/dsputil_mmx.c
In file included from i386/dsputil_mmx.c:165:
i386/dsputil_mmx_avg.h: In function `put_pixels4_l2_3dnow':
i386/dsputil_mmx_avg.h:58: error: can't find a register in class `BREG' while reloading `asm'
i386/dsputil_mmx.c: In function `dsputil_init_mmx':
i386/dsputil_mmx.c:3076: warning: assignment from incompatible pointer type
i386/dsputil_mmx.c:3077: warning: assignment from incompatible pointer type
i386/dsputil_mmx.c: At top level:
i386/dsputil_mmx_rnd.h:59: warning: `put_no_rnd_pixels8_l2_mmx' defined but not used
i386/dsputil_mmx_rnd.h:155: warning: `put_no_rnd_pixels16_l2_mmx' defined but not used
i386/dsputil_mmx_rnd.h:300: warning: `avg_no_rnd_pixels4_mmx' defined but not used
i386/dsputil_mmx_rnd.h:59: warning: `put_pixels8_l2_mmx' defined but not used
i386/dsputil_mmx_rnd.h:155: warning: `put_pixels16_l2_mmx' defined but not used
make[1]: *** [i386/dsputil_mmx.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/ffmpeg-0.4.9_p20050226-r3/work/ffmpeg-0.4.9-p20050226-shared/libavcodec'
make: *** [lib] Error 2

Cheers

Sebastian



Reproducible: Always
Steps to Reproduce:
1.
2.
3.




emerge info
Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.3.5-20050130,
glibc-2.3.4.20041102-r1, 2.6.12-rc3 i686)
=================================================================
System uname: 2.6.12-rc3 i686 AMD Athlon(tm) XP 1700+
Gentoo Base System version 1.4.16
Python:              dev-lang/python-2.3.5 [2.3.5 (#1, May  5 2005, 13:34:23)]
ccache version 2.3 [enabled]
dev-lang/python:     2.3.5
sys-apps/sandbox:    [Not Present]
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.6.3, 1.9.5, 1.7.9-r1, 1.4_p6, 1.5, 1.8.5-r3
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.16
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config
/usr/lib/X11/xkb /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=athlon-xp -pipe -fomit-frame-pointer"
DISTDIR="/data/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict"
GENTOO_MIRRORS="ftp://sunsite.rwth-aachen.de/pub/Linux/gentoo"
LINGUAS="de"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.informatik.rwth-aachen.de/gentoo-portage"
USE="3dnow 3dnowext X alsa crypt cups dvb dvd foomaticdb gnome gtk gtk2 ithreads
jpeg mad mmap mmx mmxext ncurses nls no_wxgtk1 oggvorbis png ppds readline rtc
spell sse ssl threads truetype truetype-fonts userlocales x86 xv xvid zlib
linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY
Comment 1 Jakub Moc (RETIRED) gentoo-dev 2005-05-06 00:31:02 UTC
-r5 should be fixed now, emerge sync and try again.

*** This bug has been marked as a duplicate of 90916 ***
Comment 2 Luca Barbato gentoo-dev 2005-05-06 08:19:34 UTC
a bug about cflags and mmx assembly is different from a link issue.
Comment 3 Luca Barbato gentoo-dev 2005-05-06 09:18:32 UTC
I can't reproduce the issue locally
Comment 4 Jakub Moc (RETIRED) gentoo-dev 2005-05-06 10:39:46 UTC
I
Comment 5 Jakub Moc (RETIRED) gentoo-dev 2005-05-06 10:39:46 UTC
I´m going to try here... the problem is that there are two bugs mixed together here.
Comment 6 Sebastian 2005-05-06 11:10:00 UTC
I found the issue, and this is really weired. The error said "/usr/lib/libpostproc.so.0: undefined reference to `fast_memcpy'". After reading this error three times it came to me that is means that there's something it doesn't like about /usr/lib/libpostproc.so.0 and that it doesn't complaing about /var/tmp/portage/path-to-ffmpeg/usr/lib/libpostproc.so.0. So I removed /usr/lib/libpostproc.so.0 and afterwards -r5 compiled fine.
But why the heck is it looking at its predecessor anyway?

qpkg -f /usr/lib/libpostproc.so.0
media-video/ffmpeg *

Maybe removing this "check" would be a good idea?

Please close if you feel it's the thing to do.

Cheers

Sebastian
Comment 7 Sebastian 2005-05-06 11:14:44 UTC
The mmx issue I had with r3 is gone in r5. Oh, and the libpostproc.so.0 is really only a link to libpostproc.so.0.0.1. That one was overwritten during the succesful emerge. Maybe it would have been able to yield a bit more useful info. Sorry.

Cheers

Sebastian
Comment 8 Jakub Moc (RETIRED) gentoo-dev 2005-05-06 11:21:24 UTC
-r5 builds fine here, so maybe just the upgrade from some old version does not work. 
Comment 9 Sebastian 2005-05-06 11:29:58 UTC
Hi Jakub,

did you read what I wrote in the two postings above? ;-)

Cheers

Sebastian
Comment 10 Sebastian 2005-05-06 11:32:08 UTC
Anyway, I find it a little off that ffmpeg checks a previous version of libpostproc that it is supposed to overwrite. 

But thanks to you for fixing the mmx issue, Jakub!

Cheers

Sebastian
Comment 11 Luca Barbato gentoo-dev 2005-05-06 15:47:34 UTC
I'll try to find what's wrong there, thanks for the input
Comment 12 Sebastian 2005-05-08 16:43:04 UTC
Hi!

It happened on my box because I had installed mplayer cvs. Allthough emerging a regular mplayer (1.0_pre6-r4) apparently doesn't install /usr/lib/libpostproc.so.0 and /usr/lib/libpostproc.so.0.0.1, installing a cvs mplayer with --enable-shared-pp does. Possibly the cvs version of libpostproc inherits things the older version that comes with ffmpeg doesn't know about, like the reference to `fast_memcpy'.

Just a hunch :)

Sebastian
Comment 13 Luca Barbato gentoo-dev 2005-05-09 02:58:29 UTC
I guess I could mark it worksforme since I can't reproduce it locally
Comment 14 Sebastian 2005-05-09 03:18:51 UTC
True, but on the other hand maybe devs should remove the shared-pp stuff from mplayer ebuilds. 

1. It evidently doesn't work anyway. libpostproc doesn't get installed by the mplayer ebuilds.
2. If someone wanted libpostproc he should install ffmpeg anyway. That way no version conflicts will arise with the rest of the ffmpeg stuff.

Cheers

Sebastian
Comment 15 Sebastian 2005-05-09 03:19:50 UTC
Created attachment 58458 [details, diff]
patch to remove faulty shared-pp behaviour from mplayer 1.0_pre7
Comment 16 Sebastian 2005-05-23 06:36:38 UTC
I'm gonna close this. Works for gentoo I think.