Compile Guncash

Geert Janssens geert.gnucash at kobaltwit.be
Mon Mar 30 08:37:42 EDT 2015


On Saturday 28 March 2015 15:14:24 Tommy Trussell wrote:
> On Sat, Mar 28, 2015 at 1:19 PM, AC <gnucash at acarver.net> wrote:
> > On 2015-03-28 00:14, Geert Janssens wrote:
> > > On Friday 27 March 2015 15:28:27 AC wrote:
> > >> On 2015-03-27 15:06, Colin Law wrote:
> > >>> On 27 March 2015 at 18:18, AC <gnucash at acarver.net> wrote:
> > >>>> On 2015-03-27 09:25, Dennis Powless wrote:
> > >>>>> I had read the readme file and was not very helpful.
> > >>>>> 
> > >>>>> I had entered the command.   ./configure but got errors.  I
> > >>>>> want
> > >>>>> to say it was the target, but later when I had stated the
> > >>>>> target
> > >>>>> it worked.
> > >>>>> 
> > >>>>> Why does the above mentioned wiki have me make a .deb file,
> > >>>>> when
> > >>>>> others don't.  This didn't work.
> > >>>>> 
> > >>>>> Checkinstall vs make install
> > >>>>> 
> > >>>>> Thanks for the info,  very helpful
> > >>>> 
> > >>>> I don't understand why the tarball insists on making a .deb (or
> > >>>> if
> > >>>> the wiki is confused and suggests it makes one when the tarball
> > >>>> really doesn't).  Most of the time when compiling from a
> > >>>> tarball
> > >>>> the binaries are made directly (no deb's) and installed
> > >>>> directly.
> > >>>> If the tarball really is making a deb then I suspect it's to
> > >>>> ensure that gnucash shows up in the package manager.
> > >>> 
> > >>> The tarball does not insist on making a deb, it is just that the
> > >>> person that wrote that section of the wiki wanted to do it that
> > >>> way.
> > >>> When I did the entries for earlier versions of Ubuntu (which can
> > >>> be
> > >>> seen in the wiki) I just compiled to binaries and ran or
> > >>> installed
> > >>> from those.  If I needed to compile gnucash now I would do it
> > >>> the
> > >>> way
> > >>> I described rather than making a deb, which I think just adds
> > >>> complexity.  Also I think it is better to get the source from
> > >>> git
> > >>> rather than using the tarball.
> > >> 
> > >> Ok, perhaps that section should end up being split into a
> > >> standard
> > >> compile with direct binaries and then the optional deb later.  It
> > >> seems to cause enough confusion especially when the instructions
> > >> are
> > >> different from the portions you wrote.
> > > 
> > > Good suggestion. Feel free to go in and improve this. As this is a
> > > wiki everybody is encouraged to work on it.
> > 
> > I'll take a look but I don't use Ubuntu so I can't really edit that
> > particular section.  It just has too many idiosyncrasies.  Best I
> > could do would be to add a generic section.
> 
> I don't believe Ubuntu necessarily has more idiosyncrasies than any
> other distro;
To be honest I see more Ubuntu specific bug reports than for any other 
distro. I never bothered searching for the cause, so this can both be 
that more people try to self-build gnucash on that platform than on 
others, or that Unity sometimes steps on gtk's toes in subtle ways.

> folks have merely used the Ubuntu section to try out
> lots of different things, and presented them as if they are Ubuntu
> version dependent. In practice, the only things that SHOULD vary with
> Ubuntu releases are the versions of particular supporting libraries
> and maybe a few tweaks based on those.
> 
That's certainly true.

> I have been puzzling over this for awhile -- there are lots of options
> that really ought to be described better in the wiki:
> 
> 1) DEB: whether or not to create a .deb package (applies to Debian or
> Ubuntu) -- the advantage to a .deb is you can compile the package to
> install in any standard or non-standard location and remove it easily
> using the package manager. (Surely there might be a similar procedure
> for building your own .rpm but I don't use Fedora etc. daily and
> haven't looked.)
> 
While a .deb/.rpm package is indeed useful as it allows your custom 
built gnucash to be managed by your distro's package manager, it's 
optional. And the wiki probably should explain that.

Note that to get to a .deb/.rpm package the same build steps as a manual 
build are used as well, only now it's the package build system that runs 
those so it's not obvious for the user. And this package build system 
takes slightly different inputs as for a manual build. So it really 
should be a separate section.

> 2) SOURCE: how you downloaded the source (git, tarball, or Debian /
> Ubuntu source packages) -- as Geert happened to bring up recently in
> the -devel list, the compilation procedure differs depending upon
> where the source came from.
That's true, although for the one initiating the build there's only one 
single difference:
- when starting from git, the first command to run is ./autogen.sh in 
the source directory
- when starting from a (release) tarball, this command can be omitted.

There are a few more differences but these are internally handled by the 
build scripts automatically.

> (I personally tried to wrangle the
> section about
> "self-backporting" using the Debian or Ubuntu source packages but I
> wasn't able to make that work reliably in recent versions. This is
> certainly due to my ignorance, though, because the source packages
> obviously compile correctly for Debian and Ubuntu and GetDeb
> builders.)
> 
Not necessarily. Packagers often add custom patches to their builds in 
order to make them succeed. Most packagers also report these to the 
gnucash community so we can include them in our sources as well, but 
that doesn't always happen.

> 3) INSTALLATION LOCATION: where GnuCash executables get installed (the
> standard Debian / Ubuntu location, or a local single-user-only
> location, or a traditional linux site-local installation, or ... )
> 
> 4) COMPILE OPTIONS: what compile-time options are absolutely necessary
> or just recommended, and a brief description of what they do.
> 
> 5) other common choices not reflected above?
> 
> 6) VERSION-SPECIFIC: the sections that vary based on your version of
> Ubuntu or Debian (or whatever) should be separate choices. HOWEVER
> folks want to be able to jump right in and compile away without
> thinking about options 1-5.
> 
> 
> What's the best way to present all these things? Is there any way to
> show them in the wiki that would be maintainable? Most of these
> choices are not even specific to Ubuntu.
I agree that building gnucash is 90% the same steps and commands on most 
(linux) distros. So I would recommend first writing a page with general 
build instructions. And that page should go into more detail on each of 
the topics you mention above.

And then based on that one could make distro specific recommendations, 
like how to get the necessary build dependencies installed, or how to 
build a .dep/.rpm package, or how to deal with some very distro-specific 
oddity. These distro specific pages should refer to the base build page 
for everything that doesn't deviate.

Does that make sense to you ?

Geert


More information about the gnucash-user mailing list