[GNC-dev] Proposed updates to Wiki Build#Ubuntu pages
John Ralls
jralls at ceridwen.us
Thu Apr 19 11:00:08 EDT 2018
> On Apr 18, 2018, at 10:11 PM, DaveC49 <davidcousens at bigpond.com> wrote:
>
> John, Geert and whoever maintains the Wiki Build#Ubuntu_16.04
> <https://wiki.gnucash.org/wiki/Building> pages.
>
> I would like to propose some edits to the above Wiki page section in the
> light of my recent experiences building Guncash v3.0 which may help others
> building it in future.
>
> My major problems I encountered were in getting googletest and googlemock
> installed and running smoothly, not having fully removed libraries from
> 2.6.19 and the right choice of relative reference to the top level
> CmakLists.txt.
>
> I think the main reason Google doesn't recommend installing googletest and
> googlemock as shared libraries is because of their reluctance to get dragged
> into any maintenance issues on the various Linux distros rather than with
> any inherent problems with shared libraries as such.
That’s not what they say in the documentation. Did you read it?
>
> In version 1.8.0 the move to a single repository and download for googlemock
> and googleletest makes the installation as shared libraries fairly easy on
> Ubuntu systems. I am guessing the patch to GncADDTest and the
> CmakeLists.txtin ~/common/test-core to detect shared libraries won't be in
> the stable version until v3.1 is released.
Debian/Ubuntu follows Google’s recommendation and distributes sources, not shared libraries.
https://packages.debian.org/stretch/amd64/googletest/filelist <https://packages.debian.org/stretch/amd64/googletest/filelist>
https://packages.ubuntu.com/artful/amd64/googletest/filelist <https://packages.ubuntu.com/artful/amd64/googletest/filelist>
Though in Ubuntu’s case that’s available only in the just-released 18.04LTS. Since you’re talking about 16.04, the relevant packages are
https://packages.ubuntu.com/xenial/amd64/libgtest-dev/filelist <https://packages.ubuntu.com/xenial/amd64/libgtest-dev/filelist>
https://packages.ubuntu.com/xenial/amd64/google-mock/filelist <https://packages.ubuntu.com/xenial/amd64/google-mock/filelist>
It’s Fedora and derivatives that insist on shared libraries for googletest and now googlemock; it was the Fedora packager, Bill Nottingham, who provided the patch to support libgmock.so.
>
> I would propose adding a note to the dependencies secion on the above page
> referencing the ability to use shared libraries with v1.8.0 and referencing
> an additional wki page addressing setting up for using googlemock and
> googletest for building GnuCash which could have a section for setting up
> GTEST_ROOT and GMOCK_ROOT if not using shared libraries and or v 1.7.0 and
> a section on setting up shared libraries for v 1.8.0. I put a tutorial up on
> the Linux Mint Forum for that as I found the info available on many online
> source and forums was a) very skettchy and b) sometimes confusing or
> misleading which i could either reference or just incorporate directly.
That seems rather excessive when all one need do if googletest isn’t provided by one’s distro is
git clone https://github.com/googletest/googletest <https://github.com/googletest/googletest>
and then pass two parameters to cmake when configuring GnuCash.
>
> I also propose putting a note re removing previous libraries. I had relied
> on a Linux Mint menu uninstall option which worked with the distro installed
> version but not with 2.6.19 which i had built. Another possibility is to
> reference a page with instructions on how to remove files relative to the
> install prefix.
Because
make uninstall (autotools)
or
xargs rm < install_manifest.txt (cmake)
is too esoteric to expect that people building their own package to know already?
>
> The third proposal would be to have some explanatory notes, possibly with
> some examples, on the positioning of the build directory relative to the
> source directory. My experience with this is that unlike the documentation
> build, there does not appear to be a need to have the build directory
> outside the source directory. This could either go on the Cmake page
> https://wiki.gnucash.org/wiki/CMake <https://wiki.gnucash.org/wiki/CMake>
I’ve rewritten this bit in a way similar to my rewrite in README. Where you but the build directory is completely up to you, but specifying a particular layout seemed to cause trouble for some people.
>
> If you are happy with the above proposals or can suggest other approaches, I
> am willing to have a go at editing the Wiki if I can be granted the
> appropriate permissions to edit the pages and create the requisite new
> pages.
You can certainly have permission to edit the wiki. Just request a login and say who you are on the form.
Regards,
John Ralls
More information about the gnucash-devel
mailing list