> On May 3, 2019, at 3:55 PM, Stephen M. Butler <kg...@arrl.net> wrote:
> 
> On 5/3/19 3:07 PM, Stephen M. Butler wrote:
>> On 5/3/19 2:57 PM, John Ralls wrote:
>>> <<snip>>
>>> Please copy All of the lines beginning with GTEST from the
>>> CMakeCache.txt in your debian-build controlled build directory. You
>>> can get that easily with
>>>  grep ^GTEST path/to/CMakeCache.txt
>>> 
>>> CMake doesn't care if there's whitespace between the -D and the variable 
>>> name.
>>> 
>>> Regars,
>>> John Ralls
>>  grep -i gtest CM*.txt
>> GMOCK_INCLUDE_DIR:PATH=/home/steve/Projects/GnuCash/gnucash/.build/__gtest/googlemock/include
>> GMOCK_SRC_DIR:PATH=/home/steve/Projects/GnuCash/gnucash/.build/__gtest/googlemock
>> GTEST_INCLUDE_DIR:PATH=/home/steve/Projects/GnuCash/gnucash/.build/__gtest/googletest/include
>> GTEST_MAIN_LIB:FILEPATH=/usr/lib/x86_64-linux-gnu/libgtest_main.a
>> GTEST_ROOT:UNINITIALIZED=/usr/src/googletest/googletest
>> GTEST_SHARED_LIB:FILEPATH=/usr/lib/x86_64-linux-gnu/libgtest.a<snip
>> //Found GTest
>> GTEST_FOUND:INTERNAL=YES
>> 
>> 
>> Part of the build rules copies /usr/src/googletest down to the build folder:
>> 
>>         mkdir -p .build/__gtest
>>         cp -Rv /usr/src/googletest/* .build/__gtest/
>> 
>> Perhaps I should point cmake to that location instead?
>> 
> I made the change to point to the copy as noted above and hit same
> snag.  Then tried to bypass the auto test and ran into this much further
> down the road:
> 
>    debian/rules override_dh_install
> make[1]: Entering directory '/home/steve/Projects/GnuCash/gnucash'
> rm -f -fv debian/tmp/usr/share/glib-2.0/schemas/gschemas.compiled  #
> L:package-contains-compiled-glib-schema
> removed 'debian/tmp/usr/share/glib-2.0/schemas/gschemas.compiled'
> 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
> make[1]: Leaving directory '/home/steve/Projects/GnuCash/gnucash'
>    dh_installdocs -O--buildsystem=cmake -O--builddirectory=.build
>    dh_installchangelogs -O--buildsystem=cmake -O--builddirectory=.build
>    dh_installexamples -O--buildsystem=cmake -O--builddirectory=.build
>    dh_installman -O--buildsystem=cmake -O--builddirectory=.build
>    dh_installinfo -O--buildsystem=cmake -O--builddirectory=.build
> dh_installinfo: Cannot find (any matches for)
> "libgnucash/doc/design/gnucash-design.info" (tried in .)
> 
> make: *** [debian/rules:24: binary] Error 2
> dpkg-buildpackage: error: fakeroot debian/rules binary subprocess
> returned exit status 2
> 
> ----------------------
> 
> override_dh_install has these lines:
> 
> 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
> 
> --------------------------
> 
> gnucash.install has these lines:
> 
> ## https://bugzilla.gnome.org/show_bug.cgi?id=790840
> usr/lib/*/gnucash/
> 
> usr/bin/gnucash
> usr/bin/gnc-fq-check
> usr/bin/gnc-fq-dump
> usr/bin/gnc-fq-helper
> usr/bin/gnc-fq-update
> usr/share/applications/gnucash.desktop
> etc
> 
> ---------------------------
> 
> gnucash-common.install  has this:
> 
> usr/share/glib-2.0/schemas
> usr/share/gnucash
> usr/share/icons
> usr/share/locale
> usr/include
> --------------------------------
> 
> python3-gnucash.install has these:
> 
> ## https://bugzilla.gnome.org/show_bug.cgi?id=790550
> usr/lib/python*/dist-packages/gnucash/*.so
> =================================
> 
> not sure which one was being processed.

gnucash-design.info is built only if you have make info installed. I wouldn't 
bother, the document is severely obsolete. Just find it in your build 
description and remove it.

Let's get back to gtest. I looked at gnc_gtest_configure() in 
common/cmake_modules/GncAddTest.cmake and was reminded that if cmake finds 
libgtest.a that it will ignore the source directory and use the system 
libgtest.a.

The missing symbols are from libgtest.a, so maybe the linker is getting them in 
the wrong order. Open GncAddTest.cmake in an editor and at line 137 change
   set(GTEST_LIB "${GTEST_SHARED_LIB};${GTEST_MAIN_LIB}" PARENT_SCOPE)
to
   set(GTEST_LIB "${GTEST_MAIN_LIB};${GTEST_SHARED_LIB}" PARENT_SCOPE)

and see if that fixes the error.

It's been that way for a long time so why it would suddenly matter is strange...

Regards,
John Ralls

_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel

Reply via email to