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 |
Reporter | w.p. | Assigned To | manx | ||
Priority | high | Severity | major | Reproducibility | always |
Status | resolved | Resolution | fixed | ||
Product Version | OpenMPT 1.29.00.* (old testing) | ||||
Target Version | OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first) | Fixed in Version | OpenMPT 1.29.01.00 / libopenmpt 0.5.0 (upgrade first) | ||
Summary | 0001293: libmodplug should have version 0.8.9.x | ||||
Description | 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 | no needed | ||||
Additional Information | 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 w.p. |
|
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. |
|
Hi manx! |
|
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. |
|
Date Modified | Username | Field | Change |
---|---|---|---|
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 (upgrade first) |
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 (upgrade first) |