Contents
Debian Stretch (testing)
Please see MohammedSadiq/JHbuildOnDebian
Debian Wheezy
In my ~/.config/jhbuildrc:
moduleset = 'gnome-apps-3.8' modules = ['meta-gnome-core-shell'] skip = ['WebKit', 'evolution']
Run the following to install the dev packages you need to complete the build:
# apt-get install --no-install-recommends \ build-essential docbook-xsl flex bison cvs gperf cmake valac g++ \ lib{pam0g,iw,db,gdbm,png12,ffi,tiff,boost-signals,ldap2}-dev \ lib{vorbis,gl1-mesa,unistring,quvi,icu,neon27,usb-1.0-0,sasl2}-dev \ lib{asound2,ncurses5,nss3,udev,usb,acl1,polkit-gobject-1,cairo}-dev \ lib{oauth,nl-route-3,nl-genl-3,cups2,rsvg2,systemd-login}-dev \ lib{dvdread,soundtouch,wnck-3,avahi-gobject}-dev \ libtasn1-3-bin \ libx{cb-util0,composite,randr,damage,ft2,i,t}-dev \ {uuid,ppp,python-cairo}-dev \ icc-profiles-free libxml-simple-perl subversion ruby gnome-doc-utils \ yelp-tools apt-file
Update your ~/.config/jhbuildrc to search the various locations of the pkg-config files by adding the following:
addpath('PKG_CONFIG_PATH', '/etc/alternatives') addpath('PKG_CONFIG_PATH', '/usr/lib/pkgconfig') addpath('PKG_CONFIG_PATH', '/usr/lib/x86_64-linux-gnu/pkgconfig') addpath('PKG_CONFIG_PATH', '/usr/lib32/pkgconfig') addpath('PKG_CONFIG_PATH', '/usr/share/pkgconfig')
(found with: $ for f in $(locate *.pc); do dirname $f; done | uniq)
Debian Squeeze
Note: I ran jhbuild bootstrap --ignore-system to avoid whatever incompatibilities Debian-supplied tools may cause.
My '.jhbuildrc', has the following:
moduleset = ['gnome-apps-3.0', 'gnome-suites-core-3.0'] modules = ['meta-gnome-core', 'meta-gnome-apps-featured']
Run the following to install only the dev packages you need to complete the build:
# apt-get install --no-install-recommends \ build-essential docbook-xsl flex bison cvs gperf cmake valac \ lib{pam0g,iw,db,gdbm,png12,ffi,tiff,boost-signals,ldap2}-dev \ lib{vorbis,gl1-mesa,unistring,quvi,icu,neon27,usb-1.0-0,sasl2}-dev \ lib{asound2,ncurses5,nss3,udev,usb,acl1}-dev \ libxcb-{event1,aux0}-dev \ libx{composite,randr,damage,ft2,i,t}-dev \ {uuid,ppp}-dev libxml-simple-perl subversion
Debian Lenny
Generic Dependencies
cmake gnome-common subversion cvs git-core lynx build-essential libgdbm-dev libxml-simple-perl bzip2 gzip autoconf automake1.4 automake1.7 automake1.8 automake1.9 pkg-config gettext libbz2-dev flex bison zip
Build Requirements
Last updated for GNOME 3.0 modulesets
docbook-utils docbook-xml docbook-xsl docbook-to-man doxygen xnest texinfo pciutils libpopt-dev libxrender-dev zlib1g-dev libxft-dev libpng12-dev libxt-dev libxi-dev libxtst-dev libxext-dev libtiff-dev libusb-dev libsm-dev libpam-dev python-libxml2 libncurses5-dev libtheora-dev libvorbis-dev libasound2-dev libcdparanoia0-dev libexif-dev libffi-dev python-dev libgdbm-dev usbutils libbz2-dev libxrandr-dev mono-mcs uuid-dev libxcomposite-dev libxdamage-dev libgmime2-dev libelf-dev libldap-dev libsasl2-dev libxv-dev gperf libicu-dev libssl-dev libiw-dev ppp-dev libdevkit-power-gobject-dev check libudev-dev libxcursor-dev libgpgme11-dev libaspell-dev xserver-xephyr libboost-dev libboost-signals-dev libmpfr-dev libreadline-dev udisks libgudev-1.0-dev libenchant-dev libsane-dev libexiv2-dev libming-dev libdiscid0-dev libdb-dev libnotify-dev tcl8.5
You will also need a lot of -dev packages for the build to succeed. Usually looking at the error messages from the configure scripts will give you an indication about which development packages are needed. For instance, if a configure script complains about missing jpeg library headers, install the libjpeg62-dev package. Note that you will need a LOT of multimedia related -dev packages to compile a functional gst-plugins build with support for a reasonable number of audio and video codecs. Use the status printed at the end of the gst-plugins configure script to find out which codecs are not built due to missing dependencies.
To build glib, you will need libtool and autoconf from backports.
Usual problems
Running export ACLOCAL_FLAGS="-I /path_to_gnome/share/aclocal" before building should help with some macro issues
- os.environ['LDFLAGS'] = "-L" + prefix + "/lib" (in .jhbuildrc) helps if libtool picks up the wrong static libraries.
version mismatch. This is Automake 1.x.y ... If this blocks your build, try running update-alternatives --config automake as root and select automake 1.9 as the default. If it still detects the wrong version try removing all automake versions except 1.9 temporarily.
Add module_autogenargs['hal'] = '--with-hal-user=hal --with-hal-group=hal' to your .jhbuildrc to compile hal with the correct user and group.