[Ubuntu] Inclusion of OSGeo MapGuide and FDO projects on UbuntuGIS

Trevor Wekel trevor_wekel at otxsystems.com
Tue Apr 6 06:47:31 EDT 2010


Hi Johan,

Ok.  It's a little complicated right now.  I can fill in some additional details if you need more information.  Let me start with GCC support.

GCC version
-----------
MapGuide currently compiles against GCC 4.1.  We maintain specific versions of third party libraries like Berkeley DB XML, Xerces, Xalan, AGG, and Geos in our source tree to maintain application integrity.  Many of these libraries are out of date (circa 2008) and will require updating before moving to GCC 4.3 or GCC 4.4.

A couple of months ago, I installed GCC 4.1 on Ubuntu 9.10 to perform compilation by exporting the CC,CXX definitions as gcc4.1, g++4.1, etc.  As it turns out, some of the third party build scripts hard code CC and CXX to gcc.  This put a quick stop to my GCC 4.1 on Ubuntu attempt.

As precursor to a native build on GCC 4.3 or 4.4, we will have to update most of the third party libraries.  This may happen for the next release.

Since native build on Debian or Ubuntu is problematic, I have been forced to build on CentOS 5.4 and copy the binaries to Ubuntu 9.10 to perform packaging.  It's a bit ugly.

/usr/local
----------
We currently install our own subtrees under /usr/local/fdo-3.5.0 and /usr/local/mapguideopensource-2.2.0.  Lintian complains about this because packaged software is not supposed to reside under /usr/local.  Bringing MapGuide and FDO into compliance with the Linux Filesystem Hierarchy Standard will be a lot of work.  We have to split up the configuration scripts, log files, Berkeley Databases, and binaries to /etc, /var/log, /var/???, /usr/bin.  This will require changes to the install procedure and probably application logic.

  
Compile as root
---------------
Some of our third party build scripts wrap the "build" and "install" processes together.  Since we are installing to /usr/local, compilation is typically done as root.  It should be possible to fix some of these scripts to allow for user-level "build".  It is just additional work.


Regards,
Trevor


-----Original Message-----
From: Johan Van de Wauw [mailto:johan.vandewauw at gmail.com] 
Sent: April 6, 2010 4:01 AM
To: Trevor Wekel
Cc: Cameron Shorter; ubuntu at lists.osgeo.org
Subject: Re: [Ubuntu] Inclusion of OSGeo MapGuide and FDO projects on UbuntuGIS

Please share the procedure for building the packages in more detail. I
think many of your problems can be solved.

* gcc 4.4: which version of gcc is required to build? It is possible
to make a package which build-depends on gcc 4.3. That package is
available in debian (and thus ubuntu).

* It seems that mapguide is using automake and autoconf. Getting the
/usr/local right should be very easy. In fact it will be done
automagically when you would use dh_make to generate an initial rules
file.

* root privilege - it seems you are doing strange stuff here. Should
not be needed.

Anyway, most gis packages are complex and not easy to build/package -
mapguide will be no exception- so don't be afraid to ask for help.

Johan

On Tue, Apr 6, 2010 at 1:36 AM, Trevor Wekel
<trevor_wekel at otxsystems.com> wrote:
>
> Hi Cameron,
>
> I took a quick look at the Debian New Maintainers Guide. http://www.debian.org/doc/maint-guide/
>
> There are a couple of areas which concern me:
>
> 1.  http://www.debian.org/doc/debian-policy/ch-source.html#s-debianrules
>
> The rules file is basically a make file that will generate all the binaries from a source tree.  From what I can tell, this is a required file.  It will take a fair bit of work to implement cleanly.  In addition, there are portions of the MapGuide and FDO build procedures which do not currently support the following requirement:
>
> "The build-arch and build-indep targets must not do anything that might require root privilege."
>
> As a further complication to the "build from source" requirement, MapGuide does not compile with GCC 4.4 so current Ubuntu and Debian distributions will fail to compile the MapGuide source tree.  It will take time and effort to make MapGuide GCC 4.4 compliant.
>
>
> 2. http://www.debian.org/doc/maint-guide/ch-checkit.en.html#s-lintians
>
> The .deb packages I have generated contain a large number of lintian packaging errors.  Most of these errors are due to the fact that both MapGuide and FDO install to /usr/local/.  Additional errors are due to the non-native Ubuntu compilation process I have gone through to get binaries on Ubuntu (ie. compile on CentOS 5, tarball the binaries, and then package on Ubuntu).
>
>
> I am under the assumption that both of these items will have to be addressed before MapGuide and FDO are considered Debian compliant packages.  These issues will not be addressed for the upcoming releases of MapGuide and FDO.  I expect resolution of these issues will entail months of work for the MapGuide and FDO projects.  This work may be undertaken in future releases of MapGuide and FDO.
>
> If these items preclude inclusion of MapGuide and FDO on DebianGIS and/or UbuntuGIS, please let me know.  The packaging is certainly not "clean" as it stands now.
>
> Regards,
> Trevor
>
>
>>Trevor,
>>I suspect that you may find it more beneficial to initially target
>>debiangis, as packages from debiangis get rolled into ubuntugis (but not
>>the other way around).
>>
>>I'm hoping Hamish (CC) will be able to explain the pros and cons of
>>debiangis vs ubuntugis better than me.
>
>
>
> _______________________________________________
> Ubuntu mailing list
> Ubuntu at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/ubuntu
>
>
> _______________________________________________
> Ubuntu mailing list
> Ubuntu at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/ubuntu
>
>




More information about the Ubuntu mailing list