[Ffmpeg-devel] [BUG?] missing symbols in shared libavcodec build
Dominik 'Rathann' Mierzejewski
dominik
Thu Jan 25 02:22:47 CET 2007
I haven't looked too deeply into it, but here's a heads up in case somebody
discovers the cause before me.
https://bugzilla.livna.org/show_bug.cgi?id=1379
[...]
ffmpeg 0.4.9-0.34.20061214.lvn7 is missing some symbols, breaking gstreamer-ffmpeg.
With ffmpeg-0.4.9-0.25.20061030.lvn6.i386.rpm installed
"[hans at localhost ~]$ objdump -T /usr/lib/libavcodec.so | grep img_" gives:
000face0 g DF .text 000000aa Base img_crop
00141630 g DF .text 00000185 Base img_resample_full_init
001417c0 g DF .text 00000068 Base img_resample_init
000fad90 g DF .text 000001b7 Base img_get_alpha_info
00140c20 g DF .text 00000025 Base img_resample_close
000fd7d0 g DF .text 00000291 Base img_pad
000fb8f0 g DF .text 00000752 Base img_convert
00140c90 g DF .text 000006d7 Base img_resample
000fb0e0 g DF .text 00000046 Base ff_img_copy_plane
000fb130 g DF .text 00000181 Base img_copy
With ffmpeg-0.4.9-0.34.20061214.lvn7 installed
"[hans at localhost ~]$ objdump -T /usr/lib/libavcodec.so | grep img_" gives:
[hans at localhost ~]$ objdump -T /usr/lib/libavcodec.so | grep img_
00107180 g DF .text 000000aa Base img_crop
001061e0 g DF .text 00000139 Base img_get_alpha_info
00106ee0 g DF .text 00000291 Base img_pad
001064b0 g DF .text 00000046 Base ff_img_copy_plane
00106500 g DF .text 00000181 Base img_copy
Notice how a number of img_ symbols have gone MIA, however these symbols for
example img_resample are still declared in the header files, for example
/usr/include/ffmpeg/avcodec.h line 2414-2415:
void img_resample(ImgReSampleContext *s,
AVPicture *output, const AVPicture *input);
This leads to errors like:
[hans at localhost sdlmame0110u2.new]$ ldd -r /usr/lib/gstreamer-0.10/libgstffmpeg.so
linux-gate.so.1 => (0x0030e000)
...
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00470000)
undefined symbol: img_resample (/usr/lib/gstreamer-0.10/libgstffmpeg.so)
undefined symbol: img_resample_init (/usr/lib/gstreamer-0.10/libgstffmpeg.so)
undefined symbol: img_resample_close (/usr/lib/gstreamer-0.10/libgstffmpeg.so)
undefined symbol: img_convert (/usr/lib/gstreamer-0.10/libgstffmpeg.so)
---
Since both version contain /usr/lib/libavcodec.so.51, iow the same so
version/name these symbols should not have been removed, also its obviously
wrong to to still declare removed symbols.
[...]
------- Additional Comment #2 From Hans de Goede 2007-01-24 09:17 [reply] -------
I already tried rebuilding gstreamer-ffmpeg against the new ffmpeg, but that
doesn't fix it. As said:
1) The ffmpeg headers still contain prototype declerations for the removed symbols
2) libavcodec has libavcodec.so.51 as soname for both releases, since the
soname didn't change the update shouldn't break any apps using it.
Thus IMHO ffmpeg needs to be fixed.
[...]
I plan to tackle it in a few days. Feel free to drop any hints.
Regards,
R.
--
MPlayer developer and RPMs maintainer: http://mplayerhq.hu http://rpm.livna.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
-- from "Collected Sayings of Muad'Dib" by the Princess Irulan
More information about the ffmpeg-devel
mailing list