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?
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 :)