= MinGW = Find and install MinGW and MSYS. Start from http://www.mingw.org/ Install g++ but do not install MinGW make. = Perl = Perl is the base of all higher level tools in Geoinformatica. The following assumes Perl 5.10.0 The makefile.mk in win32/ is the build configuration. I'm adding -mms-bitfields to line 525. see [http://markmail.org/message/6zlo6cktiqa72eht this discussion] Also, I change INST_TOP to $(INST_DRV)\Geoinformatica The build is easy, in dos command prompt: {{{ dmake dmake install }}} Perl modules are always built in shell using dmake, which is available at CPAN as Perl itself. lib/ExtUtils/Liblist/Kid.pm needs to be patched with [wiki:KidPmDiff Kid.pm.diff] (works for EU::MM 6.52) to make it find import libraries that end with .dll.a = GTK+ = GTK+ I'm not building these myself. We'll need both ftp://ftp.gtk.org/pub/gtk/v2.10/win32/ and http://gladewin32.sourceforge.net since we need Gtk2::!GladeWin = Glib, Cairo, Pango, and Gtk2 modules = ExtUtils::Depends is one of the prerequisites of these. Currently it needs to be patched with a patch attached to [https://rt.cpan.org/Ticket/Display.html?id=45224 this bug report] Also pango.exports needs (1.220) {{{ gtk2perl_pango_attribute_register_custom_type gtk2perl_pango_attribute_get_type gtk2perl_pango_attr_iterator_get_type gtk2perl_pango_script_iter_get_type }}} and newSVPangoRectangle and !SvPangoRectangle need to be removed from Gtk2.exports (1.220). = Data access and geo libraries = These are built in MSYS. Most are used by GDAL. * pq to access data in PostgreSQL and PostGIS * it's possible to use the libpq from the Windows ports of these * expat, needed for curl * there's a good Windows port with devel support available in it's home page * curl, needed for WMS, WCS, WFS * GEOS for simple features methods * Proj4 for cartographic projections * the DLL needs to be made manually: {{{ cd src gcc -shared -o libproj.dll -Wl,--out-implib=libproj.dll.a \ -Wl,--export-all-symbols -Wl,--enable-auto-import -Wl,--whole-archive \ .libs/libproj.a -Wl,--no-whole-archive /c/mingw/lib/libmingw32.a }}} [http://postgis.refractions.net/pipermail/postgis-users/2004-June/004960.html See also this] * GDAL * GTK+ may cause problems because it contains libtiff, I move libtiff includes away and use the internal libtiff * $(GDAL_ROOT)/ needs to be removed from GNUmakefile * I've made a gdal.pc, which is used by Geo::Raster and Geo::Vector {{{ prefix=/usr/local exec_prefix=${prefix} libdir=${exec_prefix}/lib includedir=${prefix}/include Name: GDAL Description: Geospatial Data Abstraction Library Version: 1.7.0 Requires: libcurl xerces-c Libs: -L${exec_prefix}/lib -lgdal.dll -lgeos.dll -lgeos_c.dll -lexpat -lpq -ljpeg -lpng12 -lz Cflags: -I${prefix}/include }}} * libral * there's a MinGW specific Makefile, use it The DLL's may be bloated because of debug code, use strip --strip-debug x.dll to remove it. = Perl interface to GDAL = In CPAN there is Geo::GDAL, whose latest version is for the latest version of GDAL. It is in practice the same as the one distributed with the GDAL source code. I recommend that you always build the Geo::GDAL module separately from GDAL itself, after you have built and installed GDAL. In the GDAL source directory, while in MSYS, say (this requires swig): {{{ cd swig/perl rm *wrap* make generate }}} Then in dos command prompt {{{ perl Makefile.PL make make test make install }}} = Geo::Raster and Geo::Vector = These two modules are interdependent, so dmake install both before running dmake test in either (this is a bug that should be corrected). = Gtk2::Ex::Geo = In a case the image-base in Makefile had to be changed to the actual base, shown by the depends -tool.