Git source not compiling

I’ll be honnest, I’m new to the whole qt creator thing so please be patient :innocent:
I’ll start off with some system info as it’s likely the first thing being asked:
fresh ubuntu 18.04
$ java --version
java 13.0.2 2020-01-14
Java™ SE Runtime Environment (build 13.0.2+8)
Java HotSpot™ 64-Bit Server VM (build 13.0.2+8, mixed mode, sharing)
$ qmake --version
QMake version 3.1
Using Qt version 5.9.5 in /usr/lib/x86_64-linux-gnu
android studio 3.6.1
android-ndk-r21
QTCreator 4.5.2

after a couple of hrs of googling and reading I managed to fix most of the dependency issues except for one: quickcontrols2-private -> from what i gather this package simply doesn’t exist in the 18.04 universe ( https://bugs.launchpad.net/ubuntu/+source/qtquickcontrols2-opensource-src/+bug/1800467 )

so i made 1 small change to the code in berrylan.pro to get rid of the missing module quickcontrols2-private error:
line 2: # QT += quickcontrols2-private webview
line 3: QT += quickcontrols2 webview

now when I press the play button i get the following errors:

EDIT: I noticed that the main.cpp didn’t include the command-line parser so I added:
#include
This gets rid of the above errors.

The next challenge being:
<imaginary image of error inserted here… must wait to not be a new user to add the 2nd image>

QtQuickControls2/private/qquickanimatednode_p.h doesn’t exist (likely because i lack the quickcontrols2-private)

I haven’t even tried to compile for android or ios yet (have to dig in to the whole kit thing first)

any help would be appreciated

Hi,

So, you won’t need Java at all (well for Android builds you will but IIRC that will come with the android SDK then).

qtquickcontrols2-private is indeed not packaged for Ubuntu. It won’t help much to just remove that from the .pro file as you’ll hit build errors later on if doing so as you’ve seen already. Instead, I’d recommend to use the Qt distribution that comes from the Qt maintenance tool.

So, download the Qt online installer from their qt.io (sadly nowadays you’ll need an account for that, but it’s free and you can pick the open source edition).
When asked for the components to install you’ll want to pick at least “Desktop gcc” and “Qt WebEngine”. Everything else is not used by BerryLan. Also select “Android” if you want to build for Android or iOS if you’re on Mac OS and want to build for that. As for the Qt version, anything from 5.9 up should work with the exception of 5.14.0 and 5.14.1. There is a bug in styling in 5.14 which will be fixed with 5.14.2. Currently I’d recommend 5.13 as that’s the version we’re currently building the app store builds with.

It could be indeed that with 5.9 you’ll need to add the include for QCommandLineParser, not sure. For 5.13 it should build without any modifications.

If you really want to build it with Ubuntus pre-packaged Qt packages, I guess you could indeed remove the qtquickcontrols2-private entry, but you’ll also need to remove the ActivityIndicator styling. That is, removing the styles/berrylandbusyindicator.h|cpp from the pro file, and line 94 in main.cpp, and then replace “BerryLanBusyIndicator” with a regular “BusyIndicator” in components/StatusView.qml 3 times. You’ll notice the 3 rotating red dots looking different when using the app but it should still work.

After quite a bit of strugling i managed to get it up and running,
I have to say the ios setup is a breeze compared to the android one.
i still can’t get the android part to work correctly under the macos qc, but it appears to works fine under the ubuntu vm i created for it.
I Have to buy some late model android to test it though :joy:
Thanks for the help so far! I’ll be back for more :sweat_smile: