[GNC-dev] Building 3.5 package for Disco

John Ralls jralls at ceridwen.us
Tue Apr 30 10:29:11 EDT 2019


The arguments I gave you are for the cmake command line. I don't know the packaging tool you're using, but it's obviously constructing a cmake command line out of compressed arguments: The snippet --with python3,aqbanking would be passed to cmake as -D WITH_PYTHON=ON -D WITH_AQBANKING=ON.

You'll need to read the docs on the packaging tool to find out how to set other kinds of cmake options.

Regards,
John Ralls


> On Apr 29, 2019, at 7:48 PM, Stephen M. Butler <kg7je at arrl.net> wrote:
> 
> On 4/26/19 4:04 PM, John Ralls wrote:
>> 
>>> On Apr 26, 2019, at 10:04 AM, Stephen M. Butler <kg7je at arrl.net> wrote:
>>> 
>>> Based on the following, have I run into a problem with googletest on
>>> Disco?  Additional Guidance sure appreciated.
>>> 
>> Just point GnuCash at the source directories with -DGTEST_ROOT and -DGMOCK_ROOT. It will take care of building them.
>> 
>> Regards,
>> John Ralls
>> 
>> 
> Showing my ignorance now.  Found this line in the rules file:
> 
> dh $@ --buildsystem=cmake --with python3,aqbanking --builddirectory=.build
> 
> Only place in the file that I found 'cmake'.  Modified the line to say:
> 
> dh $@ --buildsystem=cmake --with python3,aqbanking
> --builddirectory=.build -DGTEST_ROOT=/usr/src/googletest/googletest
> -DGMOCK_ROOT=/usr/src/googletest/googlemock
> 
> Now both the clean and build report problems:
> 
> $ fakeroot debian/rules clean
> dh clean --buildsystem=cmake --with python3,aqbanking
> --builddirectory=.build -DGTEST_ROOT=/usr/src/googletest/googletest
> -DGMOCK_ROOT=/usr/src/googletest/googlemock
>    dh_testdir -O--buildsystem=cmake -O--builddirectory=.build
> -O-DGTEST_ROOT=/usr/src/googletest/googletest
> -O-DGMOCK_ROOT=/usr/src/googletest/googlemock
>    debian/rules override_dh_auto_clean
> make[1]: Entering directory '/home/steve/Projects/GnuCash/gnucash'
> rm -f -rv .build/__gtest */*/*/.libs */*/.libs
> find . -type l -exec rm -v \{\} \;
> rm -fv debian/gnucash-icon-32x32.xpm
> dh_auto_clean
> Use of uninitialized value $abspath in -d at
> /usr/share/perl5/Debian/Debhelper/Buildsystem.pm line 133.
> dh_auto_clean: invalid or non-existing path to the source directory:
> GMOCK_ROOT=/usr/src/googletest/googlemock
> make[1]: *** [debian/rules:32: override_dh_auto_clean] Error 2
> make[1]: Leaving directory '/home/steve/Projects/GnuCash/gnucash'
> make: *** [debian/rules:26: clean] Error 2
> 
> 
> $ dpkg-buildpackage -rfakeroot -b -uc
> dpkg-buildpackage: info: source package gnucash
> dpkg-buildpackage: info: source version 1:3.5
> dpkg-buildpackage: info: source distribution disco
> dpkg-buildpackage: info: source changed by Steve Butler
> <Stephen.M.Butler at gmail.com>
> dpkg-buildpackage: info: host architecture amd64
>  dpkg-source --before-build .
> dpkg-source: info: using options from gnucash/debian/source/options:
> --extend-diff-ignore=(^|/)(src/scm/build-config.scm)$
>  fakeroot debian/rules clean
> dh clean --buildsystem=cmake --with python3,aqbanking
> --builddirectory=.build -DGTEST_ROOT=/usr/src/googletest/googletest
> -DGMOCK_ROOT=/usr/src/googletest/googlemock
>    dh_testdir -O--buildsystem=cmake -O--builddirectory=.build
> -O-DGTEST_ROOT=/usr/src/googletest/googletest
> -O-DGMOCK_ROOT=/usr/src/googletest/googlemock
>    debian/rules override_dh_auto_clean
> make[1]: Entering directory '/home/steve/Projects/GnuCash/gnucash'
> rm -f -rv .build/__gtest */*/*/.libs */*/.libs
> find . -type l -exec rm -v \{\} \;
> rm -fv debian/gnucash-icon-32x32.xpm
> dh_auto_clean
> Use of uninitialized value $abspath in -d at
> /usr/share/perl5/Debian/Debhelper/Buildsystem.pm line 133.
> dh_auto_clean: invalid or non-existing path to the source directory:
> GMOCK_ROOT=/usr/src/googletest/googlemock
> make[1]: *** [debian/rules:32: override_dh_auto_clean] Error 2
> make[1]: Leaving directory '/home/steve/Projects/GnuCash/gnucash'
> make: *** [debian/rules:26: clean] Error 2
> dpkg-buildpackage: error: fakeroot debian/rules clean subprocess
> returned exit status 2
> 
> 
> Here are the files in /usr/src/googletest:
> 
> $ cd /usr/src/googletest
> $ ls -l
> total 12
> -rw-r--r--  1 root root  584 Aug 31  2018 CMakeLists.txt
> drwxr-xr-x 10 root root 4096 Apr 21 20:36 googlemock
> drwxr-xr-x 15 root root 4096 Apr 26 09:45 googletest
> 
> 
> And lines 130ff in /usr/share/perl5/Debian/Debhelper/Buildsystem.pm are:
> 
>                 # Get relative sourcedir abs_path (without symlinks)
>                 my $abspath = Cwd::abs_path($opts{sourcedir});
>                 if (! -d $abspath || $abspath !~ /^\Q$this->{cwd}\E/) {
>                         error("invalid or non-existing path to the
> source directory: ".$opts{sourcedir});
>                 }
>                 $this->{sourcedir} = File::Spec->abs2rel($abspath,
> $this->{cwd});
>         }
> 
> --Steve (in the deep water without my scuba gear)
> 
> -- 
> Stephen M Butler, PMP, PSM
> Stephen.M.Butler51 at gmail.com
> kg7je at arrl.net
> 253-350-0166
> -------------------------------------------
> GnuPG Fingerprint:  8A25 9726 D439 758D D846 E5D4 282A 5477 0385 81D8
> 
> 



More information about the gnucash-devel mailing list