Changes between Initial Version and Version 1 of CompilingMapGuide22/LinuxBuildProcess


Ignore:
Timestamp:
May 27, 2010, 4:50:38 PM (14 years ago)
Author:
trevorwekel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CompilingMapGuide22/LinuxBuildProcess

    v1 v1  
     1= Complete Linux Build Process for MapGuide 2.2 =
     2
     3== Build Procedure for CentOS 5.4 ==
     4
     5Setup CentOS 5 build VM as per [wiki:CompilingMapGuide22Centos54 CentOS 5.4 Compilation Guide]
     6
     7For King Oracle provider, download 11.2 instant client from Oracle at
     8http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html and ensure that the Oracle shared libraries are added to the library path.
     9
     10=== Build FDO ===
     11{{{
     12svn co http://svn.osgeo.org/fdo/branches/3.5 fdo35
     13cd fdo35/install
     14./buildall.sh
     15}}}
     16
     17This 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.
     18
     19=== Build !MapGuide ===
     20{{{
     21svn export http://svn.osgeo.org/mapguide/trunk/Installer/scripts scripts
     22cd scripts
     23./build.sh
     24}}}
     25
     26This 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.
     27
     28
     29== Packaging for Ubuntu 9.10 ==
     30
     31Install the packaging tools and Subversion
     32{{{
     33apt-get install openssh-server openssh-client gcc
     34apt-get install build-essential fakeroot dpkg-dev lintian
     35apt-get install subversion
     36}}}
     37
     38Install packages to resolve link dependencies.  This allows dpkg to write out package dependencies
     39
     40{{{
     41apt-get install libexpat1 libssl0.9.8 odbcinst1debian1 unixodbc libcurl3
     42apt-get install mono-runtime libmono-winforms2.0-cil
     43apt-get install libmysqlclient15off
     44}}}
     45
     46Do some symlinking to get around CentOS 5.4 and Ubuntu 9.10 differences
     47{{{
     48ln -s /lib/libcrypto.so.0.9.8 /lib/libcrypto.so.6
     49ln -s /lib/libssl.so.0.9.8 /lib/libssl.so.6
     50ln -s /lib/libexpat.so.1.5.2 /lib/libexpat.so.0
     51ln -s /usr/lib/libldap-2.4.so.2 /usr/lib/libldap-2.3.so.0
     52ln -s /usr/lib/liblber-2.4.so.2 /usr/lib/liblber-2.3.so.0
     53}}}
     54
     55For King Oracle provider, download 11.2 instant client from Oracle at
     56http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html and ensure that the Oracle shared libraries are added to the library path.
     57
     58Copy and extract the FDO and !MapGuide binary tarballs created above to Ubuntu.
     59
     60=== Build Ubuntu Packages for FDO ===
     61{{{
     62svn export http://svn.osgeo.org/fdo/branches/3.5/install install35
     63cd install35
     64./dpkgall.sh i386 FDOVERSION
     65}}}
     66Where 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.
     67
     68=== Build Ubuntu Packages for !MapGuide ===
     69{{{
     70svn export http://svn.osgeo.org/mapguide/trunk/Installer/scripts scripts
     71cd scripts
     72./dpkgmapguide.sh i386 MGVERSION
     73}}}
     74Where 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.
     75
     76Finally, post the entire set of .deb packages and update mginstallubuntu.sh to point at the new binaries.