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= /Fdo

export FDOUTILITIES= /Utilities

export FDOTHIRDPARTY= /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