Building Mapguide on Ubuntu 7.10 Server

NOT ready for Prime Time!!!

Below are instructions that will aid a user with installing FDO 3.3 and MapGuide Open Source 2.0 from SVN trunk on Ubuntu 7.10 (Gutsy Gibbon) Server. It is based on previous instructions, credit to their authors!

BASIC SETUP
Install a basic Ubuntu Server 7.10 (Gutsy Gibbon). Once this is complete, you will have to add some extra packages to compile MapGuide. Make sure that you get all of these packages; the line is really long:

sudo apt-get install build-essential bison flex automake1.7 automake1.9 libtool doxygen subversion libjpeg62-dev libpng12-dev libfreetype6-dev libexpat1-dev libxalan110-dev libxslt1-dev expat libcurl4-openssl-dev libasound2-Dev python2.5-dev sun-java5-jdk

If Java fails to install, you may need to edit /etc/apt/sources.list to uncomment the multiverse repository lines and then try installing it again

(make note of which version of Java was installed, and use the correct one below)

export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.13

To avoid "bad fd number" errors, type the following in the terminal:

sudo dpkg-reconfigure dash

and choose No at the prompt. Be aware that this changes your default /bin/sh from dash back to bash.

Prepare your SVN profile to use the appropriate options for FDO and MapGuide. Type the following at the Terminal.

(this just sets up your initial .subversion settings folder) svn info http://svn.osgeo.org/fdo

''(edit ~/.subversion/config) nano .subversion/config

You can enable options by removing the comments (# ) in front of them, or just add new lines to the appropriate locations.

In the Miscellany section, enable:

Use-commit-times=yes Enable-auto-props=yes

In the Auto-Props section, add:

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

Save and close the config file.

FDO INSTALL
In terminal type the following:

mkdir fdosvn

''(be prepared to wait a long time for this command to complete, the test data takes a while to download) svn checkout http://svn.osgeo.org/fdo/trunk fdosvn

(type in your password after the following command if prompted) sudo mkdir /usr/local/fdo-3.3.0

(if you are not logged in as administrator, you change the userid below!) sudo chown administrator /usr/local/fdo-3.3.0

cd fdosvn

source ./setenvironment.sh

In terminal, type the following to run the builds. Note, there will be no output from either command until completion as it is all being spooled to nohup.out. You can log into another terminal session and tail this file if you start getting antsy :-)

nohup ./build_thirdparty.sh > build_thirdparty.log

nohup ./build_linux.sh > build_linux.log

APACHE / PHP INSTALL
In Terminal type the following:

cd ~

(you should now be in /home/administrator, or whatever your $HOME is)

mkdir mgsvn

svn checkout http://svn.osgeo.org/mapguide/trunk/MgDev/ mgsvn

sudo mkdir /usr/local/mapguideopensource

(replace administrator with your userid if necessary) sudo chown administrator /usr/local/mapguideopensource

cd mgsvn/Oem/LinuxApt

(careful when copying and pasting this line, the - got changed into . for me) find. -name "*.gz" -exec tar xzf {} \;

nohup ./build_apt.sh > ../../build_apt.log

BUILD OEM
Perform the following:

cd ~/mgsvn/

nohup ./build_oem.sh > build_oem.log

BUILD MAPGUIDE
Go for the gusto:

aclocal libtoolize --force automake --add-missing --copy autoconf

./configure

nohup make > make_mapguide.log

= Here be Dragons - Uncharted territory not yet tested =

make install

Not sure yet if these are needed...

''sudo chown administrator /usr/lib/python2.4

''sudo chown administrator /usr/lib/python2.5

To activate webstudio, you have to copy the files to the webserverextension folder as follows:

cp -R /home/administrator/mgdev/1.2.x/MgDev/Web/src/webstudio “SPACE” /usr/local/mapguideopensource/webserverextensions/www/webstudio

The above command should be all one line, with a 'space' between webstudio and /usr

Reboot the server

To start Mapguide on the server:

''cd /usr/local/mapguideopensource/webtierextensions/apache2/bin

''./httpd

''cd /usr/local/mapguideopensource/server/bin

./mgserver.sh''

Enjoy!