View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001293||OpenMPT||libopenmpt||public||2020-02-01 08:33||2020-02-01 13:28|
|Product Version||OpenMPT 1.29.00.* (current testing)|
|Target Version||OpenMPT 1.29 / libopenmpt 0.5 (goals)|
|Summary||0001293: libmodplug should have version 0.9.x|
vlc-dev-4.0.0 requires libmodplug >= 0.9.0. On my OS openSUSE TW libmodplug is part of libopenmpt and my build of vlc-dev always fails with an error, because in the libopenmpt-devel package the version is only 0.8.5.x . For my build I patched the files in ~/libmodplug with files from https://github.com/Konstanty/libmodplug to get a working build.
Could you update the libmodplug files in libopenmpt to the needed version 0.9.0 ?
|Steps To Reproduce|
openSUSE bugzilla told me, that this is an upstream issue.
|Tags||No tags attached.|
|Has the bug occurred in previous versions?||yes|
|Tested code revision (in case you know it)|
Assuming you mean VLC-dev requires 0.8.9.0 and libopenmpt only offers 0.8.8.5 (as opposed to 0.9.x and 0.8.5.x).
What's the actual build failure case here? (do you have a link to the OpenSUSE discussion directing you here?)
The reason being that libmodplug happily breaks binary compatibility with almost every released version and in particular also not-yet-released versions. libmodplug has already again broken binary compatibility for the C++ API since the last release ( https://github.com/Konstanty/libmodplug/commit/afe790abc9ff106e815ec72bc64e5c95818eee4c#diff-9baf68b1f1a1b9ff2719c2876edfb565 adds a data member to CSoundFile, which is exposed). libmodplug 0.8.9.0 is not released yet (see http://modplug-xmms.sourceforge.net/ ). Now, this luckily does not affect VLC because VLC uses the C API. However libopenmpt emulates both, the libmodplug C and C++ APIs and will follow the latest released libmodplug version and its particular binary interface, because otherwise we would expect libopenmpt-modplug users to track unreleased (and thus subject to change) libmodplug versions.
If OpenSUSE (and/or VLC) have chosen to track libmodplug git master instead of stable released version, I can only assume this has been because of the implemented security fixes. However, I highly suggest that backporting the security fixes to the latest stable release would be a better choice here, precisely because libmodplug does not appear to care about ABI compatibility.
Sadly, I cannot see any obvious reasonable solution for your actual problem here. I suggest patching VLC configure to check for the older version only in case you build against the libopenmpt emulation layer instead of libmodplug.
Another alternative might be to offer a mode in libopenmpt-modplug which tracks libmodplug git master (risking being inconsistent basically on every libmodplug commit) as opposed to libmodplug stable releases.
Thanks for your quick answer.
First - openSUSE does not distribute an libopenempt-package officially. You have to download it from packman because of legacy reasons. The actual version there is 4.11. And packman does exactly that - you suggested - by patching the configure -file of vlc-dev without any building problems. But when I compare the different modplug.h files, they differ in a lot of lines. So I am very unsure, whether using the 0.8.5.5 version for vlc-dev is such a good idea (I can´t test it).
ubuntu does have a libmodplug-dev 0.8.9.0-1 package. And windows and macOS seem to have something similar too.
http://modplug-xmms. . . . seemed to be dead for me. Latest update was 2014.
Second - Obviously vlc does refer to https://sourceforge.net/projects/modplug-xmms/ . There is the required version "released" ("?").
My solution for myself is to patch the needed files in ~/libmodplug/ with the versions which vlc-dev expects me to have from the url above.
I have no idea about the problems with ABI compatibility problems, but it seems strange to me, that only openSUSE users in most cases may not use the 0.9.0 version. So I tried to get an updated solution for all of them, if vlc-4.0.0 will become released, but it seems not to be possible.
Thanks for your time
I honestly was not aware that http://modplug-xmms.sourceforge.net/ was dead. And github has neither a tag nor a release package for 0.8.9.0 either. But obviously you are right and the release is at https://sourceforge.net/projects/modplug-xmms/files/libmodplug/ .
I'll update libopenmpt accordingly.
There is still a correction needed: There is an official libopenmpt-package on openSUSE. The vlc-beta - package is on packman.
|2020-02-01 08:33||w.p.||New Issue|
|2020-02-01 09:13||manx||Assigned To||=> manx|
|2020-02-01 09:13||manx||Status||new => feedback|
|2020-02-01 09:13||manx||Note Added: 0004195|
|2020-02-01 09:13||manx||Target Version||=> OpenMPT 1.29 / libopenmpt 0.5 (goals)|
|2020-02-01 10:22||manx||Relationship added||related to 0000777|
|2020-02-01 11:53||w.p.||Note Added: 0004197|
|2020-02-01 11:53||w.p.||Status||feedback => assigned|
|2020-02-01 12:00||manx||Note Added: 0004198|
|2020-02-01 13:28||w.p.||Note Added: 0004200|