[OSM-dev] Mapnik Installation Problem

Dane Springmeyer blake at hailmail.net
Fri Jan 29 20:19:58 GMT 2010


It appears to me that you have compiled boost and icu from source, but  
libboost_regex (which is the only boost library that uses (optionally)  
ICU) is not linking correctly to icu. This is likely because you now  
have two ICU versions on your system.

The easiest solution would be to uninstall your source compiled boost  
and icu and stick with the apt-packaged boost and icu which works fine  
with Mapnik 0.7.0 on Ubuntu 9.04.

If you stick with your current route you need to make sure that the  
icu in /usr/local/lib is found before the icu in /usr/lib.

To do this try:

export LD_LIBRARY_PATH=/usr/local/lib

and apply this patch to the 'SConstruct' file in the mapnik sources:

Index: SConstruct
===================================================================
--- SConstruct  (revision 1588)
+++ SConstruct  (working copy)
@@ -1022,6 +1022,9 @@
  # autogenerate help on default/current SCons options
  Help(opts.GenerateHelpText(env))

+env.Prepend(CPPPATH = '/usr/local/include')
+env.Prepend(LIBPATH = '/usr/local/lib')
+
  #### Builds ####
  if not HELP_REQUESTED:
      # export env so it is available in Sconscript files



Dane


On Jan 29, 2010, at 10:24 AM, Martin Koppenhoefer wrote:

> I gave mapnik another installation attempt on my ubuntu9.04 . After
> some serious drawbacks now it seems I'm kind of stuck ;-)  Do you have
> any idea how I might be able to continue?
>
> scons doesn't configure and gives this output:
>
> mortn at dreyst2:~/OSM/src/mapnik$ python scons/scons.py configure
> ICU_LIBS=/usr/local/lib ICU_INCLUDES=/usr/local/include
> scons: Reading SConscript files ...
>
> Welcome to Mapnik...
>
> Configuring build environment...
> Configuring on Linux in *release mode*...
> Checking for freetype-config... yes
> Checking for xml2-config... yes
> Checking for pkg-config... yes
> Checking for cairomm-1.0... yes
> Checking for C library m... yes
> Checking for C library ltdl... yes
> Checking for C library png... yes
> Checking for C library tiff... yes
> Checking for C library z... yes
> Checking for C library jpeg... yes
> Checking for C library proj... yes
> Checking for C++ library icuuc... yes
> Searching for boost libs and headers... (cached)
>  *libs found: /usr/local/lib
>  *headers found: /usr/local/include
>  *no lib naming extension found
> Checking for Boost version >= 1.34... yes
> Found boost lib version... 1_42
> Checking for C++ library boost_system... yes
> Checking for C++ library boost_filesystem... yes
> Checking for C++ library boost_regex... no
> Could not find required header or shared library for boost regex
> Checking for C++ library boost_iostreams... yes
> Checking for C++ library boost_program_options... yes
> Checking for C++ library boost_thread... yes
> Checking for requested plugins dependencies...
> Checking for pg_config... yes
> Checking for C++ header file boost/python/detail/config.hpp... yes
> Checking for pkg-config... yes
> Checking for pycairo... yes
>
> Exiting... the following required dependencies were not found:
>   - boost regex (more info see:
> http://trac.mapnik.org/wiki/MapnikInstallation & http://www.boost.org)
>
> See the 'config.log' for details on possible problems.
>
> Set custom paths to these libraries and header files on the
> command-line or in a file called 'config.py'
>    ie. $ python scons/scons.py BOOST_INCLUDES=/usr/local/include/
> BOOST_LIBS=/usr/local/lib
>
> Once all required dependencies are found a local 'config.py' will be
> saved and then install:
>    $ sudo python scons/scons.py install
>
> To view available path variables:
>    $ python scons/scons.py --help or -h
>
> To view overall SCons help options:
>    $ python scons/scons.py --help-options or -H
>
> More info: http://trac.mapnik.org/wiki/MapnikInstallation
>
>
>
> ___________________________________________________________
>
> config.log has this part which might indicate the error:
>
> scons: Configure: Checking for C++ library boost_regex...
> .sconf_temp/conftest_16.cpp <-
>  |
>  |
>  |#include "boost/regex.hpp"
>  |
>  |int
>  |main() {
>  |
>  |return 0;
>  |}
>  |
> g++ -o .sconf_temp/conftest_16.o -c -DHAVE_LIBXML2 -DHAVE_CAIRO
> -D_REENTRANT -Iinclude -I. -I/usr/include -I/usr/local/include
> -I/usr/include/freetype2 -I/usr/include/libxml2
> -I/usr/include/cairomm-1.0 -I/usr/include/cairo
> -I/usr/include/pixman-1 -I/usr/include/directfb
> -I/usr/include/libpng12 .sconf_temp/conftest_16.cpp
> g++ -o .sconf_temp/conftest_16 .sconf_temp/conftest_16.o -Lsrc
> -L/usr/lib -L/usr/local/lib -lfreetype -lz -lxml2 -lcairomm-1.0
> -lcairo -lm -lltdl -lpng -ltiff -lz -ljpeg -lproj -licuuc
> -lboost_system -lboost_filesystem -lboost_regex
> /usr/local/lib/libboost_regex.so: undefined reference to
> `icu_4_2::Locale::Locale(icu_4_2::Locale const&)'
> /usr/local/lib/libboost_regex.so: undefined reference to  
> `u_tolower_4_2'
> /usr/local/lib/libboost_regex.so: undefined reference to `u_digit_4_2'
> /usr/local/lib/libboost_regex.so: undefined reference to  
> `u_isblank_4_2'
> /usr/local/lib/libboost_regex.so: undefined reference to  
> `u_charType_4_2'
> /usr/local/lib/libboost_regex.so: undefined reference to  
> `u_charFromName_4_2'
> /usr/local/lib/libboost_regex.so: undefined reference to
> `icu_4_2::Locale::Locale()'
> /usr/local/lib/libboost_regex.so: undefined reference to
> `icu_4_2::Locale::~Locale()'
> /usr/local/lib/libboost_regex.so: undefined reference to
> `icu_4_2::Collator::createInstance(icu_4_2::Locale const&,
> UErrorCode&)'
> /usr/local/lib/libboost_regex.so: undefined reference to  
> `u_isspace_4_2'
> collect2: ld gab 1 als Ende-Status zurück
> scons: Configure: no
>
>
> AFAIS there are no other errors in the config.log (the rest of the
> boost-libraries seem OK)
> ___________________________________________________________
>
> these are the parts of libicu in /usr/local/lib/
>
> mortn at dreyst2:/usr/local/lib$ ls libicu* -l
> lrwxrwxrwx 1 root root       18 2010-01-29 02:46 libicudata.so ->
> libicudata.so.42.1
> lrwxrwxrwx 1 root root       18 2010-01-29 02:46 libicudata.so.42 ->
> libicudata.so.42.1
> -rw-r--r-- 1 root root 16012076 2010-01-29 02:46 libicudata.so.42.1
> lrwxrwxrwx 1 root root       18 2010-01-29 02:46 libicui18n.so ->
> libicui18n.so.42.1
> lrwxrwxrwx 1 root root       18 2010-01-29 02:46 libicui18n.so.42 ->
> libicui18n.so.42.1
> -rwxr-xr-x 1 root root  2120498 2010-01-29 02:46 libicui18n.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicuio.so ->  
> libicuio.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicuio.so.42 ->
> libicuio.so.42.1
> -rwxr-xr-x 1 root root    53080 2010-01-29 02:46 libicuio.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicule.so ->  
> libicule.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicule.so.42 ->
> libicule.so.42.1
> -rwxr-xr-x 1 root root   279499 2010-01-29 02:46 libicule.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libiculx.so ->  
> libiculx.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libiculx.so.42 ->
> libiculx.so.42.1
> -rwxr-xr-x 1 root root    64769 2010-01-29 02:46 libiculx.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicutu.so ->  
> libicutu.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicutu.so.42 ->
> libicutu.so.42.1
> -rwxr-xr-x 1 root root   154202 2010-01-29 02:46 libicutu.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicuuc.so ->  
> libicuuc.so.42.1
> lrwxrwxrwx 1 root root       16 2010-01-29 02:46 libicuuc.so.42 ->
> libicuuc.so.42.1
> -rwxr-xr-x 1 root root  1517564 2010-01-29 02:46 libicuuc.so.42.1
>
>
> ___________________________________________________________
>
> any help is appreciated.
>
> cheers,
> Martin
>
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev





More information about the dev mailing list