Building MapGuide on Fedora Core 4

These instructions are for building and installing the latest MapGuide Open Source on Fedora Core 4. All of the following are done with root privileges. 
=Prerequisite software=
Install the Java Development Kit:
The JDK is available from http://java.sun.com/javase/downloads/index.jsp (the plain package is fine, no need for NetBeans or Java EE).
Install GCC 4.0.2 available from http://gcc.gnu.org/. The version is important here as later versions do not work.
Install subversion available from http://subversion.tigris.org/. For this, make sure to run "./configure --with-ssl" because the osgeo subversion vaults use https. (I use version 1.3.2 because I don't need to install the Apache Runtime in order to get things to compile.)
=Install MapGuide Linux, Apache, Tomcat package=
Download mapguideaptinstaller-1.0.2.tar.gz from https://mapguide.osgeo.org/downloads.html. 
In a shell window execute the following commands in the directory where you downloaded the apt installer file:
tar zxf mapguideaptinstaller-1.0.2.tar.gz
cd LinuxApt
tar zxf apache-tomcat-5.5.12.tar.gz
tar zxf httpd-2.0.55.tar.gz
tar zxf jakarta-tomcat-connectors-1.2.15-src.tar.gz
tar zxf mod_fastcgi.tar.gz
tar zxf php-5.0.5.tar.gz
./build_apt.sh
=Install FDO 3.2=
Details about the following can be found in the subversion links on the http://fdocore.osgeo.org, http://fdosdf.osgeo.org and http://fdoshp.osgeo.org web pages. And in the OpenSourceBuild__README.txt file that is checked out when subversion is used to get the fdocore trunk.
In a shell window execute the following commands:
svn checkout https://fdocore.osgeo.org/svn/fdocore/trunk fdocore --username guest
(Press Enter without password when asked for password)
cd fdocore
mkdir Providers
cd Providers
svn checkout https://fdosdf.osgeo.org/svn/fdosdf/trunk/Providers/SDF SDF --username guest
svn checkout https://fdoshp.osgeo.org/svn/fdoshp/trunk/Providers/SHP SHP --username guest
Similarly for any other providers that you are interested in. Make sure to read the relevant section in teh OpenSourceBuild__README.txt file for other providers.
--Amorsell 02:50, 13 November 2006 (CET) Other providers:
svn checkout https://fdogdal.osgeo.org/svn/fdogdal/trunk/Providers/GDAL GDAL --username guest
svn checkout https://fdordbms.osgeo.org/svn/fdordbms/trunk/Providers/GenericRdbms GenericRdbms --username guest
svn checkout https://fdoogr.osgeo.org/svn/fdoogr/trunk/Providers/OGR OGR --username guest
svn checkout https://fdowms.osgeo.org/svn/fdowms/trunk/Providers/WMS WMS --username guest
svn checkout https://fdowfs.osgeo.org/svn/fdowfs/trunk/Providers/WFS WFS --username guest
cd ..
export FDO=<directory to fdocore>/Fdo
export FDOUTILITIES=<directory to fdocore>/Utilities
export FDOTHIRDPARTY=<directory to fdocore>/Thirdparty
./build_thirdparty.sh
./build_linux.sh
=Install MapGuide=
Details about the following can be found in https://mapguide.osgeo.org/docs/BuildConfigureMgOpenSourceOnLinux.pdf (the version numbers are wrong, but the process is still the same).
In a shell window execute the following commands:
svn checkout https://mapguide.osgeo.org/svn/mapguide/trunk/MgDev mapguide --username guest
(Press Enter without password when asked for password)
cd mapguide
./build_oem.sh
There is an error that will occur the first time this is run. You will need to fix the Svc_Conf_l.cpp file using the following commands:
pushd Oem/ACE/ACE_wrappers/ace
rm Svc_Conf_l.cpp
svn update
popd
./build_oem.sh
Also if you get an error building CppUnit. Try the following:
pushd Oem/CppUnit-1.9.14
rm aclocal.m4
popd
./build_oem.sh
aclocal
libtoolize --force
automake --add-missing --copy
autoconf
./configure --enable-optimized
make
make install
=Run the MapGuide web tier and server=
Execute the following commands in a shell window:
cd /usr/local/mapguideopensource/webtierextensions/apache2/bin
./httpd
cd /usr/local/mapguideopensource/server/bin
./mgserver.sh
If you open up a browser, you should be able to open http://localhost:8008/mapguide/mapagent/index.html and see the server test web pages.
=Recompile with latest updates=
To update to the latest code for any of the components above change to the directory where "svn checkout ..." was run and run "svn update" (without any other arguments) instead. If any files were updated, deleted or added (subversion will output any changes to the screen) rerun the steps to build that component.
=Miscellaneous Notes on Installing on Fedora Core 6=
Used platform:
Mapguide 1.1.0 on FedoraCore 6 (Zod), 2.6.18-1.2798.fc6,
gcc version 4.1.1 20061011 (Red Hat 4.1.1-30)
Errors in compilation:
many errors in:
mapguide-1.1.0/Oem/geos-2.2.0/source/headers/geos/geom.h
The patched geom.h here: http://www.clubextreme.org/mapguide/geom.h
Compilation is easy - see changes in geom.h - the context of the other errors are the same - so you can edit needed files accordingly,
Other errors and rows that they appear:
mapguide-1.1.0/Oem/SWIGEx/Source/Modules/java.cxx :3582
mapguide-1.1.0/Oem/gdal-1.3.0/frmts/fit/fitdataset.cpp :177
/usr/local/mysql/include/my_global.h:280:24: error: asm/atomic.h: No such file or direct
mahame (comment asm/atomic.h)
mapguide-1.1.0/Common/MdfParser/IOAttributeRelate.h :38
mapguide-1.1.0/Common/MapGuideCommon/Services/PrintLayout.h :216
mapguide-1.1.0/Common/MapGuideCommon/Services/ServerConnectionImp.h :72
mapguide-1.1.0/Server/src/Gws/Include/GwsCommon.h :807
mapguide-1.1.0/Server/src/Services/Feature/ServerDescribeSchema.h :37 38 
After, mapguide and all packages are compiled succesfully.
For questions and comments please write me at toltec@clubextreme.org