Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux build #10

Merged
merged 6 commits into from
Jun 11, 2017
Merged

Linux build #10

merged 6 commits into from
Jun 11, 2017

Conversation

igorangst
Copy link

Lightweight adaptations for a linux build of kerberos, using ALSA or JACK drivers. Fixes a timing issue, where fast sysex messages were dropped. Also added a convenient build script that populates the kerberos release directory with the binary, dependency libs and a startup script. Have fun!

@johey
Copy link

johey commented Oct 8, 2015

The build script fails because of missing Makefile. Forgot to add it?

@igorangst
Copy link
Author

Hi,

the Makefile is being generated by qmake, which I forgot to call in the
build script. Should work now. Please test again.

Ulrich

On 08.10.2015 10:46, Johan Svensson wrote:

The build script fails because of missing Makefile. Forgot to add it?


Reply to this email directly or view it on GitHub:
#10 (comment)

@johey
Copy link

johey commented Oct 8, 2015

It works fine now. Thanks! Just had to apt-get install qt5-default and all dependencies were installed (Ubuntu 14.04). Though, I don't know why but the change is not added in master branch. I had to add it myself into the build script even though I pulled from master.

@meonwax
Copy link

meonwax commented Jan 28, 2016

Any plans to merge this?

@j0ju
Copy link

j0ju commented Jan 28, 2016

Hi, tried this branch, but having troubles.
I tried to compile under jessie and 14.04.

joju@lx:usr/src/build/c64-midi-kerberos-git/qt# sh build-linux.sh
[] Building application
g++ -c -m64 -pipe -O2 -Wall -W -D_REENTRANT -fPIE -D__LINUX_ALSASEQ__ -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I../../../../lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -I. -I../../../../include/qt5 -I../../../../include/qt5/QtWidgets -I../../../../include/qt5/QtGui -I../../../../include/qt5/QtCore -I. -I. -o mainwindow.o mainwindow.cpp
In file included from mainwindow.h:11:0,
from mainwindow.cpp:12:
ui_mainwindowform.h:13:25: fatal error: QtGui/QAction: No such file or directory
#include <QtGui/QAction>
^
compilation terminated.
make: *
* [mainwindow.o] Error 1
[*] Could not build application

I installed qt5-default as mentioned. In Jessie oder Ubuntu 14.04 there is not a file in/usr/include/x86_64-linux-gnu/qt5/QtGui/QAction only /usr/include/x86_64-linux-gnu/qt5/QtGui/QActionInterface.

What I am missing?

@meonwax
Copy link

meonwax commented Jan 29, 2016

I didn't use the build-linux.sh script, just compiled manually:

cd qt
qmake
make

Then the resulting kerberos.bin works just fine.
Why would i need the librarys bundled in a lib-directory as the build-linux.sh script copies them?
They are dynamically linked and just exist on my system.

Btw: I'm on Arch Linux with qt5 5.5.1 installed.

@igorangst
Copy link
Author

As requested in the original issue, I tried to provide a more or less static build that could be deployed on systems that don't have all the libraries readily installed. It seems that my solution is not as portable as it should be. I suggest to split up the build script in a "just build" (i.e. qmake & make) and a "build release", which would include the library copying stuff. Any better idea?

@meonwax
Copy link

meonwax commented Jan 29, 2016

Would it be possible to statically link the libraries, so only the binary has to be deployed?

Edit: As i read here, the answer is: no.
Sorry, that conversation has been over a year ago :)

@j0ju
Copy link

j0ju commented Jan 29, 2016

I got it to build in a clean Debian/Jessie chroot. I have not tested the application yet, but it runs.

The following packages I had to install:

qt5-default
libasound-dev
This patch let my trouble go away, as in an qmake run Makefile and ui_mainwindowform.h are rebuild, if there is an ui_mainwindowform.h lying around from a former try it might fail.

--- a/qt/build-linux.sh
+++ b/qt/build-linux.sh
@@ -16,6 +16,7 @@ then
fi

echo "[*] Building application"
+rm -f Makefile ui_mainwindowform.h
qmake
make

@j0ju
Copy link

j0ju commented Jan 29, 2016

With less white space fixes and the above patch you can find it here. j0ju@5a73573

@FrankBuss FrankBuss merged commit 4478338 into FrankBuss:master Jun 11, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants