MaartenBaert / ssr

SimpleScreenRecorder, a screen recorder for Linux
http://www.maartenbaert.be/simplescreenrecorder/
GNU General Public License v3.0
2.49k stars 288 forks source link

symbol lookup error: /lib/x86_64-linux-gnu/libopenmpt.so.0: undefined symbol: mpg123_param2 #972

Closed oshliaer closed 1 year ago

oshliaer commented 1 year ago

After do-release-upgrade from Ubuntu 20 to Ubuntu 22 I'm catching the next error.

$> simplescreenrecorder
$< simplescreenrecorder: symbol lookup error: /lib/x86_64-linux-gnu/libopenmpt.so.0: undefined symbol: mpg123_param2

How can I fix this?

darkshram commented 1 year ago

You can't, unless you know how to build *.deb packages or if you know at least how to build packages from source code by yourself. What you have posted shows Ubuntu packagers rebuilt several packages on the wrong order. They need to rebuild libopenmtp against the current libmpg123 library version.

The error specifically means libopenmtp was built against a previous libmpg123 version and the current libmpg123 version has new symbols unrecognized by libopenmtp.

oshliaer commented 1 year ago

@darkshram, OK.

I think you're right. And I have some experience of package building of *.deb.

Please how do I know which packages I should rebuild? This is a difficulty for me.

Is it libopenmtp only?

Thanks.

darkshram commented 1 year ago

Sorry, I'm only an experienced packager with RPM (Fedora, Red Hat, CentOS, Alma Linux and related). To rebuild *.deb packages you need 1) to install development packages, 2) to know exactly which ones to install for a particular package and 3) to know how to use dpkg-buildpackage. This also means you need to have several years of experience and knowledge as software developer and packager. It's a very-advanced-user-level task.

You should report this bug directly to Ubuntu, so they can fix it. Trust me, for no-technical users the best thing to do is to report the bug at Ubuntu. Your issue here is really an Ubuntu issue.

This kind of bugs rarely happen to Fedora or RHEL and derivative Linux distros, because they always freeze the final list of packages, then rebuild everything several times (yes, they do it) to make sure everything builds with the correct symbols, and then make a release after testing every package. That's something Ubuntu should be doing before each release, but obviously they are not doing it. Yours is not the only issue. As software packager I monitor over a 200 hundred Linux applications hosted at Github, all I can say is Ubuntu has a lot of "wrong symbols" related bugs.

oshliaer commented 1 year ago

@darkshram, thanks!

I thinks I have to move this question to the specific community https://askubuntu.com/questions/1429483/how-can-i-fix-undefined-symbol-error