New GRASS binaries

New GRASS binaries! 6.1 CVS. Universal for PPC and Intel. Aqua-fied, so there is no need for X11, even for NVIZ! There is a Tcl/Tk Aqua/Universal download on the GRASS page also. This is experimental and I’m providing it for testing purposes, so there may be (probably are) problems. One is that NVIZ works on PPC but crashes on Intel, at least on my MacBook (non-Pro).

I will try to update this from the weekly snapshots, or whenever I can fix Mac problems.

GIS Libs update

The GDAL JasPer (JPEG2000) driver has been changed to be a plugin. And a ‘disabled’ folder was added for GDAL plugins. While the driver used for writing images is controllable in GDAL programs, reading is not and GDAL uses the first driver it finds. This ‘disabled’ folder allows some control over which driver is used for reading JP2 images in GDAL (JasPer, MrSID or Kakadu).

And speaking of reading JP2 images, there seems to be a bug with the JasPer driver for reading JP2 (writing has no such problems) – it’s excrutiatingly slow. But the MrSID driver reads JP2, slower than JasPer would normally, but faster than it is now. Use the ‘disabled’ folder to disable JasPer temporarily to force a different driver – MrSID, or Kakadu (none available from me at this time) if one has the Kakadu libraries available to them.

MrSID now Tiger/Universal

Finally, the MrSID DSDK (decoding) is Tiger compatible and universal! I’ve made it available as a plugin for GDAL (for GIS Libs). They still haven’t followed ERMapper and made the DSDK explicitly open-source compatible, so it’s available as a separate download. Find it on the GIS Libs download page.

libtiff overviews fix

Right after the Graphics Libs 3.1, a serious problem with libtiff was fixed. So here’s Graphics Libs 3.1.1. Basically, generating overviews (gdaladdo) was nearly impossible – strip and block errors and crashes. It’s a couple different problems. The StripByteCounts errors and most block errors are fixed.

Another problem (the crashes) is with LZW compressed TIFFs, this isn’t fixed yet. There is a workaround: run gdaladdo on an uncompressed copy, then recompress that with geotifcp (not gdal_translate!), now all the overviews are compressed.

Installer updates followup

Graphics Libs: Sqlite updated to 3.3.6. ImageMagick updated to 6.2.8-0. GIS Libs: GEOS updated to 2.2.2. NetCDF now dynamic. Postgres: Postgres updated to 8.1.4. PlPerl now universal. MapServer: removed troublesome Oracle support, which fixes non-working Python MapScript.

In all packages I’ve cleaned up some build issues that should help developers. They’ve also been rebuilt from scratch with a single-build process (except Postgres), instead of separate builds merged together. This shouldn’t affect their usability, but most libraries and programs did grow about 1% in size.

New – QGIS Universal

I was getting a little impatient for QGIS 0.8, and decided to build from SVN. Universal binary for both PPC and Intel Macs. Definitely works on Tiger, but I haven’t tried Panther yet – depends on Qt and QGIS, since my other packages should work on Panther.

GRASS reading support is provided by GIS Libs. GRASS editing requires a full GRASS install, but I haven’t gotten that far yet, so don’t ask me what to do. Eventually I’ll probably make my own GRASS installer and make sure it works with QGIS. It may be a simple thing and you could use any GRASS installation.

I’ve been working on streamlining the build process on my MacBook, and I have a fix for the non-working Python MapScript, plus some minor package updates, I just got distracted by QGIS. Look for more soon.

Site Updates

Ah, that’s better. I’ve been meaning to do something about the font sizes on the site. Then my new MacBook, with it’s denser screen (same number of pixels wide as my old PowerBook 15″) made the text microscopic. Of course, not setting a larger minimum text size in Safari, like I did on my PB, didn’t help. But it gave me an idea what others that use defaults might be seeing. Curse the web designers (if they can be called that) that want to cram as much as possible on a screen!

A few things to tidy up yet, but the site is usable. Time for bed.

New Mac, new problem

Well, I’m settling into my new MacBook. Nice computer.

Normally I’ve had great success cloning the system to new Macs or simply exchanging the old HD. I couldn’t really do that with the different processor, and I wanted to separate my work and home computer life more. So, I started from scratch, used a different username, set prefs from scratch and played with other options I had ignored or didn’t know had been introduced in the OS.

I took the chance, before installing Xcode, to install all my packages as distributed. Everything seems to be in working order. But I discovered a problem that’s been around since day 1 – when the installer creates the postgres user in the system, it doesn’t set a password. This was intentional – no password = no login for that user. But I missed a small technicality: no password = no password needed to login for that user, * means no login possible. You will notice this if you have your Mac login options set to show a list of users at the login screen, you will see postgres as a choice.

I fixed this in an update, now available. But it’s easily fixed with NetInfo Manager. Open NetInfo Manager and unlock the default domain (the window that opens by default). Select users, then postgres from the lists. Edit the passwd property and change it to * (just a single asterisk). Save and quit.

small problem

It appears that the PHP configure assumed that it should link libltdl for mcrypt support. libltdl is installed with Xcode and is not a part of a normal Mac OS X system. So, PHP wouldn’t run, unless you happen to have Xcode installed.

The updated PHP4-4.4.2-4 package should fix this problem.

====== BIG UPDATE! ======

All Installers updated. Much to say, so read on…


OK, the big one – Panther compatibility. That is, a single binary works on both Panther and Tiger, and PPC and Intel for Tiger. Though it may be easy for Mac OS X applications, it’s really kinda tricky for UNIX software – a few functions available in libSystem in Tiger are not in Panther, and a few library versions in Tiger are incompatible or missing in Panther. I had to force those cases to use Panther-compatible versions or add a couple libraries to the base libraries.

These are all built on Tiger, with GCC 4, so they will not be usable for developers stuck in – er, who choose – Panther. But Puneet Kishor will be maintaining the Panther-only packages, so Panther developers will not be left in the cold.

Well, besides Panther compatibility, there are many more changes:

A general change for all installers: C++ wrappers have been removed. For C libraries that have C++ wrapper libraries, those C++ wrappers were left out. C++ is hard on binary compatibility, so if a C interface is available, I’d rather have other software to use that. This includes ImageMagick and TIFF in Graphics Libs.

All new installers won’t work with the old packages. You must update everything.

For developers, the installers clean out old libraries (I like to keep things tidy) – you may need to rebuild software that uses libraries from these packages.

Base Libs (a part of the Graphics Libs installer):

  • Mcrypt 2.5.7 added.
  • Mhash 0.9.6 added.
  • cURL 7.15.3 added.
  • Sqlite 3.3.5 added.

Graphics Libs:

  • LCMS 1.15 added.
  • PNG updated to 1.2.10.
  • ImageMagick updated to 6.2.7-6.
  • FreeType updated to 2.2.1.
  • GD patched to fix nasty bounds check bug for anti-aliased lines.
  • A little comment on the [un]usability of ImageMagick on LARGE image files.

GIS Libs:

  • PROJ updated to 4.5.0.
  • DAP/DODS 3.6.2 added.
  • HDF5 is now universal PPC/Intel.
  • Python support updated for Python 2.4.3 Universal.
  • Oracle support as plugin. So developers won’t have linking problems if OCI not installed.
  • GDAL updated to 1.3.2.
  • ncdump and ncgen tools installed from HDF4 now, instead of NetCDF.

Postgres + PostGIS:

  • PostGIS updated to 1.1.2
  • PL/Python updated for Python 2.4.3 Universal
  • Note added for minor updates to PostGIS databases.

PHP4:

  • MySQL support updated to 5.1.
  • Mhash and Mcrypt support added.
  • Sqlite3 support added.

MapServer: Python MapScript added. For Python 2.4.3 Universal, of course.

Well, good stuff there. There’s more yet to come! PHP 5.1. For MapServer, Perl MapScript and PHP5 MapScript. Possibly a mod_python module for Apache. And, of course, a comparable update to the Panther-only packages. Also, a more detailed note for developers and others who want to use my packages for building other software. Some build instruction updates.

And an Intel MacBook is in the mail! I’ll be able to seriously test the Intel side of things. I’ve had a few positive reports for my packages on Intel Macs, but it will be good to not rely on random feedback.

Speaking of feedback. Please do. It’s encouraging. Suggestions are welcome (Python and Perl MapScript, mhash, mcrypt are a few responses to requests). An update this big is asking for trouble also, so if you find problems be sure to let me know.