projectgus / hairless-midiserial

Lightweight cross-platform GUI-based MIDI/Serial bridge
https://projectgus.github.io/hairless-midiserial
Other
211 stars 73 forks source link

can't compile on ArchLinux using qt 4.8.7-9 #37

Open bmentink opened 7 years ago

bmentink commented 7 years ago

Hi, The binary refuses to run, so tried to compile a new version. I did the git submodule init step and I see the libraries directories qextserialport & rtmidi, however they have no content, so qmake at the top level fails .. would really like to get this going ..

EDIT: I manually cloned those directories, now qmake is ok, but now compile error with make:

g++ -c -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wall -W -D_REENTRANT -fPIC -DAPPNAME="hairless-midiserial" -DVERSION=\"0.4\" -D__LINUX_ALSASEQ__ -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -Isrc -Ilibraries/qextserialport/src -Ilibraries/rtmidi -isystem /usr/include/alsa -isystem /usr/include/qt -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtCore -I. -I/usr/lib/qt/mkspecs/linux-g++ -o main.o src/main.cpp
src/main.cpp:1:30: fatal error: QtGui/QApplication: No such file or directory
 #include <QtGui/QApplication>
                              ^
compilation terminated.
make: *** [Makefile:587: main.o] Error 1
bmentink commented 7 years ago

Anyone home?

projectgus commented 7 years ago

This works for me on Arch:

qmake-qt4
make

(Default Qt on Arch is Qt 5, so you need to use the older qmake version.)

projectgus commented 7 years ago

(PS If you want to guarantee a grumpy response from an open source maintainer, pester them with a follow-up after only two days. Works wonders.)

bmentink commented 7 years ago

Sorry, did not realise you where so fragile, just trying (and failing) to be humorous ;)

Anyhow, tried the qmake-qt4 but with this response:

WARNING: Failure to find: resources/resources.qrc
/usr/lib/qt4/bin/rcc: File does not exist 'resources/resources.qrc
projectgus commented 7 years ago

I'm not sure where that path came from. Possibly the Qt 5 generated Makefile has some wrong paths in it.

To start from scratch, try:

git clean -f
git submodule update --init
qmake-qt4
make
bmentink commented 7 years ago

Thanks, but still the same issue at the qmake-qt4 stage .... (I had already tried a fresh clone ..) Can you try a fresh clone, if you have an updated Arch install?

Is there some part of qt4 I am missing .... I am running Deepin desktop, so probably don't have a lot of qt4 installed. What are the dependencies for this project. ?

Cheers

EDIT: I don't have a resources.qrc file anywhere on my box .. EDIT2: It seems that file is only available for qt5:

pkgfile resources.qrc extra/qt5-examples

On Mon, Oct 17, 2016 at 10:27 AM, Angus Gratton notifications@github.com wrote:

I'm not sure where that path came from. Possibly the Qt 5 generated Makefile has some wrong paths in it.

To start from scratch, try:

git clean -f git submodule update --init qmake-qt4 make

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/projectgus/hairless-midiserial/issues/37#issuecomment-254076224, or mute the thread https://github.com/notifications/unsubscribe-auth/AJp6h1lHETHCH9ON1UU1BbuEVnvL1v59ks5q0pa0gaJpZM4KWkkk .

projectgus commented 7 years ago

My mistake, I accidentally pushed a work in progress refactoring commit 8e9c0fd94 to github.

Have reverted, please pull the latest and try again.

bmentink commented 7 years ago

Brilliant, have just compiled and run it .... many thanks.

By the way, I am intending to interface to Hydrogen drum machine on Linux, is your program mean't to show a midi interface to Hydrogen? If so, I don't see it ..

I also don't see Hydrogen in your software as a midi out device ..

Thanks,

projectgus commented 7 years ago

If it can support ALSA MIDI then you should be able to use it.

There are some tips for Linux here: http://projectgus.github.io/hairless-midiserial/#my_midi_program_ableton_logic_doesnt_show_up_in_the_dropdown

bmentink commented 7 years ago

I saw that .... but have no idea how to get an ALSA "passthough midi" working .... looks like I will have to google around .. Hydrogen definitely supports ALSA MIDI ...

bmentink commented 7 years ago

I did a modprobe snd-virmidi and that showed up some virtual midi devices in Hydrogen, but still nothing showing up in HairlessMidi .. so can't link anything.

It would be great if you installed Hydrogen so you could see what I mean ... (go to Preferences ... midi ...)

..also, is it possible to compile Hairless for 460,800 baud rate for the serial port?

bmentink commented 7 years ago

Just a note that qjackctl sees hydrogen as a midi device and ALSA/jack device, it cannot see Hairless as a device either .... what device name is mean't to show up?

...and ttyMidi shows up in Hydrogen .... guess I will use that instead ..... (unless your program has lower latency, in that case I will persevere on pestering you to get your software working)

bmentink commented 7 years ago

I have hacked ttyMidi so that it runs at 460800 baud, works well. I also had to alter the Makefile before it would build .... not surprising as it's 5 years old.