Issues building lomiri-telephony-service
-
Hi everyone,
so I'm at a loss here.
Problem:
When I try to build lomiri-telephony-service with crossbuilder it fails giving the final error:mk-build-deps: Unable to install lomiri-telephony-service-cross-build-deps at /usr/bin/mk-build-deps line 457.
mk-build-deps: Unable to install all build-dep packagesWhat seems to be the more specific error is this:
Removing lomiri-telephony-service-cross-build-deps:arm64 because I can't find liblomirihistoryservice-dev:arm64Steps to Reproduce
- Clone ubports/focal branch of telephony-service.
- Set distro and arch with distro=20.04 and arch=arm64.
- Enter directory and run the command 'crossbuilder --lxd-image="ubuntu:${distro}" --architecture="${arch}" build'
If I navigate repo2ubports com I see that the package is located in the lomiri-history-service folder.
Am I doing something wrong?Thanks
-
@Timespansoul
humm that is out of my skills sorry, but something is wrong regarding a dependency.
In the very last way to try to build it, there is a possibility to make a draft MR on gitlab so that the deb is built with the CI.
I will try this week to build it myself with crossbuilder to see, but i'm not an expert on debian things -
@lduboeuf I think by the time I'm done with this I might be an expert haha. I opened an issue for telephony-service on gitlab. I'll look into making a merge request, though I hardly know what the process involves.
You seem like a one man army in here haha. Your name pops up a lot in many different places. Thanks for the effort man! I know it's a thankless job but your time is appreciated albeit by few. Thanks for looking into this.
-
@Timespansoul said in Issues building lomiri-telephony-service:
@lduboeuf I think by the time I'm done with this I might be an expert haha. I opened an issue for telephony-service on gitlab. I'll look into making a merge request, though I hardly know what the process involves.
You seem like a one man army in here haha. Your name pops up a lot in many different places. Thanks for the effort man! I know it's a thankless job but your time is appreciated albeit by few. Thanks for looking into this.
humm, so i've checked out the ubports/focal branch and did
crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 build
, and it get build. But i admit i haven't clean my project before since i face internet issue currently...
But iirc on many project we need to specify some foreign installs first before build, like:
crossbuilder inst-foreign=dh-translations --lxd-image="ubuntu:20.04" --architecture=arm64
-
@lduboeuf said in Issues building lomiri-telephony-service:
crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 build
When I use the command:
crossbuilder inst-foreign dh-translations --lxd-image=ubuntu:20.04 --architecture=arm64
i get this error:
Error: Failed to fetch instance "lomiri-telephony-service-usdk-16-04-amd64-armhf-dev" in project "default": Instance not found
I did fiddle with this command for a bit a couple of nights ago to no avail. I tried installing liblomirihistoryservice-dev:arm64 via inst-foreign. Didn't have any luck. I noticed it always mentions xenial with that command.
I ended up drafting a merge request. The package fails to build on mandatory distribution. It fails to build binaries. It's being looked into by the maintainer.
-
@Timespansoul said in Issues building lomiri-telephony-service:
@lduboeuf said in Issues building lomiri-telephony-service:
crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 build
When I use the command:
crossbuilder inst-foreign dh-translations --lxd-image=ubuntu:20.04 --architecture=arm64
i get this error:
Error: Failed to fetch instance "lomiri-telephony-service-usdk-16-04-amd64-armhf-dev" in project "default": Instance not found
I did fiddle with this command for a bit a couple of nights ago to no avail. I tried installing liblomirihistoryservice-dev:arm64 via inst-foreign. Didn't have any luck. I noticed it always mentions xenial with that command.
I ended up drafting a merge request. The package fails to build on mandatory distribution. It fails to build binaries. It's being looked into by the maintainer.
Regarding your MR, i don't see why you added .gitlab-ci.yml , core projects are not built with gitlab CI but with Jenkins ( auto run when pushing to the MR), explaining that you don't have any package built.
The error "lomiri-telephony-service-usdk-16-04-amd64-armhf-dev" you got seems weird, i don't see why 16.04 is there
-
indeed, i've tried to start from scratch, and it fails to build with crossbuilder now:
First try with: "crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 build"mk-build-deps: Unable to install telephony-service-cross-build-deps at /usr/bin/mk-build-deps line 457. mk-build-deps: Unable to install all build-dep packages
second try, i have some 404
Err:8 http://security.ubuntu.com/ubuntu focal-security/main arm64 Packages 404 Not Found [IP: 185.125.190.82 80]
-
second try, i have some 404
Err:8 http://security.ubuntu.com/ubuntu focal-security/main arm64 Packages 404 Not Found [IP: 185.125.190.82 80]
That one is fixed with that MR: https://github.com/ubports/crossbuilder/pull/78
But still not working... -
@lduboeuf said in Issues building lomiri-telephony-service:
second try, i have some 404
Err:8 http://security.ubuntu.com/ubuntu focal-security/main arm64 Packages 404 Not Found [IP: 185.125.190.82 80]
That one is fixed with that MR: https://github.com/ubports/crossbuilder/pull/78
But still not working...ok, got it build locally, was not easy...
From a clean install ( crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 delete )
I've first change this in debian/control file:dconf-cli <!nocheck>, .... python3:any <!nocheck>,
Then installed dh-translations: "crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 inst-foreign dh-translations"
It failed to find inttool and jq, i've tried to install them via inst-foreign too, but got a message saying that tmp/debian already exist, i removed it from the "foreign" folder, then retry a build, and it worked....
-
@lduboeuf said in Issues building lomiri-telephony-service:
@lduboeuf said in Issues building lomiri-telephony-service:
second try, i have some 404
Err:8 http://security.ubuntu.com/ubuntu focal-security/main arm64 Packages 404 Not Found [IP: 185.125.190.82 80]
That one is fixed with that MR: https://github.com/ubports/crossbuilder/pull/78
But still not working...ok, got it build locally, was not easy...
From a clean install ( crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 delete )
I've first change this in debian/control file:dconf-cli <!nocheck>, .... python3:any <!nocheck>,
Then installed dh-translations: "crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 inst-foreign dh-translations"
It failed to find inttool and jq, i've tried to install them via inst-foreign too, but got a message saying that tmp/debian already exist, i removed it from the "foreign" folder, then retry a build, and it worked....
oh, just noticed that if you change also in debian/control, it works directly:
dh-translations:all,see MR: https://gitlab.com/ubports/development/core/lomiri-telephony-service/-/merge_requests/98
-
@lduboeuf I'll be the first to admit that I have no idea what I'm doing lol. Should I delete the yml file? This gitlab stuff is a bit convoluted. Much of this is new to me.
-
@Timespansoul said in Issues building lomiri-telephony-service:
@lduboeuf I'll be the first to admit that I have no idea what I'm doing lol. Should I delete the yml file? This gitlab stuff is a bit convoluted. Much of this is new to me.
yes you can remove it
-
@lduboeuf Here are my results.
I deleted image with:
crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 delete
I edited the control file:
cmake, dbus-test-runner, dconf-cli<!nocheck>, debhelper-compat (= 12), dh-migrations | hello, gnome-keyring, liblomirihistoryservice-dev, libicu-dev, libmessaging-menu-dev, libnotify-dev, libphonenumber-dev, libtelepathy-qt5-dev, libprotobuf-dev, libpulse-dev, liblomiri-url-dispatcher-dev, pkg-config, python3:any<!nocheck>, qml-module-qttest, qtbase5-dev (>= 5.0), qtdeclarative5-dev (>= 5.0), qtdeclarative5-dev-tools (>= 5.0), qtfeedback5-dev, qml-module-lomiri-components, qml-module-lomiri-layouts, qml-module-lomiri-performancemetrics, qml-module-lomiri-test, qtmultimedia5-dev (>= 5.0), qtpim5-dev (>= 5), libusermetricsinput-dev, telepathy-mission-control-5, xvfb <!nocheck>,
i then ran the build command:
crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 build
I got these errors:
mk-build-deps: Unable to install lomiri-telephony-service-cross-build-deps at /usr/bin/mk-build-deps line 457. mk-build-deps: Unable to install all build-dep packages
I then attempted to install dh-translations:
crossbuilder --lxd-image="ubuntu:20.04" --architecture=arm64 inst-foreign dh-translations
get this error:
dpkg: dependency problems prevent configuration of dh-translations: dh-translations depends on intltool; however: Package intltool is not installed. dh-translations depends on jq; however: Package jq is not installed.
I then delete the tmp/DEBIAN folder :
sudo rm -r foreign/tmp/DEBIAN
and run the build command and get this error:
mk-build-deps: Unable to install lomiri-telephony-service-cross-build-deps at /usr/bin/mk-build-deps line 457. mk-build-deps: Unable to install all build-dep packages
EDIT: dh-translations actually did install at this point in my process.
I am then was able to successfully install dh-translations.
Installing dh-translations Get:1 http://archive.ubuntu.com/ubuntu focal-updates/universe amd64 dh-translations all 144.20.04.0 [25.0 kB] Fetched 25.0 kB in 0s (54.4 kB/s) dpkg-deb: building package 'dh-translations' in 'dh-translations_144.20.04.0_all.deb'. (Reading database ... 59309 files and directories currently installed.) Preparing to unpack .../dh-translations_144.20.04.0_all.deb ... Unpacking dh-translations (144.20.04.0) over (144.20.04.0) ... Setting up dh-translations (144.20.04.0) ... Processing triggers for man-db (2.9.1-1) ...
I then run the build command and get these errors:
Investigating (0) lomiri-telephony-service-cross-build-deps:arm64 < 1.0 @iU mK Nb Ib > Broken lomiri-telephony-service-cross-build-deps:arm64 Depends on liblomirihistoryservice-dev:arm64 < none @un H > Removing lomiri-telephony-service-cross-build-deps:arm64 because I can't find liblomirihistoryservice-dev:arm64 Done
and this one again:
mk-build-deps: Unable to install lomiri-telephony-service-cross-build-deps at /usr/bin/mk-build-deps line 457. mk-build-deps: Unable to install all build-dep packages
This whole process was tried with "dh-translations:all," in the control file with the same result.
-
It seems as though the syntax you provided, with inst-foreign dh-translations before the distro and arch variables gives the xenial error I mentioned.
-
@Timespansoul it seems you are on main branch, please double check.
There should be dh-translations:all in control file
-
This post is deleted! -
Hold on here...
-
@lduboeuf Ok. My apologies, I was somehow working with main again. Not sure why I kept that.
Ok so I made sure to be in the right directory this time(ehem, cough).
I followed the directions you provided in the above post and the package built successfully! Thank you Iduboeuf!
I had to give writing rights to a few files which was pretty straight forward. I also noticed that my syntax was incorrect in my control file as you can see in my above post. I forgot to add a space before the <!nocheck>. It would've failed anyway I imagine.
My brain feels so much better now. I've never been happier to see a tar file! I'll mark this as solved right away.
Thank you very much for helping me with this. Considering the edits needed in the control file I think it would've taken me a lot longer to solve this on my own. I can say that I've learned a lot along way. Gitlab is new to me and there is much to learn.
-
-
@Timespansoul
Glad it worked.If you run
crossbuilder....
without thebuild
it will auto deploy to the device ( but sometimes it fails so you have to install it manually ....) -
I have no idea about this program or could help here. But I was seeing that there was a discussion about how to build it for multiple days.
If it is not obvious how to build it, it should maybe be mentioned in the README. Just as a suggestion...