View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0001293||OpenMPT||libopenmpt-modplug emulation layer||public||2020-02-01 08:33||2020-05-24 12:43|
|Product Version||OpenMPT 1.29.00.* (old testing)|
|Target Version||OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (current stable)||Fixed in Version||OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (current stable)|
|Summary||0001293: libmodplug should have version 0.8.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.
Sorry for the long delay.
We decided to split out the libmodplug emulation layer from the regular libopenmpt package in order to allow for users to more easily mix-and-match libopenmpt versions with emulated libmodplug versions:
libopenmpt 0.5 development version no longer ships with the libmodplug emulation layer in the regular package.
The newly split-out libopenmpt-modplug package is obviously not very thoroughly tested right now, so please report back with any problems you encounter.
|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.01.00 / libopenmpt 0.5.0 (current stable)|
|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|
|2020-03-15 10:18||w.p.||Note Added: 0004256|
|2020-04-12 11:08||manx||Summary||libmodplug should have version 0.9.x => libmodplug should have version 0.8.9.x|
|2020-04-14 08:34||manx||Priority||normal => high|
|2020-04-14 08:34||manx||Severity||minor => major|
|2020-04-14 08:34||manx||Category||libopenmpt => libopenmpt-modplug emulation layer|
|2020-04-14 09:17||manx||Status||assigned => feedback|
|2020-04-14 09:17||manx||Note Added: 0004287|
|2020-05-24 12:43||manx||Status||feedback => resolved|
|2020-05-24 12:43||manx||Resolution||open => fixed|
|2020-05-24 12:43||manx||Fixed in Version||=> OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (current stable)|