Currently the mac app build process links against /usr/lib/libicucore.dylib (which hits the .dat files in /usr/share/icu/). The reason for this is that 1) it saves ~15-20 MB of space that would otherwise be needed if ICU was bundled in the app, and 2) libicucore works perfectly for mapnik while past efforts by @springmeyer at compiling ICU 64bit on 10.6 have lead to a variety of broken unicode features in mapnik.
However, we should avoid usage of libicucore.dylib if possible because technically apple does not provide headers for this library meaning it is a private api and should not be used.
So, steps ahead are:
turns out that it is not the 64bit build of ICU that is troublesome, but rather universal. After much deducing I've got a testcase that fails (as the icu::Collator breaks) simply by passing two archflags: https://gist.github.com/1474002.
So, the easiest solution here is to drop 32bit support: #918
set ICU_DATA, PROJ_LIB, and GDAL_DATA on the fly in the os x app in a…
…nticipation of bundling this data for the 0.9.1 release - closes #560 and closes #561