[GNC-dev] Building 3.5 package for Disco

Stephen M. Butler kg7je at arrl.net
Fri Apr 26 12:28:00 EDT 2019


Just upgraded to 19.04 from 18.04 (had to apply 18.10 in the process). 
I figured the upgrade would handle all items, but I found this note
today (https://launchpad.net/ubuntu/disco/+source/gtest) that says gtest
source isn't available for 19.10.

Listing the packages on this box shows:
dpkg -l | grep gtest
ii  autopkgtest                                                
5.10ubuntu1                          all          automatic as-installed
testing for Debian packages
ii  libgtest-dev:amd64                                         
1.8.1-3                              amd64        Google's framework for
writing C++ tests

dpkg -l | grep mock
ii  google-mock:amd64                                          
1.8.1-3                              amd64        Google's framework for
writing and using C++ mock classes
ii  libnunit-mocks2.6.3-cil                                    
2.6.4+dfsg-1                         all          Unit test framework
for CLI - Assemblies

Then I found this note
(https://askubuntu.com/questions/219516/howto-install-google-mock-on-ubuntu-12-10)
about needing to compile google test with the same flags as the subject
(in this case GnC) else get strange results.

I'm headed back to the wiki for building GnC on Linux to verify the
dependencies (and cross check to what 19.04 loaded).  I think there was
a note there about building google test and mock. 

I will report back once I've done that.

--Steve

[but it did work on 18.04!!]



On 4/26/19 12:26 AM, Geert Janssens wrote:
> The error seems to have something to do with GTtest. Do you have google_test/
> google_mock properly installed ?
>
> Regards,
>
> Geert
>
> Op vrijdag 26 april 2019 04:37:04 CEST schreef Stephen M. Butler:
>> Anybody here can help with dpkg-buildpackage -rfakeroot -b -uc?
>>
>> I received this error message (snippet copied):
>>
>> Scanning dependencies of target test-tx_import
>> make[5]: Leaving directory '/home/steve/Projects/GnuCash/gnucash/.build'
>> /usr/bin/make -f
>> gnucash/import-export/csv-imp/test/CMakeFiles/test-tx_import.dir/build.make
>> gnucash/import-export/csv-imp/test/CMakeFiles/test-tx_import.dir/build
>> make[5]: Entering directory '/home/steve/Projects/GnuCash/gnucash/.build'
>> [ 87%] Building CXX object
>> gnucash/import-export/csv-imp/test/CMakeFiles/test-tx_import.dir/test-tx-imp
>> ort.cpp.o cd
>> /home/steve/Projects/GnuCash/gnucash/.build/gnucash/import-export/csv-imp/te
>> st && /usr/bin/c++  -DHAVE_CONFIG_H -DHAVE_GUILE20 -D_GNU_SOURCE
>> -I/home/steve/Projects/GnuCash/gnucash/gnucash/import-export/csv-imp
>> -I/home/steve/Projects/GnuCash/gnucash/.build/common
>> -I/home/steve/Projects/GnuCash/gnucash/common
>> -I/home/steve/Projects/GnuCash/gnucash/libgnucash/engine
>> -I/home/steve/Projects/GnuCash/gnucash/common/test-core
>> -I/home/steve/Projects/GnuCash/gnucash/lib -I/usr/include/glib-2.0
>> -I/usr/lib/x86_64-linux-gnu/glib-2.0/include
>> -I/home/steve/Projects/GnuCash/gnucash/.build/__gtest/googletest/include
>> -I/home/steve/Projects/GnuCash/gnucash/gnucash/import-export
>> -I/usr/include/gtk-3.0 -I/usr/include/at-spi2-atk/2.0
>> -I/usr/include/at-spi-2.0 -I/usr/include/dbus-1.0
>> -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/usr/include/gio-unix-2.0
>> -I/usr/include/cairo -I/usr/include/libdrm -I/usr/include/pango-1.0
>> -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/atk-1.0
>> -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng16
>> -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount
>> -I/usr/include/blkid -I/usr/include/uuid
>> -I/home/steve/Projects/GnuCash/gnucash/gnucash/gnome-utils
>> -I/home/steve/Projects/GnuCash/gnucash/libgnucash/app-utils
>> -I/home/steve/Projects/GnuCash/gnucash/borrowed/libc
>> -I/home/steve/Projects/GnuCash/gnucash/.build/libgnucash/core-utils
>> -I/home/steve/Projects/GnuCash/gnucash/libgnucash/core-utils
>> -I/usr/include/guile/2.0
>> -I/home/steve/Projects/GnuCash/gnucash/libgnucash/gnc-module
>> -I/usr/include/libxml2
>> -I/home/steve/Projects/GnuCash/gnucash/libgnucash/backend/xml 
>> -Wno-error=deprecated-declarations  -Werror -Wall -Wmissing-declarations
>> -Wno-unused -Wno-error=parentheses -std=gnu++11 -g -O2
>> -fdebug-prefix-map=/home/steve/Projects/GnuCash/gnucash=.
>> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
>> -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG   -o
>> CMakeFiles/test-tx_import.dir/test-tx-import.cpp.o -c
>> /home/steve/Projects/GnuCash/gnucash/gnucash/import-export/csv-imp/test/test
>> -tx-import.cpp [ 87%] Linking CXX executable ../../../../bin/test-tx_import
>> cd
>> /home/steve/Projects/GnuCash/gnucash/.build/gnucash/import-export/csv-imp/te
>> st && /usr/bin/cmake -E cmake_link_script
>> CMakeFiles/test-tx_import.dir/link.txt --verbose=1
>> /usr/bin/c++  -Wno-error=deprecated-declarations  -Werror -Wall
>> -Wmissing-declarations -Wno-unused -Wno-error=parentheses -std=gnu++11
>> -g -O2 -fdebug-prefix-map=/home/steve/Projects/GnuCash/gnucash=.
>> -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time
>> -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG  -Wl,-Bsymbolic-functions -Wl,-z,relro
>> -Wl,-z,now -rdynamic CMakeFiles/test-tx_import.dir/test-tx-import.cpp.o 
>> -o ../../../../bin/test-tx_import
>> -Wl,-rpath,/home/steve/Projects/GnuCash/gnucash/.build/lib/x86_64-linux-gnu/
>> gnucash/gnucash:/home/steve/Projects/GnuCash/gnucash/.build/lib/x86_64-linux
>> -gnu/gnucash
>> ../../../../lib/x86_64-linux-gnu/gnucash/gnucash/libgncmod-csv-import.so
>> -lglib-2.0 -Wl,-Bstatic -lgtest -lgtest_main -Wl,-Bdynamic -licui18n
>> -licuuc -licudata
>> ../../../../lib/x86_64-linux-gnu/gnucash/gnucash/libgncmod-generic-import.so
>> ../../../../lib/x86_64-linux-gnu/gnucash/gnucash/libgncmod-gnome-utils.so
>> ../../../../lib/x86_64-linux-gnu/gnucash/libgnc-backend-xml-utils.so -lz
>> -ldl -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0
>> -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lsecret-1
>> ../../../../lib/x86_64-linux-gnu/gnucash/gnucash/libgncmod-app-utils.so
>> -lgio-2.0 -lxslt -lxml2
>> ../../../../lib/x86_64-linux-gnu/gnucash/gnucash/libgncmod-engine.so
>> ../../../../lib/x86_64-linux-gnu/gnucash/libgnc-core-utils.so
>> -lboost_date_time -lboost_regex -lboost_locale -lboost_filesystem
>> -lboost_system -lgobject-2.0
>> ../../../../lib/x86_64-linux-gnu/gnucash/libgnc-module.so
>> -Wl,--export-dynamic -lgmodule-2.0 -lglib-2.0 -pthread -lguile-2.0 -lgc
>> /usr/bin/ld:
>> /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/libgtest_main.a(gt
>> est_main.cc.o): in function `main':
>> (.text.startup+0x2f): undefined reference to
>> `testing::InitGoogleTest(int*, char**)'
>> /usr/bin/ld: (.text.startup+0x34): undefined reference to
>> `testing::UnitTest::GetInstance()'
>> /usr/bin/ld: (.text.startup+0x3c): undefined reference to
>> `testing::UnitTest::Run()'
>> collect2: error: ld returned 1 exit status
>> make[5]: ***
>> [gnucash/import-export/csv-imp/test/CMakeFiles/test-tx_import.dir/build.make
>> :103: bin/test-tx_import] Error 1
>> make[5]: Leaving directory '/home/steve/Projects/GnuCash/gnucash/.build'
>> make[4]: *** [CMakeFiles/Makefile2:9843:
>> gnucash/import-export/csv-imp/test/CMakeFiles/test-tx_import.dir/all]
>> Error 2
>> make[4]: Leaving directory '/home/steve/Projects/GnuCash/gnucash/.build'
>> make[3]: *** [CMakeFiles/Makefile2:261: CMakeFiles/check.dir/rule] Error 2
>> make[3]: Leaving directory '/home/steve/Projects/GnuCash/gnucash/.build'
>> make[2]: *** [Makefile:226: check] Error 2
>> make[2]: Leaving directory '/home/steve/Projects/GnuCash/gnucash/.build'
>> + RV=2
>> + [ 2 -eq 0 ]
>> + cat .build/Testing/Temporary/LastTest.log
>> cat: .build/Testing/Temporary/LastTest.log: No such file or directory
>> + exit 2
>> make[1]: *** [debian/rules:65: override_dh_auto_test] Error 2
>> make[1]: Leaving directory '/home/steve/Projects/GnuCash/gnucash'
>> make: *** [debian/rules:24: build] Error 2
>> dpkg-buildpackage: error: debian/rules build subprocess returned exit
>> status 2
>>
>>
>> This is the debian/rules file:
>>
>> #!/usr/bin/make -f
>>
>> # Uncomment this to turn on verbose mode.
>> #export DH_VERBOSE=1
>> #export DH_OPTIONS=-v
>>
>> include /usr/share/dpkg/pkg-info.mk
>> include /usr/share/dpkg/architecture.mk
>>
>> ifeq ($(DEB_TARGET_ARCH_ENDIAN),big)
>>     CMAKE_WORDS_BIGENDIAN = -DWORDS_BIGENDIAN=1
>> endif
>>
>>
>> export DEB_BUILD_MAINT_OPTIONS = hardening=+all
>>
>> export GMOCK_ROOT=$(CURDIR)/.build/__gtest/googlemock
>> export GTEST_ROOT=$(CURDIR)/.build/__gtest/googletest
>> export HOME=$(CURDIR)/debian/tmp
>>
>> export GUILE_AUTO_COMPILE=0
>>
>> %:
>>     dh $@ --buildsystem=cmake --with python3,aqbanking
>> --builddirectory=.build
>>
>> override_dh_auto_clean:
>>     $(RM) -rv .build/__gtest */*/*/.libs */*/.libs
>>     find . -type l -exec rm -v \{\} \;
>>     rm -fv debian/gnucash-icon-32x32.xpm
>>     dh_auto_clean
>>
>> override_dh_auto_configure:
>>     ## copy gtest sources
>>     mkdir -p .build/__gtest
>>     cp -Rv /usr/src/googletest/* .build/__gtest/
>>     env    ## debug
>>     mkdir -v -p \
>>         "$${HOME}"/.local/share/GnuCash/books \
>>         "$${HOME}"/.local/share/GnuCash/checks \
>>         "$${HOME}"/.local/share/GnuCash/translog
>>     dh_auto_configure -- -Wdev \
>>                -DCMAKE_VERBOSE_MAKEFILE=ON  \
>>                -DCMAKE_BUILD_TYPE=Release   \
>>                -DCMAKE_CXX_FLAGS="$(CXXFLAGS) $(CPPFLAGS)" \
>>                -DWITH_PYTHON=ON             \
>>               
>> -DCMAKE_INSTALL_LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)/gnucash \
>>                 $(CMAKE_WORDS_BIGENDIAN) \
>>         ;
>>
>> override_dh_auto_install:
>>     dh_auto_install --max-parallel=1
>>
>> override_dh_install:
>>     $(RM) -fv debian/tmp/usr/share/glib-2.0/schemas/gschemas.compiled  #
>> L:package-contains-compiled-glib-schema
>>     pod2man -s1 --stderr --utf8 debian/tmp/usr/bin/gnc-fq-check
>> debian/tmp/gnc-fq-check.1
>>     find debian/tmp/usr/lib -name \*.la -exec rm -v \{\} \;
>>     dh_install
>>
>> override_dh_compress:
>>     ## Don't compress certain files (#895256):
>>     dh_compress -XAUTHORS -XDOCUMENTERS -XLICENSE
>>
>> override_dh_auto_test:
>> ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
>>     $(MAKE) -C .build check; sh -x -c 'RV=$$0; [ "$${RV}" -eq 0 ] || cat
>> ".build/Testing/Temporary/LastTest.log"; exit $${RV}' $$?
>> endif
>>
>> override_dh_strip:
>>     dh_strip --dbgsym-migration='gnucash-dbg (<< 1:2.6.13~)' -X.go
>>
>> override_dh_gencontrol:
>>     dh_gencontrol -- -Vmy:Built-Using="$(foreach pkg,googletest,$(word
>> 2,$(shell dpkg --status $(pkg) | grep ^Package)) (=$(word 2,$(shell dpkg
>> --status $(pkg) | grep Version))),)"
>>
>> override_dh_makeshlibs:
>>     dh_makeshlibs -n --version-info="gnucash (= ${DEB_VERSION})"
>>
>> override_dh_shlibdeps:
>>     dh_shlibdeps
>>     rm -f debian/gnucash/DEBIAN/shlibs
>>
>> Thanks,
>>
>> --Stevehttps://launchpad.net/ubuntu/disco/+source/gtest
>
>
>
>

-- 
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