PPA Build -- unmet dependencies. But builds on home box

Asked by Steve Butler on 2019-05-26

Attempting to build a PPA for Gnucash latest release v3.5. I am able to build on my local 19.04 box but sending code to Launchpad results in:
| Install gnucash build dependencies (apt-based resolver) |

Installing build dependencies
Reading package lists...
Building dependency tree...
Reading state information...
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 sbuild-build-depends-gnucash-dummy : Depends: debhelper (>= 11~) but 9.20131227ubuntu1 is to be installed
                                      Depends: googletest but it is not installable
                                      Depends: libgwengui-gtk3-dev but it is not installable
                                      Depends: libwebkit2gtk-4.0-dev but it is not installable
                                      Depends: locales-all but it is not installable
E: Unable to correct problems, you have held broken packages.
apt-get failed.
Package installation failed
Reading package lists...
Building dependency tree...
Reading state information...
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Reading package lists...
Building dependency tree...
Reading state information...
The following packages will be REMOVED:
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 11845 files and directories currently installed.)
Removing sbuild-build-depends-core-dummy (0.invalid.0) ...

I took the debian files for Gnucash 3.4 posted on the debian site and modified them to build v 3.5 on my box. Uploaded same to my new PPA and the build fails as above. How to proceed?

Question information

English Edit question
Ubuntu cairo Edit question
No assignee Edit question
Solved by:
Manfred Hampl
Last query:
Last reply:
Best Manfred Hampl (m-hampl) said : #1

If you are talking about then failed builds in https://launchpad.net/~kg7je/+archive/ubuntu/gnc-released-ppa

You tried building the packages for Ubuntu trusty, but several dependencies (at least debhelper (>= 11~), googletest, locales-all) do not exist in the standard repositories or trusty.

If you really want to build these packages for trusty, then you first have to find a solution for these dependent packages in trusty (either in an existing PPA, or by backporting theses packages to trusty in your own PPA). Otherwise it is not possible to build that gnucash package for trusty.

Steve Butler (kg7je) said : #2

Thanks Manfred Hampl, that solved my question.

Steve Butler (kg7je) said : #3

OK. I will research which direction I want to go.

Colin Watson (cjwatson) said : #4

As a general rule I'd normally advise at least attempting to relax the debhelper build-dependency to the version in trusty first; this may entail working out when it was introduced into the packaging you're using and what other changes would need to be reverted in order to work with an earlier version. It's usually (though not always) simpler than trying to backport debhelper.

Steve Butler (kg7je) said : #5

Thanks Colin. I suspect I can downgrade to >= 9 and be fine. I don't see a version requirement on the GnuCash web site and was following the lead of the debian maintainer for the gnucash package for v 3.4.

I need to research how to get the other four packages loaded into my PPA so they will be available to build GnuCash. I am a total novice at this.

For googletest, all the build needs is access to the source. If I read debian/rules correctly, it simply copies from the main /usr area. So I also need to figure out how to package that into the GnuCash source and send to the PPA (with modified instructions in rules).

That leaves three dependencies to research further (libgwengui-gtk3-dev, libwebkit2gtk-4.0-dev and locales-all).

Manfred Hampl (m-hampl) said : #6

It is not possible to relate any results of the local build in disco to trusty. I suggest that you set up a local system with trusty (e.g. as a virtualized system or a build chroot) to experiment with the dependencies.