undefined symbol: E_IF_exit - Linux

This is a discussion on undefined symbol: E_IF_exit - Linux ; I am running my program but I get this error: main libvlc warning: [33;1mcannot load module `/home/yinglcs/vlc-bin/ lib/vlc/codec/libffmpeg_plugin.so' (/home/yinglcs/vlc-bin/lib/vlc/ codec/libffmpeg_plugin.so: undefined symbol: E_IF_exit) I have this library 'libamrwb.so' which defines E_IF_exit $ nm libamrwb.so | grep -r E_IF_exit 00011890 T ...

+ Reply to Thread
Results 1 to 2 of 2

Thread: undefined symbol: E_IF_exit

  1. undefined symbol: E_IF_exit

    I am running my program but I get this error:

    main libvlc warning: [33;1mcannot load module `/home/yinglcs/vlc-bin/
    lib/vlc/codec/libffmpeg_plugin.so' (/home/yinglcs/vlc-bin/lib/vlc/
    codec/libffmpeg_plugin.so: undefined symbol: E_IF_exit)

    I have this library 'libamrwb.so' which defines E_IF_exit

    $ nm libamrwb.so | grep -r E_IF_exit
    00011890 T E_IF_exit


    And that library is located in my LD_LIBRARY_PATH. My question is
    why linux can't find it when I load my program?

    [CODE]
    1.
    # echo $LD_LIBRARY_PATH
    2.
    :/home/yinglcs/vlc-bin/lib:/usr/local/lib
    3.
    # ls -la /usr/local/lib/*amr*-rw-r--r-- 1 root root 480942
    2007-07-25 13:37 /usr/local/lib/libamrnb.a
    4.
    -rwxr-xr-x 1 root root 803 2007-07-25 13:37 /usr/local/lib/
    libamrnb.la
    5.
    lrwxrwxrwx 1 root root 17 2007-07-25 13:37 /usr/local/lib/
    libamrnb.so -> libamrnb.so.2.0.0
    6.
    lrwxrwxrwx 1 root root 17 2007-07-25 13:37 /usr/local/lib/
    libamrnb.so.2 -> libamrnb.so.2.0.0
    7.
    -rwxr-xr-x 1 root root 438036 2007-07-25 13:37 /usr/local/lib/
    libamrnb.so.2.0.0
    8.
    -rw-r--r-- 1 root root 389114 2007-07-25 14:35 /usr/local/lib/
    libamrwb.a
    9.
    -rwxr-xr-x 1 root root 803 2007-07-25 14:35 /usr/local/lib/
    libamrwb.la
    10.
    lrwxrwxrwx 1 root root 17 2007-07-25 14:35 /usr/local/lib/
    libamrwb.so -> libamrwb.so.2.0.0
    11.
    lrwxrwxrwx 1 root root 17 2007-07-25 14:35 /usr/local/lib/
    libamrwb.so.2 -> libamrwb.so.2.0.0
    12.
    -rwxr-xr-x 1 root root 332341 2007-07-25 14:35 /usr/local/lib/
    libamrwb.so.2.0.0


  2. Re: undefined symbol: E_IF_exit

    yinglcs@gmail.com wrote:
    > I am running my program but I get this error:


    > main libvlc warning: [33;1mcannot load module `/home/yinglcs/vlc-bin/
    > lib/vlc/codec/libffmpeg_plugin.so' (/home/yinglcs/vlc-bin/lib/vlc/
    > codec/libffmpeg_plugin.so: undefined symbol: E_IF_exit)


    > I have this library 'libamrwb.so' which defines E_IF_exit


    > $ nm libamrwb.so | grep -r E_IF_exit
    > 00011890 T E_IF_exit


    > And that library is located in my LD_LIBRARY_PATH. My question is
    > why linux can't find it when I load my program?


    Looks like you try to dlopen() a shared library that requires
    symbols from another shared library. But just because a symbol
    exists in a library this library doesn't get loaded automatically
    - how should the linker know in which library that is and, even
    if it would test all libraries (which it doesn't) how should it
    react if there are several libraries exporting that symbol?

    If libffmpeg_plugin.so needs symbols from libamrwb.so then the
    program that dlopen()s libffmpeg_plugin.so probably should be
    linked against libamrwb.so, so that it has the symbols from
    libamrwb.so that libffmpeg_plugin.so in turn requires.

    Since it looks a bit as if this is related to the VLC media
    player you may also find some help at

    http://new-forum.videolan.org/

    Regards, Jens
    --
    \ Jens Thoms Toerring ___ jt@toerring.de
    \__________________________ http://toerring.de

+ Reply to Thread