Open simonvanderveldt opened 6 years ago
Could it be there is no MIDI backend when configured like this?
I believe rtmidi should be the default, but ./configure --help
is a little ambiguous in that it shows
--enable-rtmidi Enable rtmidi build, the default engine
I.e. it's an --enable
type options yet it's described as being the default engine.
Well, the ALSA-only (legacy version, deprecated) and PortMidi engines are available as well (and PortMidi is used for the Windows version).
The error you're getting is in regard to Gtkmm (!). I can duplicate that error, and am looking into it, but currently it makes no sense to me.
If you figure it out before me, let me know. A weird one!
To be truthful, I STILL need to work more on the autoconf setup.
-------- Simon van der Veldt 05:28 Fri 14 Sep --------
Could it be there is no MIDI backend when configured like this? I believe rtmidi should be the default, but ./configure --help is a little ambiguous in that it shows
--enable-rtmidi Enable rtmidi build, the default engine
I.e. it's an --enable type options yet it's described as being the default engine.
— You are receiving this because you are subscribed to this thread. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.
References
Visible links
-- There is a 20% chance of tomorrow.
I was able to get configure to succeed using:
PKG_CONFIG="/usr/bin/pkg-config" ./configure --disable-jack
Not sure why that is needed, though.
But the midi_jack* modules in the seq_rtmidi library will not build. I haven't bothered to support disabling JACK, but if you want to work on the code in a fork, that would be a big help. I'm currently frying other fish in seq64 (sigh).
I was able to get configure to succeed using:
PKG_CONFIG="/usr/bin/pkg-config" ./configure --disable-jack
Not sure why that is needed, though.
Hmm, that's odd. I'll see if I can figure out why this is happening
But the midi_jack* modules in the seq_rtmidi library will not build. I haven't bothered to support disabling JACK, but if you want to work on the code in a fork, that would be a big help. I'm currently frying other fish in seq64 (sigh).
When disabling JACK I guess another backend should be used, right? Since the ALSA one is deprecated I guess that should be rtmidi (just looking at Linux here)? Or is the portmidi backend supposed to cover all OSes?
Btw, building without JACK was just something that came up from our tests. I'm totally OK with using JACK and having it enabled :)
Just had a look at the ./configure
script, which seems to undoable to understand, it's rather unclear which if
belongs to which else
, etc. Looking at the section around line 19620(!) I'd say it all looks rather incorrect with stuff like this
else
pkg_failed=yes
fi
else
pkg_failed=untried
fi
Anyway, I'm afraid I can't really help with trying to figure it out. The only suggestion I can do is to switch to a usable buildsystem like CMake (which will be a bunch of work, but seems worth it to me vs this). For now I'll just make sure JACK is always enabled.
I think its an automake bug. I worked around it by add this to the configure.ac:
export PKG_CONFIG=$(which pkg-config)
I think some automake beard got confused about the difference between that variable and PKG_CONFIG_PATH, which refers to where your "pc" files are supposed to go.
Actually, I like automake and find it powerful and usable. I tried to get into cmake years ago, and after a couple days of working with it, it seemed to me just as complex a way to solve dependency issues as automake. And naming the configuration file with a ".txt" extension??? And I've experienced its issue in building Yoshimi, which uses cmake.
I also spent many days trying to get bjam to do everything I needed, and had to give up.
Choice is good!
If I were to convert to another build system, I would use qmake, which seems cleaner than both automake and cmake, though maybe not as powerful. It does the job. In fact, I use it for both the Linux and Windows (still waiting for some Mac guy to try it, I ain't buying a Mac) versions of the Qt gui (though I also have automake building the Qt gui as well). See the INSTALL file.
I build the Windows version on Windows, 7zip the deployment package, copy it to Linux, and run makensis on Linux to build the installation exe.
-------- Simon van der Veldt 07:10 Sat 15 Sep --------
Just had a look at the ./configure script, which seems to undoable to understand, it's rather unclear which if belongs to which else, etc. Looking at the section around line 19620(!) I'd say it all looks rather incorrect with stuff like this
else pkg_failed=yes fi else pkg_failed=untried fi
Anyway, I'm afraid I can't really help with trying to figure it out. The only suggestion I can do is to switch to a usable buildsystem like CMake (which will be a bunch of work, but seems worth it to me vs this).
— You are receiving this because you commented. Reply to this email directly, [1]view it on GitHub, or [2]mute the thread.
References
Visible links
-- "Not Hercules could have knock'd out his brains, for he had none." -- Shakespeare
@ahlstromcj Thanks for the fix!
Just tried to compile current master
again with --disable-jack
, the configure
now works correctly, but I get this compilation error. Figured it makes more sense to paste it here than to create a new issue
In file included from midiclocker64.cpp:36:0:
midi_clocker.hpp:38:10: fatal error: jack/jack.h: No such file or directory
#include <jack/jack.h>
^~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:595: midiclocker64.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from midi_clocker.cpp:44:0:
midi_clocker.hpp:38:10: fatal error: jack/jack.h: No such file or directory
#include <jack/jack.h>
^~~~~~~~~~~~~
compilation terminated.
make[1]: *** [Makefile:595: midi_clocker.o] Error 1
Hmm, thought I fixed it. Will fix after work tonight. Sorry for the slip-up!
On Mon, Sep 17, 2018, 12:55 Simon van der Veldt notifications@github.com wrote:
@ahlstromcj https://github.com/ahlstromcj Thanks for the fix!
Just tried to compile current master again with --disable-jack, the configure now works correctly, but I get this compilation error. Figured it makes more sense to paste it here than to create a new issue
In file included from midiclocker64.cpp:36:0: midi_clocker.hpp:38:10: fatal error: jack/jack.h: No such file or directory
include <jack/jack.h>
^~~~~~~~~~~~~
compilation terminated. make[1]: [Makefile:595: midiclocker64.o] Error 1 make[1]: Waiting for unfinished jobs.... In file included from midi_clocker.cpp:44:0: midi_clocker.hpp:38:10: fatal error: jack/jack.h: No such file or directory
include <jack/jack.h>
^~~~~~~~~~~~~
compilation terminated. make[1]: *** [Makefile:595: midi_clocker.o] Error 1
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ahlstromcj/sequencer64/issues/165#issuecomment-422090857, or mute the thread https://github.com/notifications/unsubscribe-auth/AHnVqCbT7fUmhTEMQj8PJVej0mqfPXPuks5ub9PugaJpZM4WpLb8 .
This fix was in master. Without JACK, the Midiclocker64 test application is useless, but it will build without error.
New checkout from current master 2e1904f0b615301e418470a5679123075bf3d1fa
The message
The pkg-config script could not be found or is too old
is incorrect, when I run just./configure
it works fine: