symbol size mismatch error in libZynAddSubFxCore.so on OpenBSD
- Dominant language
- C++
- Stars
- 10.4k
- Forks
- 1.3k
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 7
Description
### Bug Summary
While running lmms with the zynaddsubfx plugin enabled, symbol(_ZTI6EFFECT) size mismatch errors are observed
when the plugin is launched. The plugin works fine to an extent. Only issue I make accross is the instrument tab requires
you to select and then deselect "Show PAD status" to load the instruments of any type.
#### Steps to reproduce
By default zynaddsubfx is disabled on OpenBSD because of these issues, so remove the patch which disables it.
Compile and then launch the ZynAddSubFX plugin.
#### Expected behavior
Atleast no linking errors.
#### Actual behavior
Bad linking and failure to get shared memory by RemotePlugin.
Some UI bug? which requires extra steps to show the instruments
could be related to the linking, shared memory errors.
#### Screenshot
[lmms.log](https://github.com/LMMS/lmms/files/6098716/lmms.log)
#### Affected LMMS versions
Almost all lmms version since 1.2.0 had this issue, before we couldn't even
build the plugin. The most current 1.2.2 gives the same issue as well.
Lmms is compiled through the ports system.
#### Logs
The very last error is dumped continuously until lmms is closed.
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-zen'
lmms:/usr/local/lib/lmms/libZynAddSubFxCore.so: lmms : WARNING: symbol(_ZTI6Effect) size mismatch, relink your program
lmms:/usr/local/lib/lmms/libZynAddSubFxCore.so: lmms : WARNING: symbol(_ZTV6Effect) size mismatch, relink your program
QtXmlWrapper::loadXMLfile(): empty data
QtXmlWrapper::loadXMLfile(): empty data
Starting Audio: NULL
Audio Started
Starting MIDI: NULL
MIDI Started
RemotePlugin::DebugMessage: failed getting shared memory
WARNING - too late
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the OpenBSD patch that disables ZynAddSubFX and the reported libZynAddSubFxCore.so linker warnings in the attached lmms.log. Reproduce by removing that patch, compiling LMMS, and launching the plugin. Done means the symbol-size and shared-memory errors no longer occur and instruments load without the extra “Show PAD status” steps.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100