Building MapGuide on Debian Sarge

Installing Mapguide Open Source on Debian Sarge
This work is based on the other compilation guides.

Basic Setup

Install a basic Debian Sarge (the rest of this guide assumes no GUI and that you are not running as the root user)

Edit /etc/apt/sources.list to include sarge backports. (add this line :)

deb http://www.backports.org/debian/ sarge-backports non-free

then :

apt-get update (as root)

Install the following packages:

apt-get install subversion gcc-3.4 g++-3.4 flex bison automake1.9 libjpeg62 libjpeg62-dev libtool zlib1g zlib1g-dev libxml2-dev make libcurl3 libcurl3-dev libxslt1.1 libxslt1-dev expat sun-java5-jdk libexpat1 libexpat1-dev doxygen

FDO

cd ~ wget http://svn.osgeo.org/fdocore/branches/3.2.x/checkoutsvn.sh

Edit checkoutsvn.sh with the following:

FDO_SVN_USERNAME=guest FDO_SVN_PASSWORD=guest FDO_SVN_SOURCEDIR=branches/3.2.x

Then,

mkdir fdosvn cd fdosvn bash ../checkoutsvn.sh

Permanently accept the certificates and then cancel the script (ctrl+c for each checkout)

vim ../.subversion/config

Edit config file with the following (either by commenting out or adding):

in the [miscellany] section:

use-commit-times=yes enable-auto-props=yes

in the [auto-props] section:

*.* = svn:eol-style=native *.sh = svn:executable

Then, always in the fdosvn dir :

rm -rf * rm -rf .svn bash ../checkoutsvn.sh

cd /usr/local sudo mkdir fdo-3.2.0 sudo mkdir fdo-3.2.2 sudo chown (your user) fdo-3.2.*

Then,

cd ~/fdosvn source ./setenvironment.sh nohup ./build_thirdparty.sh >& buildthirdparty.log (if you want to log the build) nohup ./build_linux.sh >& buildlinux.log

Apache/Php

cd svn co http://svn.osgeo.org/mapguide/branches/1.2.x/MgDev sudo mkdir /usr/local/mapguideopensource sudo chown (your user) /usr/local/mapguideopensource

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.10/ (or similar)

cd ~/MgDev/Oem/LinuxApt

Extract all the tar.gz files: find. -name "*.gz" -exec tar xvzf {} \;

Then, ./build_apt.sh >& ~/build_apt.log

Build_oem

Install using apt:

automake1.7 (but don't change symlinks or anything)

cd /your/home/directory/MgDev

add the following to the beginning of your build_oem.sh script (thank's to Gilles Mercier for the idea):

export AUTOMAKE=/usr/bin/automake-1.7 export ACLOCAL=/usr/bin/aclocal-1.7

or, more simply:

update-alternatives --config automake (as root, choose version 1.7)

then :

./build_oem.sh

If you receive errors such as "Permission denied":

find ./ -name "runConfigure" -exec chmod a+x {} \; find ./ -name "mkinstalldirs" -exec chmod a+x {} \;

If you receive an error relating to CppUnit then do the following:

pushd Oem/CppUnit-1.9.14 rm aclocal.m4 popd

In that case,

./build_oem.sh

-- I did not pass this step yet --

Build Mapguide

sudo chown (your user) /usr/lib/python2.4 aclocal libtoolize –-force automake –-add-missing –copy autoconf ./configure –-enable-optimized make make install

Problems?

Can't find webstudio?

cp -R /your/home/directory/mgdev/Web/Src/webstudio /usr/local/mapguideopensource/webserverextensions/www/webstudio