kampfschlaefer / jackmix

Matrix-Mixer for the Jack-Audio-connection-Kit
http://www.arnoldarts.de/jackmix/
GNU General Public License v2.0
44 stars 13 forks source link

installation fails. #1

Closed mendomusic closed 7 years ago

mendomusic commented 7 years ago
pwd
/tmp/jackmix

then as in INSTALL:

scons
scons: Reading SConscript files ...
Configuring qt4muc...
Checking if the output of 'moc -v' contains 'Qt 4.' (cached) no
Checking if the output of 'moc4 -v' contains 'Qt 4.' (cached) no
Checking if the output of 'moc-qt4 -v' contains 'Qt 4.' (cached) yes
Checking if the output of 'uic -v' contains '4.' (cached) no
Checking if the output of 'uic4 -v' contains '4.' (cached) no
Checking if the output of 'uic-qt4 -v' contains '4.' (cached) yes
Checking if the output of 'rcc -v' contains '4.' (cached) no
Checking if the output of 'rcc4 -v' contains '4.' (cached) no
Checking if the output of 'rcc-qt4 -v' contains '4.' (cached) no

What am I missing?

nickbailey commented 7 years ago

Are you in a position to build with qt5? If so, maybe checkout the qt5 branch. It works for me, but needs testing. I'm not the project leader, so I'm not going to express an opinion about when qt5 should become the default.

mendomusic commented 7 years ago

Thanks. What is dependencies are needed:```

scons scons: Reading SConscript files ... Configuring qt5muc... Checking if the output of 'moc -v' contains 'moc 5.' (cached) no Checking if the output of 'moc5 -v' contains 'moc 5.' (cached) no Checking if the output of 'moc-qt5 -v' contains 'moc 5.' (cached) no

nickbailey commented 7 years ago

Using debian testing, I pass the test...

scons: Reading SConscript files ...
Configuring qt5muc...
Checking if the output of 'moc -v' contains 'moc 5.' (cached) yes
Checking if the output of 'uic -v' contains '5.' (cached) yes
Checking if the output of 'rcc -v' contains '5.' (cached) yes
Done. Will define a more or less automatic environment to do all the qt-specific stuff.
Checking for C header file stdio.h... yes
Checking for C++ header file iostream... yes
Checking for pkg-config (at least version 0.0.0)... yes
Checking for Qt5Core (5.3 or higher)...         yes
Checking for Qt5Xml (5.3 or higher)...  yes
Checking for Qt5Gui (5.3 or higher)...  yes
Checking for jack (0.100.0 or higher)...        yes
Checking for lash-1.0 (0.5.1 or higher)...      yes
Checking for alsa (1.0 or higher)...    yes
Checking for Qt5Widgets (5.3 or higher)...      yes
Merging -I/usr/include/x86_64-linux-gnu/qt5/QtWidgets -I/usr/include/x86_64-linux-gnu/qt5 -I/usr/include/x86_64-linux-gnu/qt5/QtCore -I/usr/include/x86_64-linux-gnu/qt5/QtGui -lQt5Widgets -lQt5Gui -lQt5Core  

I only had to install liblash-compat-dev IIRC on a machine I use for developing other stuff and a little bit of audio and video work. But the dependency list is probably best obtained from the above output.

However, I can't build from a fresh clone of the qt5 branch because int jack_port_set_name () is deprecated. I'm actually doing an ardour session right now :) I think there may be a new API call jack_port_rename(). I'll try and look into it today. I'd rather not turn the deprecation errors back into warnings. That way lies madness.

What does does moc -v say on your system?

nickbailey commented 7 years ago

OK, I've pushed a couple of commits to the qt5 branch which causes things to build on my laptop.

I can get it to crash if I mess around adding and removing channels. I can't obviously see why. I had to be quite abusive though! Let us know how you get on and if you find out how to produce a repeatable crash.

I think Arnold was talking about "version 2" having a Python GUI, but I suspect neither of us has the time to do that.

Arnold, do you want to check what I've done in the last patch isn't very stupid? It stops the scanner complaining that header files like don't have .h on the end.

mendomusic commented 7 years ago

This line triggers it: https://github.com/kampfschlaefer/jackmix/blob/master/admin/qt4muc.py#L98

moc -v
moc: could not exec '/usr/lib/x86_64-linux-gnu/qt4/bin/moc': No such file or directory

so I need to switch somehow to qt5:

/usr/lib/x86_64-linux-gnu/qt5/bin/moc -v
moc 5.5.1

I cannot remove qt4, yet. Too many packages have dependencies.

There seems to be a bug in Ubuntu: pkg-config reports path to qt5 moc for qt4 package https://bugs.launchpad.net/ubuntu/+source/qt-sdk/+bug/1290139

But via How do I change which version of Qt is used for qmake? & then I found what fixes this: Handling multiple versions of Qt

in bash:

export QT_SELECT="qt5"
scons

Now it builds the executable.

But it cannot connect to jack, even if reported to be running by qjackctrl & cadence