Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 735916 - media-sound/milkytracker-1.02.00 - SDL_Main.cpp:(.text+0x49b): undefined reference to `MidiReceiver::stopRecording()'
Summary: media-sound/milkytracker-1.02.00 - SDL_Main.cpp:(.text+0x49b): undefined refe...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Sound Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-08-04 13:34 UTC by Joshua Clayton
Modified: 2020-08-08 08:48 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,228.68 KB, text/plain)
2020-08-04 13:34 UTC, Joshua Clayton
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Joshua Clayton 2020-08-04 13:34:52 UTC
Created attachment 652920 [details]
build.log

Milkytracker fails to emerge, with a message about undefined references to internal sources. Specifically  to the object "MidiReceiver"

I noticed that CMakelists.txt is missing a reference to add_subdirectory(src/midi), where that source code is located. 

However, in the configure stage, midi support is disabled, due to not finding the RTMIDI package (http://www.music.mcgill.ca/~gary/rtmidi/index.html not in portage, as far as I can tell).

src/tracker/sdl/SDL_Main.cpp has references to MidiReceiver that exist if
HAVE_LIBASOUND is defined. I haven't dug far enough to see why this is defined if midi support is disabled by the top level build

I guess the proper resolution is (maybe?) to replace
Comment 1 Joshua Clayton 2020-08-04 13:53:04 UTC
I guess the proper resolution is (maybe?) to replace #ifdef HAVE_LIBASOUND with #ifdef RTMIDI_VERSION, which is defined in RtMidi.h (see https://github.com/thestk/rtmidi/blob/master/RtMidi.h)
Comment 2 Joshua Clayton 2020-08-04 13:55:33 UTC
...an internal "midi supported" define  may be needed...I'm making myself late for work obsessing about the :)
Comment 3 Arve Barsnes 2020-08-05 12:51:19 UTC
(In reply to Joshua Clayton from comment #1)
> I guess the proper resolution is (maybe?) to replace #ifdef HAVE_LIBASOUND
> with #ifdef RTMIDI_VERSION, which is defined in RtMidi.h (see
> https://github.com/thestk/rtmidi/blob/master/RtMidi.h)

It fixed the compile at least, haven't tested if it breaks anything.
Comment 4 Larry the Git Cow gentoo-dev 2020-08-08 08:48:58 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0396facd8f27eee98893cfc68de03905d9b95892

commit 0396facd8f27eee98893cfc68de03905d9b95892
Author:     Miroslav Šulc <fordfrog@gentoo.org>
AuthorDate: 2020-08-08 08:48:35 +0000
Commit:     Miroslav Šulc <fordfrog@gentoo.org>
CommitDate: 2020-08-08 08:48:51 +0000

    media-sound/milkytracker: fixes
    
    1) added xdg
    2) switched to virtual/jack
    3) fixed compilation wrt rtmidi
    
    Closes: https://bugs.gentoo.org/736306
    Closes: https://bugs.gentoo.org/735916
    Package-Manager: Portage-3.0.1, Repoman-2.3.23
    Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>

 ...ker-1.02.00-fix-hard-dependency-on-rtmidi.patch | 85 ++++++++++++++++++++++
 ...02.00.ebuild => milkytracker-1.02.00-r1.ebuild} |  9 ++-
 2 files changed, 92 insertions(+), 2 deletions(-)