I'm trying to build the most recent (4.1) version of Project-OSRM on Ubuntu 12.04, and have errors associated with Boost.
The older version of OSRM (3.9) relied on the version of Boost that is available as a package (1.48) but the new version needs a version of Boost >= 1.49.
So I installed Boost 1_55_0 from source to /usr/include/boost_1_55_0
and set BOOST_ROOT
to this location.
When making Project-OSRM I get the following error:
Linking CXX executable osrm-datastore
/usr/bin/ld: warning: libicuuc.so.48, needed by /usr/include/boost_1_55_0/stage/lib/libboost_regex.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libicui18n.so.48, needed by /usr/include/boost_1_55_0/stage/lib/libboost_regex.so, not found (try using -rpath or -rpath-link)
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `u_isspace_48'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `u_isblank_48'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `icu_48::Locale::~Locale()'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `u_tolower_48'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `icu_48::Locale::Locale()'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `u_digit_48'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `u_charFromName_48'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `icu_48::Locale::Locale(icu_48::Locale const&)'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `icu_48::Collator::createInstance(icu_48::Locale const&, UErrorCode&)'
/usr/include/boost_1_55_0/stage/lib/libboost_regex.so: undefined reference to `u_charType_48'
collect2: error: ld returned 1 exit status
make[2]: *** [osrm-datastore] Error 1
make[1]: *** [CMakeFiles/osrm-datastore.dir/all] Error 2
make: *** [all] Error 2
libicuuc.so.48
and libicui18n.so.48
would appear to be missing, but they are in fact present in /usr/lib
.
Here are my questions:
- How did
libicuuc.so.48
andlibicui18n.so.48
get into/usr/lib
? Are they part of the standard Ubuntu setup? - Is this their proper location? and if yes, why are they "not found"?
- If not, where should they be in order to be found??
- After some googling I set
LD_DEBUG
tofiles
but its output doesn't help me much; I can produce it here however.