Building 2.8 on Ubuntu 16.04 - Wiki Proposal

Carsten Rinke carsten.rinke at gmx.de
Thu Sep 7 08:57:52 EDT 2017



On 07.09.2017 12:38, Geert Janssens wrote:
> On donderdag 7 september 2017 10:58:30 CEST Carsten Rinke wrote:
>> Hi there,
>>
>> starting with an Ubuntu 16.04 installation from scratch, this is what I
>> did to make GnuCash 2.8 build with autotools:
>>
> Nice!
>
>> autogen.sh:
>> ===========
>> sudo apt-get install intltool
>> sudo apt-get install autoconf automake autotools-dev libsigsegv2 m4
>> sudo apt-get install libtool libltdl-dev
>> sudo apt-get install libglib2.0-dev
>>
>> configure
>> =========
>> sudo apt-get install icu-devtools libicu-dev
>> sudo apt-get install libboost-all-dev
>> sudo apt-get install guile-2.0 guile-2.0-dev
>> sudo apt-get install swig2.0
>> sudo apt-get install libxml++2.6-dev
>> sudo apt-get install libxslt1-dev
>> sudo apt-get install xsltproc
>> sudo apt-get install libgtest-dev
>> sudo apt-get install google-mock
>> sudo apt-get install gtk+3.0
>> sudo apt-get install libgtk-3-dev
>> sudo apt-get install webkit2gtk-3.0 # >600MB !
>>
> A few questions/remarks:
>
> * Which packet pulls in the dev package for webkit2gtk ?
>
> * I don't know whether this is also on Ubuntu, though on Fedora if you install
> libgtk-3.dev, that will automatically pull in gtk+3.0 (using the Ubuntu
> package names here)
>
> * I'd condense this to one or two apt-get commands rather than the long list
> of separate commands.
>
> * Does listing this under separate build steps (autogen.sh vs configure) add
> anything useful or could you just call it install system prerequisites or
> something like that ?
>
>> make (xml backend)
>> =============
>> mkdir build-master
>> cd build-master
>> ../gnucash/autogen.sh
> I didn't know you could call autogen.sh out of tree. If you can, so much the
> better. It will however still create files in the source directory. So it may
> be better to call this directly in the source directory to make this more
> clear. I'm not sure about which way is best.
>
>> ../gnucash/configure --prefix=<path>/gnucash-master
>> --enable-compile-warnings --disable-error-on-warning --disable-dbi
>> make
>> sudo make install
>>
>> If this looks ok to you I would put it onto the Wikipage 1:1 as a
>> starting point.
> It's certainly a good starting point. I would definitely also illustrate how
> to build with dbi enabled (many people want this) and which additional
> dependencies this has.
>
> And considering you wrote this for 2.8 I would consider using cmake instead of
> autotools. It's very likely we will drop the latter as soon as we're sure our
> cmake configuration does everything autotools does until now. The biggest
> roadblock to this has recently been solved (running cmake on Ubuntu 14.04LTS)
> so I was about to propose again to drop autotools.
>
> Geert
>
For Webkit this is what I get from apt:

libwbclient0/xenial-security,now 2:4.3.11+dfsg-0ubuntu0.16.04.9 amd64 
[installed,upgradable to: 2:4.3.11+dfsg-0ubuntu0.16.04.10]
libwebkit1.1-cil/xenial,xenial,now 0.3-7 all [installed,automatic]
libwebkit2gtk-3.0-25/xenial-updates,now 2.4.11-0ubuntu0.1 amd64 [installed]
libwebkit2gtk-3.0-25-dbg/xenial-updates,now 2.4.11-0ubuntu0.1 amd64 
[installed]
libwebkit2gtk-3.0-dev/xenial-updates,now 2.4.11-0ubuntu0.1 amd64 [installed]
libwebkit2gtk-4.0-37/xenial-updates,xenial-security,now 
2.16.6-0ubuntu0.16.04.1 amd64 [installed]
libwebkit2gtk-4.0-37-gtk2/xenial-updates,xenial-security,now 
2.16.6-0ubuntu0.16.04.1 amd64 [installed]
libwebkitgtk-1.0-0/xenial-updates,now 2.4.11-0ubuntu0.1 amd64 
[installed,automatic]
libwebkitgtk-1.0-common/xenial-updates,xenial-updates,now 
2.4.11-0ubuntu0.1 all [installed,automatic]
libwebkitgtk-3.0-0/xenial-updates,now 2.4.11-0ubuntu0.1 amd64 
[installed,automatic]
libwebkitgtk-3.0-common/xenial-updates,xenial-updates,now 
2.4.11-0ubuntu0.1 all [installed,automatic]
libwebkitgtk-common-dev/xenial-updates,xenial-updates,now 
2.4.11-0ubuntu0.1 all [installed,automatic]
libwebkitgtk3.0-cil/xenial,now 2.0.0+git20151221-3 amd64 [installed]
libwebkitgtk3.0-cil-dev/xenial,now 2.0.0+git20151221-3 amd64 [installed]

APT shows following information for libgtk-3-dev:

apt show libgtk-3-dev
Package: libgtk-3-dev
Version: 3.18.9-1ubuntu3.3
Priority: optional
Section: libdevel
Source: gtk+3.0        (<============== ! Carsten: probably this is what 
you are looking for)
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss at lists.ubuntu.com>
Original-Maintainer: Debian GNOME Maintainers 
<pkg-gnome-maintainers at lists.alioth.debian.org>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 10,8 MB
Depends: libgtk-3-0 (= 3.18.9-1ubuntu3.3), gir1.2-gtk-3.0 (= 
3.18.9-1ubuntu3.3), libgtk-3-common, dconf-gsettings-backend | 
gsettings-backend, libglib2.0-dev (>= 2.43.4), libgdk-pixbuf2.0-dev (>= 
2.30.0), libpango1.0-dev (>= 1.37.3), libatk1.0-dev (>= 2.15.1), 
libatk-bridge2.0-dev, libcairo2-dev (>= 1.14.0), libepoxy-dev (>= 1.0), 
libx11-dev, libxext-dev, libxinerama-dev, libxi-dev, libxrandr-dev, 
libxcursor-dev, libxfixes-dev, libxcomposite-dev, libxdamage-dev, 
pkg-config, libegl1-mesa-dev, libwayland-dev (>= 1.5.91), 
libxkbcommon-dev, libmirclient-dev (>= 0.13.3), libmircookie-dev (>= 
0.17.0), nettle-dev

I have put the autogen/configure information just into this mail to let 
you know a bit more about where the dependencies are needed, not knowing 
if this is useful information. I skip it for the Wiki Entry.
I find separate more interesting if you are curious how the single 
installations work especially with respect to installation duration - as 
I define myself as an average self-building user I keep it that way :-)
Feel free to overwrite.

/Carsten



More information about the gnucash-devel mailing list