piggz / harbour-amazfish

Amazfit Bip support for SailfishOS
GNU General Public License v3.0
103 stars 51 forks source link

Build for ubuntu #160

Closed vbelloir closed 3 years ago

vbelloir commented 3 years ago

Hi folks,

I planned to use Amazfish on my future PineTime (not received yet).

I would try to use Amazfish on Ubuntu, my main desktop OS.

I'm not very familiar with qt, and building desktop app. I will probably need help.

What I do :

It complains about mpris-qt5 missing so I install a new package. sudo apt install libmpris-qt5-dev

But error is still there

$ make
cd lib/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/vbelloir/Documents/git/autre/harbour-amazfish/lib/lib.pro FLAVOR=kirigami ) && make -f Makefile 
make[1] : on entre dans le répertoire « /home/vbelloir/Documents/git/autre/harbour-amazfish/build/lib »
make[1]: rien à faire pour « first ».
make[1] : on quitte le répertoire « /home/vbelloir/Documents/git/autre/harbour-amazfish/build/lib »
cd daemon/ && ( test -e Makefile || /usr/lib/qt5/bin/qmake -o Makefile /home/vbelloir/Documents/git/autre/harbour-amazfish/daemon/daemon.pro FLAVOR=kirigami ) && make -f Makefile 
Project MESSAGE: The project will be installed in /usr/local
Project ERROR: mpris-qt5 development package not found
make: *** [Makefile:92 : sub-daemon-make_first-ordered] Erreur 3

Sorry for french output...

I saw this file, for Manjaro distro: https://gitlab.manjaro.org/manjaro-arm/packages/community/plasma-mobile/amazfish/-/blob/master/PKGBUILD There is some dependencies in it.

Is there a way to use it or adapt it for ubuntu-based distro?

vbelloir commented 3 years ago

Some progress, but compilation still fails.

I cloned, build, installed those both repos: https://git.sailfishos.org/mer-core/nemo-qml-plugin-dbus

and

https://git.sailfishos.org/mer-core/qtmpris

Then, I install the following package on ubuntu sudo apt install libkdb3-dev libkf5contacts-dev libkf5coreaddons-dev qtlocation5-dev qtconnectivity5-dev qtpositioning5-dev

build still fails with the error: Project ERROR: Unknown module(s) in QT: CoreAddons

All package related to coreaddons and qt are installed:

$ sudo apt search coreaddons
En train de trier... Fait
Recherche en texte intégral... Fait
libkf5coreaddons-data/focal,focal,now 5.68.0-0ubuntu1 all  [installé, automatique]
  KDE Frameworks 5 addons to QtCore - data files

libkf5coreaddons-dev/focal,now 5.68.0-0ubuntu1 amd64  [installé]
  KDE Frameworks 5 addons to QtCore - development files

libkf5coreaddons-dev-bin/focal,now 5.68.0-0ubuntu1 amd64  [installé, automatique]
  KDE Frameworks 5 addons to QtCore - development files

libkf5coreaddons-doc/focal,focal,now 5.68.0-0ubuntu1 all  [installé, automatique]
  KDE Frameworks 5 addons to QtCore (documentation)

libkf5coreaddons5/focal,now 5.68.0-0ubuntu1 amd64  [installé, automatique]
  KDE Frameworks 5 addons to QtCore

qml-module-org-kde-kcoreaddons/focal,now 5.68.0-0ubuntu2 amd64  [installé]
  provides integration of QML and KDE frameworks - kcoreaddons

According to dependencies listed in PKGBUILD of previous post, I also installed following packages:

libkf5kirigami2-5 
kirigami2-dev 
qml-module-org-kde-kirigami2
qtquickcontrols2-5-dev
pfeerick commented 3 years ago

I tried on my ubuntu system also, with no luck... I ended up with the following packages after some comparision with the PKGBUILD and https://packages.ubuntu.com, but the same error. Running make -d didn't give anything useful either (as I suspect 'CoreAddons' isn't the error, as the wrong dependency error was being thrown earlier). Doing make -ki, just to see what further errors come up with Unknown module(s) in QT: CoreAddons and Unknown module(s) in QT: bluetooth ... the later making no sense.

sudo apt install libicu-dev qt5-default qt5-qmake libdbus-1-dev libdbusextended-qt5-dev libmpris-qt5-dev \
libkdb3-dev libkf5contacts-dev qtpositioning5-dev qml-module-qtbluetooth
piggz commented 3 years ago

I think you maybe hit this KDE bug https://bugs.kde.org/show_bug.cgi?id=42827

Try editing the file as per the report.

vbelloir commented 3 years ago

I think you maybe hit this KDE bug https://bugs.kde.org/show_bug.cgi?id=42827

Try editing the file as per the report.

It's a dated of 2002? I don't understand the link with this build issue. I missed something?

vbelloir commented 3 years ago

prepare git repo

Clone amazfish repository git clone https://github.com/piggz/harbour-amazfish.git

sync submodule git submodule init git submodule update

manages dependencies

two depencies can be found on git repos https://git.sailfishos.org/mer-core/nemo-qml-plugin-dbus and https://git.sailfishos.org/mer-core/qtmpris

git clone git clone https://git.sailfishos.org/mer-core/qtmpris.git
cd qtmpris
qmake
make
sudo make install
git clone https://git.sailfishos.org/mer-core/nemo-qml-plugin-dbus.git
qmake
make
sudo make install

Others deps should be installed from ubuntu packages sudo apt install libkdb3-dev libkf5contacts-dev libkf5coreaddons-dev qtlocation5-dev qtconnectivity5-dev qtpositioning5-dev qml-module-qtbluetooth

build process

cd harbour-amazfish
mkdir build
cd build
qmake FLAVOR=kirigami  ..
make

Here, you may get an error like this.
Project ERROR: Unknown module(s) in QT: CoreAddons

If you got it, you should edit qt project file of kcontact /usr/lib/x86_64-linux-gnu/qt5/mkspecs/modules/qt_KContacts.pri and change QT.KContacts.depends = CoreAddons with QT.KContacts.depends = KCoreAddons

you can now enter again make command, and build process should end successfully. Then sudo make install

Amazfish is now located here /usr/local/share/harbour-amazfish-ui

Service and executable file are in /usr/local/bin/

Even after a reboot, I have to launch service first harbour-amazfishd before running it with harbour-amazfish-ui

vbelloir commented 3 years ago

build instructions in https://github.com/piggz/harbour-amazfish/blob/master/documentation/build-instructions.md