Ubuntu 12.04 でProject-OSRMの最新 (4.1) バージョンをビルドしようとしていますが、Boost に関連するエラーがあります。
OSRM の古いバージョン (3.9) は、パッケージとして入手可能な Boost のバージョン (1.48) に依存していましたが、新しいバージョンには Boost >= 1.49 のバージョンが必要です。
そのため、 Boost 1_55_0 をソースからインストールし、この場所/usr/include/boost_1_55_0
に設定しました。BOOST_ROOT
Project-OSRM を作成すると、次のエラーが表示されます。
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
とlibicui18n.so.48
が欠けているように見えますが、実際には に存在し/usr/lib
ます。
ここに私の質問があります:
- どうやっ
libicuuc.so.48
てlibicui18n.so.48
入ったの/usr/lib
?それらは標準のUbuntuセットアップの一部ですか? - これは彼らの適切な場所ですか?はいの場合、なぜ「見つからない」のですか?
- そうでない場合、それらを見つけるにはどこにいる必要がありますか??
- グーグルで調べた後、設定
LD_DEBUG
しましfiles
たが、その出力はあまり役に立ちません。でも、ここで生産できます。