[GNC-dev] Help packaging GnuCash 3.x for Ubuntu Bionic

Stephen M. Butler kg7je at arrl.net
Tue Sep 24 14:12:16 EDT 2019

On 9/23/19 10:24 PM, Tommy Trussell wrote:
> In between other projects over a few months I have been trying to learn
> enough about Debian packaging to bring the latest GnuCash releases to
> Ubuntu Bionic. My goal is to learn to create a source package that compiles
> properly in a "stock" Ubuntu Bionic environment, and write about the
> procedure in sufficient detail that I and other volunteers can keep the
> information updated for new GnuCash releases.
> Bionic is significant for its "Long Term Support" status. Besides all the
> folks (such as I) who have systems running Bionic, several "child" distros
> (such as Mint) use the Bionic repository. I believe some number of folks
> will clamor for Bionic GnuCash packages until at least next summer (2020),
> after which the next scheduled Ubuntu LTS release will begin to replace
> Bionic.
> I followed Stephen Butler's work on the GnuCash lists and hoped his
> packaging procedure could produce clean Bionic builds. However it seems
> Stephen quit building for Bionic quite a few weeks ago.

Yup.  When I upgraded to Disco.  It's not for lack of trying but my
feeble efforts have been fruitless so far.

I tried the Docker approach but ran out of disk space!  I do have
schroot on my plate but that hasn't born fruit yet.

What do you need from me to help you build on Bionic?  I'm able to build
on Disco.  Have you been able to figure out the PPA on Launchpad?

> Recently Dmitry Smirnov packaged GnuCash 3.6 and 3.7 for Debian 10
> "Buster," so I have very up-to-date Debian packages to start with.
> Unfortunately "Buster" diverges significantly from "Bionic" so packaging
> becomes tricky.
> At this point I believe I have learned a tiny bit and hope someone can
> offer advice to me on how to proceed.
> ------
> This message describes two of my build environments. Ultimately I hope the
> first one succeeds, but since it's giving me less information to work with,
> I'll describe both.
> 1) The sbuild utility creates "clean" chroot build environments. The
> GnuCash 3.7 package builds perfectly in a Debian (sid / bullseye) chroot
> just as it should, but Ubuntu Bionic hardly even starts to build.
>> $ sbuild -Avs -d bionic-amd64
>> dpkg-source: info: using options from gnucash-3.7/debian/source/options:
> --extend-diff-ignore=(^|/)(src/scm/build-config.scm)$
>> dh clean --buildsystem=cmake --with python3,aqbanking
> --builddirectory=.build
>> dh: unable to load addon python3: Can't locate Debian/Debhelper/Sequence/
> python3.pm in @INC (you may need to install the
> Debian::Debhelper::Sequence::python3 module) (@INC contains: /etc/perl
> /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1
> /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5
> /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28
> /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at (eval 12)
> line 1.
>> BEGIN failed--compilation aborted at (eval 12) line 1.
>> make: *** [debian/rules:33: clean] Error 2
>> E: Failed to clean source directory
> /home/twt/src/gnucash/bullseye37/gnucash-3.7
> (/home/twt/src/gnucash/bullseye37/gnucash_3.7-1~01.dsc)
>> $
> That's it. Yes, despite the error, debhelper's dh-python package (which
> includes the python3 addon) is installed. No incantation seems to nudge it
> further along. I've become convinced the problem is due to an unfortunate
> bug affecting the libraries in Bionic. (See my link at the end.) I presume
> there might be a workaround to make the python headers "visible" when they
> need to be; I just need to learn how to communicate that to debhelper (or
> patch the source code somehow?) to work around the unfortunate bug.
> Alternatively it may be possible to get a SRU (Stable Release Update)
> pushed into Bionic to fix the broken library.
> ------
> 2) Since I wasn't making any progress even after tinkering in the chroots,
> I set up a virtualbox with a minimal Ubuntu installation hoping to learn
> more. Sadly, the build fails quite differently in the VM.
> In a minimal Ubuntu Bionic Virtualbox VM the build starts well and seems to
> be making progress for a few seconds, then fails with:
>> Compiling the CXX compiler identification source file
> "CMakeCXXCompilerId.cpp" failed.
>> Compiler: /usr/bin/c++
>> Build flags:
> -g;-O2;-fdebug-prefix-map=/home/twt/src/dch37/gnucash-3.7=.;-fstack-protector-strong;-Wformat;-Werror=format-security;-Wno-error=stringop-truncation;-Wdate-time;-D_FORTIFY_SOURCE=2
>> Id flags:
>> The output was:
>> 1
>> cc1plus: error: -Werror=stringop-truncation: no option
> -Wstringop-truncation
> (the error gets repeated several times)
> This gives me more to work with. A few searches turned up some hints but I
> don't know how to implement them.
> ------
> Today I created a post at an Ubuntu forums area designated for packaging
> advice (though sadly the forum doesn't look extremely active), and included
> a bit more information there.
> https://ubuntuforums.org/showthread.php?t=2427539
> I shared a suspicion in the first post about why the python addon seems to
> be "missing" in the clean chroot build environment. But I have no clue why
> it fails later in a VirtualBox VM.
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Stephen M Butler, PMP, PSM
Stephen.M.Butler51 at gmail.com
kg7je at arrl.net
GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8

More information about the gnucash-devel mailing list