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 Debina Sarge (the rest of this guide assumes no GUI and that you are not running as the root user)

Using apt, install the following:

subversion, gcc, g++, flex, bison, automake 1.9, libjpeg62, libjpeg62-dev, libtool, zlib1g, zlib1g-dev, libxml2-dev, make

FDO

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

mkdir fdosvn cd fdosvn /path/to/checkoutsvn.sh

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

find .subversion/config (hidden directory probably in your home directory)

edit config 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

rm -rf fdosvn/* rm -rf fdosvn/.svn

checkoutsvn.sh

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

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

install using apt:

libcurl3, libcurl3-dev, libxslt1.1,libxslt1-dev, expat

sudo mkdir /usr/local/mapguideopensource sudo chown (your user) /usr/local/mapguideopensource

edit /etc/apt/sources.list to include sarge backports. add line :

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

then :

apt-get update (as root)

install using apt:

sun-java5-jdk (accept the license)

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

cd /your/home/directory/mgdev/Oem/LinuxApt

extract all the tar.gz files

./build_apt.sh

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

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

Install using apt:

libexpat1, libexpat1-dev, doxygen

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