View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0001180 | OpenMPT | libopenmpt | public | 2018-12-24 18:41 | 2019-01-13 14:36 |
Reporter | jcowgill | Assigned To | manx | ||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | resolved | Resolution | fixed | ||
Product Version | OpenMPT 1.28.01.00 / libopenmpt 0.4.0 (upgrade first) | ||||
Fixed in Version | OpenMPT 1.28.02.00 / libopenmpt 0.4.1 (upgrade first) | ||||
Summary | 0001180: CSoundFile compat API is missing from shared libraries in libopenmpt 0.4.0 | ||||
Description | In the libmodplug layer in libopenmpt 0.4.0, it seems that all the CSoundFile functions have been made non-public (hidden visibility). This causes undefined references in applications which use the compat layer and the CSoundFile API. Was this an intentional change or an oversight? | ||||
Steps To Reproduce | With libopenmpt 0.4.0 autotools:
With 0.3.13, this prints lots of symbols. | ||||
Tags | No tags attached. | ||||
Attached Files | |||||
Has the bug occurred in previous versions? | |||||
Tested code revision (in case you know it) | |||||
This is certainly a bug and was not intentional. I'll release a fixed 0.4.1 in the next 2 days. Until then, the attached patch should restore the public symbols. libmodplug-no-exported-cpp-api-quickfix-v1.patch (745 bytes)
--- libopenmpt-0.4.0+release.autotools.original/libopenmpt/libopenmpt_modplug_cpp.cpp 2018-08-30 15:03:30.000000000 +0200 +++ libopenmpt-0.4.0+release.autotools/libopenmpt/libopenmpt_modplug_cpp.cpp 2018-12-24 20:07:59.972914902 +0100 @@ -51,8 +51,6 @@ /* libmodplug C++ header is broken for MSVC DLL builds */ #define MODPLUG_STATIC #endif /* _MSC_VER */ -#include "libmodplug/stdafx.h" -#include "libmodplug/sndfile.h" #ifdef _MSC_VER #define LIBOPENMPT_MODPLUG_API @@ -60,6 +58,11 @@ #define LIBOPENMPT_MODPLUG_API LIBOPENMPT_API_HELPER_EXPORT #endif /* _MSC_VER */ +class LIBOPENMPT_MODPLUG_API CSoundFile; + +#include "libmodplug/stdafx.h" +#include "libmodplug/sndfile.h" + namespace { template <class T> void Clear( T & x ) |
|
Thanks! That patch works. |
|
0.4.1 release will take about 2 weeks rather than 2 days |
|
Date Modified | Username | Field | Change |
---|---|---|---|
2018-12-24 18:41 | jcowgill | New Issue | |
2018-12-24 18:56 | manx | Assigned To | => manx |
2018-12-24 18:56 | manx | Status | new => assigned |
2018-12-24 19:13 | manx | File Added: libmodplug-no-exported-cpp-api-quickfix-v1.patch | |
2018-12-24 19:13 | manx | Note Added: 0003771 | |
2018-12-24 20:58 | jcowgill | Note Added: 0003772 | |
2018-12-25 06:47 | manx | Status | assigned => resolved |
2018-12-25 06:47 | manx | Resolution | open => fixed |
2018-12-25 06:47 | manx | Note Added: 0003773 | |
2018-12-26 06:41 | manx | Note Added: 0003774 | |
2019-01-13 14:36 | manx | Fixed in Version | => OpenMPT 1.28.02.00 / libopenmpt 0.4.1 (upgrade first) |