artemp/trac2github — Issue #506: Unicode undefined symbol errors on osx when linking to libicucore.dylib
Author: artemp
Created: 2011-10-09 20:38:01+00:00
State: open
Labels: Core_Library

On both 10.5 and 10.6 when linking against /usr/lib/libicucore.dylib:

{{{

g++ -o bindings/python/mapnik_feature.os -c -DHAVE_LIBXML2 -DHAVE_CAIRO -DU_HIDE_DRAFT_API -DUDISABLE_RENAMING -ansi -Wall -ftemplate-depth-200 -DDARWIN -DBOOST_SPIRIT_THREADSAFE -DMAPNIK_THREADSAFE -DSVN_REVISION=1598 -O2 -finline-functions -Wno-inline -DNDEBUG -DSHAPE_MEMORY_MAPPED_FILE -fPIC -DNone -I/System/Library/Frameworks/Python.framework/Versions/2.5/include/python2.5 -Iagg/include -Iinclude -I. -I/usr/include -I/opt/local/include -I/Library/Frameworks/PROJ.framework/unix/include -I/usr/local/include -I/opt/local/include/freetype2 -I/opt/local/include -I/opt/local/include/libxml2 -I/opt/local/include/cairomm-1.0 -I/opt/local/lib/cairomm-1.0/include -I/opt/local/include/cairo -I/opt/local/include/sigc++-2.0 -I/opt/local/lib/sigc++-2.0/include -I/opt/local/include/pixman-1 -I/opt/local/include/libpng12 -I/Library/Frameworks/GDAL.framework/Versions/1.6/Headers -I/usr/local/pgsql/include bindings/python/mapnik_feature.cpp

[...snip...]

g++ -o bindings/python/_mapnik.so -F/System/Library/Frameworks -framework Python -Z -bundle bindings/python/mapnik_color.os bindings/python/mapnik_coord.os bindings/python/mapnik_datasource.os bindings/python/mapnik_datasource_cache.os bindings/python/mapnik_envelope.os bindings/python/mapnik_expression.os bindings/python/mapnik_feature.os bindings/python/mapnik_featureset.os bindings/python/mapnik_font_engine.os bindings/python/mapnik_geometry.os bindings/python/mapnik_image.os bindings/python/mapnik_image_view.os bindings/python/mapnik_layer.os bindings/python/mapnik_line_pattern_symbolizer.os bindings/python/mapnik_line_symbolizer.os bindings/python/mapnik_map.os bindings/python/mapnik_parameters.os bindings/python/mapnik_point_symbolizer.os bindings/python/mapnik_polygon_pattern_symbolizer.os bindings/python/mapnik_polygon_symbolizer.os bindings/python/mapnik_proj_transform.os bindings/python/mapnik_projection.os bindings/python/mapnik_python.os bindings/python/mapnik_query.os bindings/python/mapnik_raster_symbolizer.os bindings/python/mapnik_rule.os bindings/python/mapnik_shield_symbolizer.os bindings/python/mapnik_stroke.os bindings/python/mapnik_style.os bindings/python/mapnik_symbolizer.os bindings/python/mapnik_text_symbolizer.os bindings/python/mapnik_view_transform.os bindings/python/python_cairo.os -Lagg -Lsrc -L/usr/lib -L/opt/local/lib -L/Library/Frameworks/PROJ.framework/unix/lib -L/usr/local/lib -L/Library/Frameworks/GDAL.framework/Versions/1.6/unix/lib -L/usr/local/pgsql/lib -lmapnik -lpng -ljpeg -lboost_python -licucore -lboost_regex -lboost_thread -lcairomm-1.0 -lcairo
Undefined symbols:
"typeinfo for icu::UnicodeString", referenced from:
__ZTIN3icu13UnicodeStringE$non_lazy_ptr in mapnik_feature.os
ld: symbol(s) not found
collect2: ld returned 1 exit status
scons: *** [bindings/python/_mapnik.so] Error 1
scons: building terminated because of errors.
}}}