Stabilizing: symbol lookup error: /usr/lib/transcode/import_ffmpeg.so: undefined symbol: avcodec_init

Bug #942166 reported by Nec
58
This bug affects 12 people
Affects Status Importance Assigned to Milestone
Medibuntu
Invalid
Undecided
Unassigned
transcode (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

While running the first pass of a stabilizing command :

transcode -J stabilize -i input_mjpeg.avi -y null,null -o dummy

transcode seems to launch well, then crash by saying :

[...]
[export_null.so] v0.1.2 (2001-08-17) (video) null | (audio) null
[import_raw.so] tcextract -x pcm -i "input_mjpeg.avi" -d 0 | tcextract -a 0 -x pcm -d 0 -t raw
transcode: symbol lookup error: /usr/lib/transcode/import_ffmpeg.so: undefined symbol: avcodec_init

and an empty (0 kilo) .trf file gets created.

Here are the details I can give :
- Ubuntu 11.10 oneiric 32 bits
- transcode 3:1.1.5-0ubuntu9

I was expecting a .trf file to be filled with data concerning stabilization to be created.
I'd be glad to give you any further needed details.

Revision history for this message
Reinhard Tartler (siretart) wrote : Re: [Bug 942166] [NEW] Stabilizing: symbol lookup error: /usr/lib/transcode/import_ffmpeg.so: undefined symbol: avcodec_init

please state the exact version of libavcodec53 that you have installed
on that machine.

--
Gruesse/greetings,
Reinhard Tartler, KeyID 945348A4

Revision history for this message
Nec (nicolas-ecarnot) wrote :

# dpkg --list libavcodec*
un libavcodec-extra-52 <none>
ii libavcodec-extra-53 4:0.7.3ubuntu0.11.10.1+medibuntu Libav codec library
rc libavcodec53 4:0.7.3-0ubuntu0.11.10.1 Libav codec library

Revision history for this message
Reinhard Tartler (siretart) wrote :

Thanks.

Comment #2 indicates that a non-Ubuntu, 3rd party package is most likely responsible for this bug.

Dear medibuntu guys, this issue looks pretty serious to me. Please have a look and feel free to contact me if you believe that this issue is also present in the ubuntu libavcodec53 package.

Changed in medibuntu:
status: New → Invalid
status: Invalid → New
Changed in transcode (Ubuntu):
status: New → Invalid
Revision history for this message
Lionel Le Folgoc (mrpouit) wrote :

Readelf's output shows that the symbol is present, so this may be something else (broken/old copy in /usr/local/lib perhaps?):

$ readelf -Ws ubuntu/usr/lib/libavcodec.so.53.6.0 |grep avcodec_init
  1395: 003ca330 31 FUNC GLOBAL DEFAULT 12 avcodec_init@@LIBAVCODEC_53

$ readelf -Ws medibuntu/usr/lib/libavcodec.so.53.6.0 |grep avcodec_init
  1476: 003cfeb0 31 FUNC GLOBAL DEFAULT 12 avcodec_init@@LIBAVCODEC_53

$ readelf -Ws ubuntu/usr/lib/i686/cmov/libavcodec.so.53.6.0 |grep avcodec_init
  1395: 003ca7b0 31 FUNC GLOBAL DEFAULT 12 avcodec_init@@LIBAVCODEC_53

$ readelf -Ws medibuntu/usr/lib/i686/cmov/libavcodec.so.53.6.0 |grep avcodec_init
  1476: 003d0330 31 FUNC GLOBAL DEFAULT 12 avcodec_init@@LIBAVCODEC_53

Revision history for this message
Nec (nicolas-ecarnot) wrote :

# No old dusty things there :

$ ls -la /usr/local/lib
total 12
drwxr-xr-x 3 root root 4096 2011-10-12 17:47 .
drwxr-xr-x 9 root root 4096 2012-02-24 00:21 ..
drwxrwsr-x 4 root staff 4096 2011-10-12 17:47 python2.7

# updatedb done, let's see :

$ locate libavcodec.so
/usr/lib/libavcodec.so.53 (symlink to below)
/usr/lib/libavcodec.so.53.6.0
/usr/lib/i686/cmov/libavcodec.so.53 (symlink to below)
/usr/lib/i686/cmov/libavcodec.so.53.6.0

# I don't know why I have thoses files in both places...
# I don't know what cmov is.

# Anyway :

$ readelf -Ws /usr/lib/libavcodec.so.53.6.0|grep avcodec_init
  1476: 003cfeb0 31 FUNC GLOBAL DEFAULT 12 avcodec_init@@LIBAVCODEC_53
$ readelf -Ws /usr/lib/i686/cmov/libavcodec.so.53.6.0|grep avcodec_init
  1476: 003d0330 31 FUNC GLOBAL DEFAULT 12 avcodec_init@@LIBAVCODEC_53

# So, this seems to be something else to dig!

Revision history for this message
Nec (nicolas-ecarnot) wrote :
Download full text (4.4 KiB)

Just to help you dig further:

On a different computer and from a very fresh *L*ubuntu oneiric desktop installation, I ran the very same thing, with the very same (sad) results...

$ transcode -J stabilize -i input_mjpeg.avi
transcode v1.1.5 (C) 2001-2003 Thomas Oestreich, 2003-2009 Transcode Team
libdvdread: Encrypted DVD support unavailable.
************************************************
** **
** No css library available. See **
** /usr/share/doc/libdvdread4/README.Debian **
** for more information. **
** **
************************************************
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
libdvdread: Encrypted DVD support unavailable.
************************************************
** **
** No css library available. See **
** /usr/share/doc/libdvdread4/README.Debian **
** for more information. **
** **
************************************************
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.IFO failed
libdvdnav:DVDOpenFileUDF:UDFFindFile /VIDEO_TS/VIDEO_TS.BUP failed
libdvdread: Can't open file VIDEO_TS.IFO.
[transcode] V: auto-probing | input_mjpeg.avi (OK)
[transcode] V: import format | MJPEG in RIFF data, AVI (module=ffmpeg)
[transcode] A: auto-probing | input_mjpeg.avi (OK)
[transcode] A: import format | PCM in RIFF data, AVI (module=raw)
[transcode] V: AV demux/sync | (1) sync AV at initial MPEG sequence
[transcode] V: import frame | 1280x720 1.78:1 encoded @ 16:9
[transcode] V: bits/pixel | 0.130 (low)
[transcode] V: decoding fps,frc | 15.000,13
[transcode] V: video format | YUV420 (4:2:0) aka I420
[transcode] A: import format | 0x1 PCM [8000, 8,1] 64 kbps
[transcode] A: export | disabled
[transcode] V: encoding fps,frc | 15.000,13
[transcode] A: bytes per frame | 533 (533.333333)
[transcode] A: adjustment | 336@1000
[transcode] V: IA32/AMD64 accel | sse3 sse2 sse mmx cmove asm
[transcode] warning: no option -o found, encoded frames send to "/dev/null"
[transcode] warning: no option -y found, option -o ignored, writing to "/dev/null"
[transcode] V: video buffer | 10 @ 1280x720 [0x2]
[transcode] A: audio buffer | 10 @ 8000x1x8
[import_raw.so] v0.3.3 (2008-11-23) (video) RGB/YUV | (audio) PCM
[import_ffmpeg.so] v0.1.15 (2008-01-28) (video) ffmpeg: MS MPEG4v1-3/MPEG4/MJPEG
[filter_stabilize.so] v0.93 (2011-11-09) extracts relative transformations of
    subsequent frames (used for stabilization together with the
    transform filter in a second pass)
[filter_stabilize.so] Fieldsize: 96, Maximal translation: 90 pixel
[filter_stabilize.so] Number of used measurement fields: 13 out of 40
[filter_stabilize.so] Image Stabilization Settings:
[filter_stabilize.so] shakiness = 5
[filter_stabilize.so] accuracy = 5
[filter_stabilize.so] stepsize = 6
[filt...

Read more...

Revision history for this message
Lionel Le Folgoc (mrpouit) wrote :

The transcode package seems broken:

* with transcode_1.1.5-1_amd64.deb from wheezy:
% ldd debian_wheezy_deb/usr/lib/transcode/import_ffmpeg.so | grep av
 libavformat.so.53 => /usr/lib/x86_64-linux-gnu/libavformat.so.53 (0x00007f889bdc6000)
 libavcodec.so.53 => /usr/lib/x86_64-linux-gnu/libavcodec.so.53 (0x00007f889a59c000)
 libavutil.so.51 => /usr/lib/x86_64-linux-gnu/libavutil.so.51 (0x00007f889a37c000)

* with transcode_1.1.5-0ubuntu9_amd64.deb from oneiric:
% ldd oneiric_deb/usr/lib/transcode/import_ffmpeg.so | grep av
<nothing>

Changed in transcode (Ubuntu):
status: Invalid → New
Changed in medibuntu:
status: New → Invalid
Revision history for this message
Lionel Le Folgoc (mrpouit) wrote :

And with the natty package:
% ldd natty/usr/lib/transcode/import_ffmpeg.so | grep av
 libavformat.so.52 => not found

(not found because it's an old soname required, not present on my sid system)

But if you play with objdump you'll see the same.

Revision history for this message
Nec (nicolas-ecarnot) wrote :

According to what I'm reading on http://tcforge.berlios.de/, there seems to be a lack of developers on the TC team.
Does this mean this bug will never be solved?
Or is this only a packaging issue?

Revision history for this message
Alessio Treglia (quadrispro) wrote :

Hi,

thanks for the report.

Could you try to reproduce this with the latest upstream release available in Quantal?

Changed in transcode (Ubuntu):
status: New → Incomplete
Revision history for this message
Nec (nicolas-ecarnot) wrote :

I just upgraded recently to Precise.
Do I read that well : in order to solve a bug on this transcode software, are you asking me to upgrade my operating system to a new one that has not been released yet?
Don't get me wrong, but this could be taken as surprising.
I really want this bug to be solved, and I'm ready to install a VM with a very fresh Quantal, but on this issue, we're not speaking about a bug, we're speaking about a software that almost does not start at all, and I'm surprised so few people have noticed it.

Revision history for this message
Nec (nicolas-ecarnot) wrote :

Ok Alessio, i finally installed the very latest release of quantal, and inside this VM, I installe transcode 1.1.7 and tried the exact same test.

The result is exactly the same : undefined symbol: avcodec_init

Revision history for this message
Divilinux (divilinux) wrote :

Same error in Pangolin. I've tried lots of solutions but no one is working.
Still affects transcode package.

Revision history for this message
Henning Moll (drscott) wrote :

Why is this bug marked 'incomplete'. What information is missing?

Henning Moll (drscott)
Changed in transcode (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
ddalex (ddalex) wrote :

worked-around by forcing the libavcodec in preload

LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libavcodec.so.53 transcode ....

I suspect that the
/usr/lib/transcode/import_ffmpeg.so

doesn't import the libavcodec

Will investigate further.

Revision history for this message
Nec (nicolas-ecarnot) wrote :

ddalex : I confirm your work aroung helped me to get a little bit further.
Now, transcode doesn't crash anymore.

It just yelds many lines
"[filter_stabilize.so] warning: too low contrast! No field remains.,10)
                     (no translations are detected in frame 93)"
and produces a .trf file filled with zeros.

Will investigate now ;)

PS : thank you for your workaround

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.