viktorgino / headunit-desktop

HeadUnit Desktop is a car PC software built with Qt 5 and QML
https://github.com/viktorgino/headunit-desktop/wiki
GNU General Public License v3.0
285 stars 64 forks source link

Cannot run "make clean" / "make" headunit with welle.io #4

Closed suhrmann closed 7 years ago

suhrmann commented 7 years ago

Building headunit with welle.io

Now - while headuit-app works I try to build "headunit with welle.io".

Therefore I try to make the project using the command

cd ~/headunit-desktop && make clean && qmake CONFIG+=welleio && make -j4 sub-app-with-welleio-pro

Here I get 2 errors:

1. make clean after trying to run this command I get this error:

cd qmllive/ && ( test -e Makefile || /usr/lib/x86_64-linux-gnu/qt5/bin/qmake ~/Development/headunit-desktop/tests/qmllive/qmllive.pro CONFIG+=release -o Makefile ) && make -f Makefile clean
Project ERROR: qmllive development package not found
Makefile:100: die Regel für Ziel „sub-qmllive-clean“ scheiterte (EN: rule for target "sub-qmllive-clean failed)
make[1]: *** [sub-qmllive-clean] Fehler 3 (EN: error 3)
make[1]: Verzeichnis „~/Development/headunit-desktop/tests“ wird verlassen (EN: leaving dir ...)
Makefile:93: die Regel für Ziel „sub-tests-clean“ scheiterte (EN: rule for target "sub-tests-clean" failed)
make: *** [sub-tests-clean] Fehler 2 (EN: error 2)

2. $ make -j4 sub-app-with-welleio-pro $ qmake CONFIG+=welleio works - but then after running make -j4 sub-app-with-welleio-pro I get this error (I translated into English):

make: *** rule to make target „sub-app-with-welleio-pro“.  Stop.

I cloned the latest version of the repo - with and without the changes mentioned in Issue #3 . And I can't run this command. Again everything worked except for issue #3 and this command mentioned above.

Update

Use Ubuntu 17.04 or Debian 9 with Qt 5.7 - and follow the instructions by @viktorgino See this comment

viktorgino commented 7 years ago

Hi,

Thanks for checking my project out, I'm glad you liked it.

  1. You can ignore the issue from make clean, its just complaining that qmllive is missing, I'll probably move the qmllive to a completely separate project file at some point.

  2. I'll change the QtQuick version to 2.5, although it hasn't caused me any issues yet, but I've only tested it on Qt 5.6 and above.

suhrmann commented 7 years ago

The version of Qt I got by installing von Ubuntu 16.04 via apt was this:

$ qmake -v
QMake version 3.0
Using Qt version 5.5.1 in /usr/lib/x86_64-linux-gnu

You can change the requirements to ≥ Qt 5.6 so you don't have this problem. I'm now installing Qt 5.8 and testing this repo (again). Following this guide Install_Qt_5_on_Ubuntu except I'm installing qt-opensource-linux-x64-5.8.0.run instead of Qt 5.7.

Update: I just saw your git-commit about updating the repo to Qt 5.6. So I don't think it's a good idea to go back to Qt 5.5.

suhrmann commented 7 years ago

Okay... I played for a while with this project. Maybe you should change the tutorial from "do everything with Terminal" to "just use Qt Creator". I installed Qt v5.8.0 and am using Qt Creator instead of the Terminal version like in your Tutorial - and everything works just fine!

I think you can close my 2 open issues ( #2 and #3 ) if you update the tutorial on http://headunit.viktorgino.me to "simply use Qt Creator - then everything works" with Qt ≥ Qt 5.7 (afaik you use 5.7 for Media).

This project is simply awesome!

viktorgino commented 7 years ago

On Ubuntu I build it using Qt Creator too, however the main target for this project is embedded systems, such as the RPi. That's why I've written the manual for terminal only so it can be installed on OSes without a desktop environment (such as the raspbian lite). Also some of the needed libraries are easier to build using command line (although there is a GUI for cmake and all the modern IDEs have integration for make, so it wouldn't be too hard to write a manual for building from GUI).

On that note: it is not a bad idea to write a manual on how to setup a development environment as the manual that's online is mainly aimed at deploying the app (which could be done by a script anyway). I'll see if I can write something like that up, but keep in mind that this project is still in early development, so end user friendly documentation is not a primary goal ATM.

The documentation is hosted in the gh-pages branch, so if you feel like having a simpler, more end user aimed manual started, then I'm happy to merge it.

viktorgino commented 7 years ago

Regarding Qt versions: I targeted Qt 5.7, because that's the version that will be included in the next release of Debian and is the version that comes with the latest Ubuntu version.

suhrmann commented 7 years ago

Ubuntu 17.04 (Zesty Zapus) is not a LTS version. The next LTS one will be Ubuntu 18.04. I'm not that into this Debian/Ubuntu toppic - so it's up to you if you consider this while choosing a Qt version.

viktorgino commented 7 years ago

I was mainly looking at Debian/Raspbian, because my main target was the Raspberry Pi. Also it seems reasonable to start developing for future versions, so all the "supported" OSes will have the minimum Qt version by the time I can release the first version. 5.7 in the the latest official Ubuntu repo is just an added extra. On my Ubuntu desktop I too used the official Qt installer and have multiple Qt versions (5.6 and up).

viktorgino commented 7 years ago

Yes it is. Programs written and build for Qt 5.0 should run fine with 5.9, see: https://wiki.qt.io/Qt-Version-Compatibility The only difference with higher version numbers is: more features, bug fixes and optimizations.

On 24 April 2017 at 17:56, Simon Uhrmann notifications@github.com wrote:

So Qt5.8 is fully downward compatible?

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/viktorgino/headunit-desktop/issues/4#issuecomment-296742696, or mute the thread https://github.com/notifications/unsubscribe-auth/AKyv8gD6nUnSMdLeO3JJ66bjwBYJps28ks5rzNRGgaJpZM4NEy0G .

--

suhrmann commented 7 years ago

Solution

Use Ubuntu 17.04 Zesty or newer (or equivalent Debian version) to have the correct packages in your OS. It will save you alot of pain (like this thread).

Dependencies that require in Ubuntu ≥ 17.04

Vitalic66 commented 7 years ago

Today my DAB receiver arrived.

Was trying this too, but like issued by Vadammt I receive error make: *** no rule to make target „sub-app-with-welleio-pro“. Stop.

I installed Qt5.7.1 like shown in the instructions.

suhrmann commented 7 years ago

I created a Gitter post that is about building in general and the development setup, but I think it's also targeting this question.