0

私は昨日からこれに取り組んでいます。Osrm緯度/経度の 2 つのポイント間のストリート ルーティング ルート案内を提供するルーティング ライブラリをインストールしようとしています。OSRM リポジトリのクローンを作成し、基本的なインストール手順を実行しました。

mkdir -p build
cd build
>>> cmake .. -DCMAKE_BUILD_TYPE=Release
cmake --build .
sudo cmake --build . --target install

実行するcmake ..と、これらのエラーが発生します

CMake Warning at /usr/local/share/cmake-3.6/Modules/FindBoost.cmake:743 (message):
  Imported targets not available for Boost version 106400
Call Stack (most recent call first):
  /usr/local/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES)
  /usr/local/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
  CMakeLists.txt:482 (find_package)

ライブラリはまだ問題なくコンパイルされます。しかし、Osrm ライブラリの最初の構成コマンドを実行しようとすると、次のエラーが発生します。

osrm-extract: /opt/copy-client/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by osrm-extract)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by osrm-extract)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by osrm-extract)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by osrm-extract)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/libboost_program_options.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/libboost_program_options.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/libboost_regex.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/libboost_regex.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/local/lib/libboost_filesystem.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/libboost_filesystem.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/libboost_iostreams.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/local/lib/libboost_system.so.1.64.0)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by /usr/lib/libstxxl.so.1)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/libstxxl.so.1)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/libstxxl.so.1)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by /usr/lib/x86_64-linux-gnu/libtbb.so.2)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicui18n.so.55)
osrm-extract: /opt/copy-client/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by /usr/lib/x86_64-linux-gnu/libicuuc.so.55)

それが問題です。現在、これらのエラーをグーグルで調べていますが、私の状況に関連する解決策はないようです。

まず、cmakeバージョン 3.6.2 をインストールしました。他の投稿では、cmake を 3.5 以降のバージョンにアップグレードすることが提案されています。

boost最新バージョンであるバージョン 1.64.0もインストールされています。cmake は、構成手順を実行するときにこのバージョンを見つけているようです。

最後にgccg++バージョン 5.4.1 も使用しています。他の投稿では gcc バージョン 4.9 へのアップグレードについて話していましたが、実際には私もそのバージョンの北にいます。

そこで、上記の構成手順でエラー メッセージを調べました。

(_Boost_COMPONENT_DEPENDENCIES)
      /usr/local/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES)
      CMakeLists.txt:482 (find_package)

私は482行目を掘り下げましたCMakeLists.txt。その行は言う

  find_package(Boost 1.54 REQUIRED COMPONENTS ${BOOST_COMPONENTS})

したがって、私が見ることができる唯一の考えは、Osrm パッケージがブースト 1.54 を探しているということです。私はバージョン1.64.0を持っているので、Cmakeは最新バージョンを受け入れるべきではありませんか? これらのコンポーネントが必要な理由がわからない?

誰にも提案はありますか?

4

0 に答える 0