Search code examples
simulationgazebo-simu

gazebo11 - symbol lookup error: libavfilter.so.7d


I am trying to run Gazebo 11 on my Ubuntu 20.04 system.

After the installations, when I run gazebo with terminal, I encounter with this error:

gazebo: symbol lookup error: /lib/x86_64-linux-gnu/libavfilter.so.7: undefined symbol: av_write_image_line2, version LIBAVUTIL_56

Could anyone have a solution about that?


Solution

  • I found it, the underlying problem is too interesting :D

    I have Lucid's ArenaSDK (Linux x64) for camera visualization and it uses ffmpeg libraries https://thinklucid.com/downloads-hub. BUT, it individually compiles ffmpeg and creates symbolic links for itself. Additionally, it changes the path for the original ffmpeg's links in config file, which creates a conflict with the real one at /usr/lib/x86_64-linux-gnu.

    I recompiled ArenaSDK by giving the system's default ffmpeg's path:

    echo "Adding the following Arena SDK library paths to /etc/ld.so.conf.d/$CONF_FILE:"
    echo
    echo "$CURRENTDIR/lib64"
    echo "$CURRENTDIR/GenICam/library/lib/Linux64_x64"
    echo "/usr/lib/x86_64-linux-gnu" # EDITED HERE!
    
    sh -c "echo $CURRENTDIR/lib64 > /etc/ld.so.conf.d/$CONF_FILE"
    sh -c "echo $CURRENTDIR/GenICam/library/lib/Linux64_x64 >> /etc/ld.so.conf.d/$CONF_FILE"
    sh -c "echo /usr/lib/x86_64-linux-gnu >> /etc/ld.so.conf.d/$CONF_FILE" # EDITED HERE!
    
    

    Now, you are free to install Gazebo without ffmpeg conflicts :)