Samples of ADG based applications at work

adg-demo screenshots

On each section it is reported a rough description of the issues met while building the ADG on that specific platform. The eventual commands reported should be taken with a grain of salt; they are shown only for reference purpose and as a copy&paste commodity. Your distribution could be totally different from the one used in the test.

GNU/Linux

adg-demo 0.6.0 running on Arch linux 64

Actually, the ADG is developed on this platform, so there should not be any problems in building either from a tarball or from a git checkout. Just fulfill the dependency requirements and follow the generic instructions.

The screenshot is taken from adg-demo running on an Arch linux 64 distribution with the murrine GTK+ engine, a custom set of icons based on the nuvola theme and the OpenBox window manager.


FreeBSD

adg-demo 0.6.0 running on FreeBSD 8

The mayor difference from a GNU/Linux distribution (in term of application deployment) is the use of BSD make and tcsh shell instead of their GNU counterparts. Keeping the makefiles compatibles with BSD make and not relying on bashism gives the opportunity to include the ADG as-is in the FreeBSD port system.

The shave macros do not work on FreeBSD 8... only a cosmetic issue though. More serious is the failure of make dist because of missing dist-hooks and make check because of (probable) mathematical roundings on setters that do not access direct struct fields, such as AdgLDim:direction.

Also, there is an issue at run-time: the diameter symbol is rendered as an empty rectangle (cleary visible in the screenshot). This is probably due to the default font missing the glyph for the diameter (unicode U+2300).

Either the tarball and a git checkout build fine, so resolving those issues will make FreeBSD a good platform for ADG development.

For convenience, here are the commands used to build adg-demo:

su -
pkg_add -r gnome2-lite gtk-doc autotools
exit
git clone git://adg.git.sourceforge.net/gitroot/adg/adg
./autogen.sh
make
demo/adg-demo

FreeBSD does not come with a set of packages preselected: it is a minimal distribution with tons of customization variants. The above commands work for a FreeBSD 8 installed with the Development category selected in the packages selection.


Open solaris

adg-demo 0.6.0 running on OpenSolaris 2009.6

ADG builds just fine from a tarball and from a git checkout. As in FreeBSD, the make check target does not pass because of the same mathematical rounding problems.

OpenSolaris is another viable platform for ADG development purpose. Resolved the rounding problem it would be as effective as a GNU/Linux platform.

In the following, the commands used on a bare OpenSolaris 2009.6 installation to build and run adg-demo from a fresh git checkout. OpenSolaris does not provide a standard automake and aclocal binary, so they must be explicitely set using the proper environment variable at configure time:

pfexec pkg install SUNWgit SUNWgcc \
    SUNWlibtool SUNWaconf SUNWgnu-automake-110 \
    SUNWgnome-common-devel SUNWxorg-headers
git clone git://adg.git.sourceforge.net/gitroot/adg/adg
AUTOMAKE=automake-1.10 ACLOCAL=aclocal-1.10 ./autogen.sh
make
demo/adg-demo

Windows XP

adg-demo 0.6.0 on Windows XP

The porting to Windows XP (and other win32 based platforms) has been performed by using the MinGW32 environment. Building can be done directly on a windows system or by cross-compiling the binary on another platform.

The MinGW approach is a great way for porting, but using it on windows is a poor choice for the ADG development purpose. The last easy-to-install package, MSys-1.0.11, does not provide the minimum autotools required so only source tarballs could be compiled in this way. Furthermore the building process is really slow.

The adg-demo shown in the screenshot has been built natively on a Windows XP platform by installing:

  1. MinGW 5.1.6
  2. MSys 1.0.11
  3. MSys Core 1.0.12
  4. MSys Development Toolkit 1.0.1
  5. GTK+ 2.16.6 all-in-one bundle

The resulting demo is subject to the same font issue found for FreeBSD (the missing diameter symbol), otherwise works fine.

The cross-compilation is much more convenient and has more or less the same dependencies. Some distribution provides them yet natively packaged. Also, a convenient configure wrapper is provided: adapt it to your system before using it. Keep in mind this wrapper expects a host pkg-config implementation that looks for pc files in the proper directories, otherwise you should set the PKG_CONFIG_PATH environment variable by yourself before running the script.

For suggestions on cross compilation (mandatory if you need to install the GTK+ bundle by yourself), check out Allin Cottrell suggestions. Binaries got in this way are able to run (along with some quite serious rendering issue) on wine.

Screenshots and hints was last modified by Nicola on Sat 05 Jun 2010 12:39:14 PM CEST
Hosted by Get Automatic Drawing Generation at SourceForge.net. Fast, secure and Free Open Source software downloads
Search on this domain