= Complete Linux Build Process for MapGuide 2.2 = == Build Procedure for CentOS 5.4 == Setup CentOS 5 build VM as per [wiki:CompilingMapGuide22Centos54 Build Instruction on CentOS 5.4] For King Oracle provider, download 11.2 instant client from Oracle at http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html and ensure that the Oracle shared libraries are added to the library path. === Build FDO === {{{ svn co http://svn.osgeo.org/fdo/branches/3.5 fdo35 cd fdo35/install ./buildall.sh }}} This will build/install FDO and create a CentOS 5 binary tarball named fdosdk-centos5-3.5.0.FDOVERSION.tgz where FDOVERSION is the last svn change number for fdo/branches/3.5. === Build !MapGuide === {{{ svn export http://svn.osgeo.org/mapguide/trunk/Installer/scripts scripts cd scripts ./build.sh }}} This will build/install !MapGuide and create a binary tarball mapguideopensource-2.2.0.MGVERSION.tgz under scripts/bin where MGVERSION is the last svn change number for mapguide/trunk. == Packaging for Ubuntu 9.10 == Install the packaging tools and Subversion {{{ apt-get install openssh-server openssh-client gcc apt-get install build-essential fakeroot dpkg-dev lintian apt-get install subversion }}} Install packages to resolve link dependencies. This allows dpkg to write out package dependencies {{{ apt-get install libexpat1 libssl0.9.8 odbcinst1debian1 unixodbc libcurl3 apt-get install mono-runtime libmono-winforms2.0-cil apt-get install libmysqlclient15off }}} Do some symlinking to get around CentOS 5.4 and Ubuntu 9.10 differences {{{ ln -s /lib/libcrypto.so.0.9.8 /lib/libcrypto.so.6 ln -s /lib/libssl.so.0.9.8 /lib/libssl.so.6 ln -s /lib/libexpat.so.1.5.2 /lib/libexpat.so.0 ln -s /usr/lib/libldap-2.4.so.2 /usr/lib/libldap-2.3.so.0 ln -s /usr/lib/liblber-2.4.so.2 /usr/lib/liblber-2.3.so.0 }}} For King Oracle provider, download 11.2 instant client from Oracle at http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html and ensure that the Oracle shared libraries are added to the library path. Copy and extract the FDO and !MapGuide binary tarballs created above to Ubuntu. === Build Ubuntu Packages for FDO === {{{ svn export http://svn.osgeo.org/fdo/branches/3.5/install install35 cd install35 ./dpkgall.sh i386 FDOVERSION }}} Where FDOVERSION is the version from the FDO tarball. This will create a set of .deb packages in install35/bin. For each debian package, run dpkg --info to ensure that the "Depends:" lines are present. Then run "dpkg --install" for each package. This ensures that the !MapGuide packaging picks up the FDO package dependency. === Build Ubuntu Packages for !MapGuide === {{{ svn export http://svn.osgeo.org/mapguide/trunk/Installer/scripts scripts cd scripts ./dpkgmapguide.sh i386 MGVERSION }}} Where MGVERSION is the version from the !MapGuide tarball. This will create a set of packages in scripts/bin. For each package, run dpkg --info to ensure that "Depends:" lines are present. Finally, post the entire set of .deb packages and update mginstallubuntu.sh to point at the new binaries.