General requirements
read bazaar-build/=INSTALL for installation instructions.
You will need to install the following libraries/tools to build baz:
Dependencies
- gnupg (not strictly required)
- expat (for libneon at the moment)
- libgpgme (1.0 or greater. See the Cygwin section below for a patch)
- libgpg-error
- libneon (=0.24.7)
gnu tar (>= 1.14)
gnu patch (>= 2.5.4)
gnu diff (>= 2.8.1)
- gettext
- gnu make
Most of these are standard or easily obtained (via apt or yum) on major linux distributions. However if your OS has incompatible or differing versions you may prefer to build statically with hard-coded references to particular versions of diff, patch and tar. For more details check configure --help. Also, IF you compile with hard coded references, you will probably also want to patch diff3 so that it looks for the correct version of diff to invoke. There is a suitable patch in the unreleased (as of Jun 2005) CVS version of diffutils; or just edit config.h post-configure, and set DEFAULT_DIFF_PROGRAM.
Mac OS X/Fink
- Install the apple SDK (for gcc et al)
- Install Fink, select to use the unstable branch (which has libgpgme)
- Install patch/diff/tar/neon24/libgpgme
- Grab the source tarball from bazaar.canonical.com/packages/src or releases/src (once 1.4 is released).
- unpack it
- from its root:
mkdir build cd build CFLAGS="-I/sw/include -L/sw/lib" ../src/configure --prefix=/sw
- Note the CFLAGS passed to configure - they must not contain -Werror, and must contain -I and -L paths that you will need to find local libraries
- And the build itself:
export CFLAGS="-g -O2 -Wall -Werror -fno-strict-aliasing \ -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \ -Wbad-function-cast -Wno-pointer-sign -I/sw/include -L/sw/lib" make sudo make install
Mac OS X/OpenDarwin
- Install the apple SDK (for gcc et al)
Install OpenDarwn
- Install patch/diff/tar/neon24/gpgme. Note that on Tiger, patch, diff and tar are already sufficiently new:
sudo port install diff sudo port install patch sudo port install tar sudo port install neon sudo port install gpgme
Please not that you may find that gpgme complains about undefined functions "_pth_*". You will have to add export LIBS="-lpth" in order to gpgme to pickup the Pth library until the port is fixed.
- Grab the source tarball from bazaar.canonical.com/packages/src or releases/src (once 1.4 is released).
- unpack it
- from its root:
mkdir build cd build CFLAGS="-I/opt/local/include -L/opt/local/lib" ../src/configure --prefix=/opt/local
- Note the CFLAGS passed to configure - they must not contain -Werror, and must contain -I and -L paths that you will need to find local libraries
- And the build itself:
export CFLAGS="-g -O2 -Wall -Werror -fno-strict-aliasing \ -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \ -Wbad-function-cast -Wno-pointer-sign -I/opt/local/include -L/opt/local/lib" make sudo make install
NetBSD
- Install the required stuff via pkgsrc
- Grab the source tarball from bazaar.canonical.com/packages/src or releases/src (once 1.4 is released).
- unpack it
- from its root:
cd src mkdir build cd build CFLAGS="-I/usr/pkg/include -L/usr/pkg/lib -R/usr/pkg/lib" \ ../configure --prefix=/usr/local --with-gnu-patch=gpatch --with-gnu-tar=gtar
- Notes
/usr/local is not a NetBSD standard Path, but I chose it, since it does not interference with /usr/pkg. I personally would NOT put self-compiled software into /usr/pkg.
- If you do not specify --with-gnu-tar=gtar and --with-gnu-patch=gpatch, baz will not build correctly!
- And the build itself:
export CFLAGS="-g -O2 -Wall -Werror -fno-strict-aliasing \ -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations \ -Wbad-function-cast -I/usr/pkg/include -L/usr/pkg/lib -R/usr/pkg/lib" gmake sudo gmake install
- Note if you do not have sudo installed you can switch to root with "su" and then do a "gmake install"
Cygwin
Building is as normal on most unixes :
- Install dependencies
- configure
- build
However, libgpgme does not build out of the box. you need this patch that corrects a libtool bug leading to undefined symbols.
