Gmock issue

P Levine plevine457 at gmail.com
Thu Jan 11 05:20:45 EST 2018


> On Jan 7, 2018, at 2:10 PM, John Ralls <jralls at ceridwen.us> wrote:
>> On Jan 7, 2018, at 8:36 AM, Fabio Coatti <fabio.coatti at gmail.com> wrote:
>>
>> Hi All,
>> I'm having a look at gnucash 2.7.3 but I'm unable to compile it, as the
>> compilation spews a
>>
>> make[3]: *** No rule to make target '/gmock-all.cc', needed by
>> 'libgmock_a-gmock-all.o'.  Stop.
>>
>> I'm using a fairly recent setup, gentoo with gcc 7.2.0 and gmock 1.7.0
>> installed and I'm unable to find exactly what the issue is. Any Help would
>> be appreciated, as I'd like to look at 2.7 gnucash release :)
>>
>> Thanks!
>>
>> longer log:
>>
>> GUILE_LOAD_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_PATH}"
>> GUILE_LOAD_COMPILED_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_COMPILED_PATH}"
>> LD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-u
>> tils/.libs:${LD_LIBRARY_PATH}"
>> DYLD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-utils/.libs:${DYLD_LIBRARY_PATH}"
>> \
>> /usr/bin/guild compile -o engine-utilities.go engine-utilities.scm
>>
>> (process:3703): gnc.module-WARNING **: Could not locate module
>> gnucash/engine interface v.0
>> wrote `engine-utilities.go'
>> GNC_UNINSTALLED=yes \
>> GNC_BUILDDIR=../.. \
>> GUILE_LOAD_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_PATH}"
>> GUILE_LOAD_COMPILED_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_COMPILED_PATH}"
>> LD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-u
>> tils/.libs:${LD_LIBRARY_PATH}"
>> DYLD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-utils/.libs:${DYLD_LIBRARY_PATH}"
>> \
>> /usr/bin/guild compile -o gnc-numeric.go gnc-numeric.scm
>> wrote `gnc-numeric.go'
>> GNC_UNINSTALLED=yes \
>> GNC_BUILDDIR=../.. \
>> GUILE_LOAD_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_PATH}"
>> GUILE_LOAD_COMPILED_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_COMPILED_PATH}"
>> LD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-u
>> tils/.libs:${LD_LIBRARY_PATH}"
>> DYLD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-utils/.libs:${DYLD_LIBRARY_PATH}"
>> \
>> /usr/bin/guild compile -o engine.go engine.scm
>> wrote `engine.go'
>> GNC_UNINSTALLED=yes \
>> GNC_BUILDDIR=../.. \
>> GUILE_LOAD_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_PATH}"
>> GUILE_LOAD_COMPILED_PATH="../../libgnucash/gnc-module:${GUILE_LOAD_COMPILED_PATH}"
>> LD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-u
>> tils/.libs:${LD_LIBRARY_PATH}"
>> DYLD_LIBRARY_PATH="../../libgnucash/engine/.libs:../../libgnucash/gnc-module/.libs:../../libgnucash/core-utils/.libs:${DYLD_LIBRARY_PATH}"
>> \
>> /usr/bin/guild compile -o business-core.go business-core.scm
>> wrote `business-core.go'
>> make[5]: Leaving directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/libgnucash/engine'
>>
>> Making all in test-core
>> make[5]: Entering directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/libgnucash/engine/test-core'
>>
>> /bin/sh ../../../libtool  --tag=CXX   --mode=link g++ -Wall -Wno-unused
>> -Wno-deprecated-register -g -O2 -module  -o libgncmod-test-engine.la
>> gncmod-test-engine.lo test-engine-stuff.lo ../../../libgnucash/gnc-module/
>> libgnc-module.la ../libgncmod-engine
>> .la -lgio-2.0 -lgthread-2.0 -pthread -lgobject-2.0 -Wl,--export-dynamic
>> -lgmodule-2.0 -pthread -lglib-2.0 -lm
>> libtool: link: rm -fr  .libs/libgncmod-test-engine.a .libs/
>> libgncmod-test-engine.la
>> libtool: link: ar cru .libs/libgncmod-test-engine.a
>> .libs/gncmod-test-engine.o .libs/test-engine-stuff.o
>> libtool: link: ranlib .libs/libgncmod-test-engine.a
>> libtool: link: ( cd ".libs" && rm -f "libgncmod-test-engine.la" && ln -s
>> "../libgncmod-test-engine.la" "libgncmod-test-engine.la" )
>> make[5]: Leaving directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/libgnucash/engine/test-core'
>>
>> make[4]: Leaving directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/libgnucash/engine'
>>
>> make[3]: Leaving directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/libgnucash/engine'
>>
>> Making all in ../common/test-core
>> make[3]: Entering directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/common/test-core'
>>
>> make[3]: *** No rule to make target '/gmock-all.cc', needed by
>> 'libgmock_a-gmock-all.o'.  Stop.
>> make[3]: Leaving directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/common/test-core'
>>
>> make[2]: *** [Makefile:538: all-recursive] Error 1
>> make[2]: Leaving directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3/libgnucash'
>> make[1]: *** [Makefile:821: all-recursive] Error 1
>> make[1]: Leaving directory
>> '/var/tmp/portage/app-office/gnucash-2.7.3/work/gnucash-2.7.3'
>> make: *** [Makefile:675: all] Error 2
>
>
> The googletest detection code is tuned for Debian and Fedora. There’s no way we can accommodate the peculiarities of every distro, so for those that do things differently there are configure options and environment variables to help.
>
> In your case it looks like configure didn’t get the right information about gmock. Look at config.log to see why not then make the appropriate adjustments.
>
> Regards,
> John Ralls

I've been aiding in the eventual Gentoo release of gnucash-2.7.3.  The
problem is that Gentoo installs headers and shared libraries by
default, not the sources.  The distro tries to dissuade building
bundled source for which there is already a separate package and
prefers to link directly to external libraries. And, it seems that
gnucash unconditionally tries to build gmock from source, even though
${GMOCK_SRC_PATH} is not set.  Currently,
'common/test-core/Makefile.am' is patched in Gentoo to prevent
building gmock.

So my question is this.  Would gnucash be willing to accept a patch to
the autotools files that would prevent building gmock if the
gmock_main library is found during configure?  Or, if not, a patch to
support a configure flag that would disable building gtest/gmock?


More information about the gnucash-devel mailing list