Fwd: Gmock issue

P Levine plevine457 at gmail.com
Fri Jan 12 22:28:53 EST 2018

On Thu, Jan 11, 2018 at 10:08 AM, John Ralls <jralls at ceridwen.us> wrote:
> I do have a question for the Gentoo folks, though: The Googletest documentation recommends *against* building googletest as a shared library [1]. I get that it means that googletest doesn’t really fit in the Linux distro’s standard model, but it seems a bit over the top to deliberately break building googletest as part of the project being tested given googletest’s usage guidelines.
> So two questions back: Why not make an exception for Googletest? Why, if Gentoo is willing to patch Googletest to prevent projects from using it as recommended is Gentoo not willing to also patch those projects to comply with their policy?
> Regards,
> John Ralls
> [1] https://github.com/google/googletest/blob/master/googletest/docs/FAQ.md#why-is-it-not-recommended-to-install-a-pre-compiled-copy-of-google-test-for-example-into-usrlocal <https://github.com/google/googletest/blob/master/googletest/docs/FAQ.md#why-is-it-not-recommended-to-install-a-pre-compiled-copy-of-google-test-for-example-into-usrlocal>
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

You are right that Googletest does advise against using precompiled
libraries.  Gentoo, as a source based rolling-release distribution,
does, by design, place much more responsibility on its user base for a
competent and safe build environment, with more freedom and potential
hazards, than other distributions.  Users are expected to define only
C{XX}FLAGS and LDFLAGS that affect platform specification or
optimization, not alter symbol definitions that might cause
inconsistent linkage errors.  For other ODR violations related to the
build system and/or codebase of gtest itself (such as that pertaining
to https://github.com/google/googletest/pull/1339, which is already
patched in Gentoo), the convention of static-only libraries might
behave as a band-aid over more pervasive problems that should rather
be amended in the code itself.  I don't expect, and wouldn't ask, that
you take up the cause of directly supporting such a distribution.  I
would only hope that you remain open to patches that would aid in our
efforts and goals in a way that doesn't negatively impact those of the
distributions you do officially support.  I have tested GnuCash-2.7
with gtest-1.8.0 and all tests passed except 3 which are expected to
fail ("test-qof" because en_GB and fr_FR locales aren't installed, and
"test-userdata-dir" and "test-userdata-dir-invalid-home" because a
non-standard, empty $HOME is used during the build phase).

More information about the gnucash-devel mailing list