[SOLVED]cannot load module ffmpeg (undefined symbol a52_init

*nix specific usage questions
Hxp
New Cone
New Cone
Posts: 9
Joined: 19 Dec 2006 15:48

[SOLVED]cannot load module ffmpeg (undefined symbol a52_init

Postby Hxp » 25 Feb 2007 15:11

Hey community,

I have a problem when compiling and running latest svn checkout of vlc. It compiled fine, but during the start vlc outputs:
main libvlc warning: cannot load module `modules/codec/ffmpeg/.libs/libffmpeg_plugin.so' (modules/codec/ffmpeg/.libs/libffmpeg_plugin.so: undefined symbol: a52_init)

I have installed a52dec (0.7.4), have compiled latest ffmpeg-svn version with --enable-liba52, also compiled vlc with --enable-a52 and --with-a52=/usr/local/include/a52dec --with-a52-tree=/home/xxx/a52dec-0.7.4 but nothing helped. I have also tried different combinations (e.g. compiled vlc without --enable-a52 and only referenced to the ffmpeg with a52 support,....)

Please help, I am sure it only needs a little change to get things working :)

I also wanted to add a comment: When compiling vlc with latest live555 library: There is no member named playStartTime in class MediaSession. I have commented out these lines (in modules/demux/live555.cpp, lines 853, 921,1136 and 1212) and it worked for me.
Last edited by Hxp on 04 Mar 2007 17:06, edited 1 time in total.

Hxp
New Cone
New Cone
Posts: 9
Joined: 19 Dec 2006 15:48

Postby Hxp » 25 Feb 2007 20:33

Ok I have found a kind of workaround to my problem.
I now use the precompiled ffmpeg library (from the videolan YUM source) and additionally have compiled and installed the swscaler by myself (because this is needed for the svn-version of vlc and was not provided with the precompiled ffmpeg).

If any one can offer me a better solution for my problem I would really appreciate it. Thanks in advance

dionoea
Cone Master
Cone Master
Posts: 5157
Joined: 03 Dec 2003 23:09
Location: Paris, France

Postby dionoea » 25 Feb 2007 20:59

You need to compile VLC with --with-ffmpeg-faac to make it load the appropriate .so. (check ./configure --help|grep ffmpeg in VLC)
Antoine Cellerier
dionoea
(Please do not use private messages for support questions)

Hxp
New Cone
New Cone
Posts: 9
Joined: 19 Dec 2006 15:48

Postby Hxp » 04 Mar 2007 17:21

Thank you so much for your answer.

I added all --with-ffmpeg-* commands to my configure line, but this did not work out.

I now added the shared libraries manually to the libffmpeg_plugin.so. The last command during make in directory /modules/codec/ffmpeg is gcc -std=gnu99 -shared [...]. This creates the shared ffmpeg-lib for vlc. I now added:

Code: Select all

/usr/lib/faad.so /usr/lib/libx264.so -L/path/to/my/liba52/liba52.la -la52
This resolved the following error messages for me:

Code: Select all

cannot load module modules/codec/ffmpeg/.libs/libffmpeg_plugin.so(modules/codec/ffmpeg/.libs/libffmpeg_plugin.so: undefined symbol: a52_init) ([...] undefined symbol: NeAACDecOpen) ([...] undefined symbol: x264_encoder_close)
But this should be added automatically, because these Makefiles are generated automatically or am I wrong?
Sorry, I am quite a newbie to shared libraries and projects of this size.

dean.chang
New Cone
New Cone
Posts: 2
Joined: 22 Mar 2007 12:25
Location: Taiwan

Postby dean.chang » 04 May 2007 11:15

Dear Hxp.,
Try these and change host and target for i386,
I can build VLC 0.9 and 0.8x!!



export set CPPFLAGS="-I$INSTALL_PATH/include"
export set CFLAGS="-I$IBUILD_PATH/include"
export set LDFLAGS="-L$BUILD_PATH/lib"

./a52-script
#!/bin/sh
./configure --host=arm-linux --target=arm-linux \
--prefix=$BUILD_PATH \
--exec-prefix=$INSTALL_PATH \
--enable-shared

make
make install

./ffmpeg-script
#!/bin/sh
./configure --prefix=$INSTALL_PATH \
--cc=gcc --cross-compile --cross-prefix=arm-linux- --arch=armv4l --cpu=arm --target-os=linux \
--enable-pthreads --enable-gpl --enable-shared --enable-gpl --enable-swscaler --enable-pp \
--disable-v4l --disable-armv5te --disable-armv6 --enable-x264 \
--disable-mmx --disable-dv1394 --disable-zlib --disable-debug \
--disable-mpegaudio-hp --disable-ffserver \
--enable-liba52 --enable-liba52bin \
--enable-libfaad --enable-libfaadbin \
--extra-cflags="-I$BUILD_PATH/include" \
--extra-ldflags="-L$INSTALL_PATH/lib"
Dean.


Return to “VLC media player for Linux and friends Troubleshooting”

Who is online

Users browsing this forum: No registered users and 9 guests