Closed kochigami closed 1 year ago
jsk_pepper_startup
でcompressed_image_transport
を使っており、そこでエラーが出ているので駄目そうでした。
何も考えず make install
してみたのですが、
start.sh
などのコピーが行えておらず、やはり駄目そうでした。
原因が自分のパソコンなのかもしれないため、他のパソコンでも試そうと思います。
バージョンが異なるカーネルの18.04のパソコン2台で同じエラーが出たため、 パソコン固有の問題というより単純にビルドが通っていないと分かりました。
compressed_image_transport
パッケージに変更があり、
https://github.com/ros-perception/image_transport_plugins/pull/60/files#diff-44b9930ea627e55f23a1aab698d94f4f56ff489dd2fb8bfa0e5a7d47d0e380afR21
で今年の1月にlibturbojpeg
のbuild dependが追加されたため、対応が必要
[#[36mcompressed_image_transport#[0m:#[34mcmake#[0m] #[0m#[36m--#[0m Checking for module 'libturbojpeg'
#[0m#[0m
[#[36mcompressed_image_transport#[0m:#[34mcmake#[0m] #[0m#[36m--#[0m No package 'libturbojpeg' found
そこで、https://github.com/jsk-ros-pkg/jsk_robot/pull/1583/commits/a8cdf39c130cf440857bd1cd91ffcc246633738b
を参考にして、
https://github.com/jsk-ros-pkg/jsk_robot/blob/master/jsk_naoqi_robot/cross/repos/ros1_dependencies.repos
と
https://github.com/jsk-ros-pkg/jsk_robot/tree/master/jsk_naoqi_robot/cross/ros1_dependencies_build_scripts
に
https://github.com/jsk-ros-pkg/jsk_robot/compare/master...kochigami:jsk_robot:add-libturbojpeg
のように追加
./prepare_requirements_ros1.sh
, ./build_ros1_dependencies.sh
を実行した所
i386_ws_ros1_dependencies_sources/src
以下にlibjpeg-turbo
ディレクトリが作られたが、これで合っているかは分からない・・・
https://github.com/jsk-ros-pkg/jsk_robot/issues/1769 が解決していないので make user
には進めていない
その他のパッケージについては、i386_build_ros1.log
を確認
ちょっとまだよく分からないが、
roseus_remote
: jsk_network_tools
についてCould not find a package configuration file
[#[36mroseus_remote#[0m:#[34mcmake#[0m] #[0m Could not find a package configuration file provided by "jsk_network_tools"
speak_and_wait_recovery
とupdate_move_base_parameter_recovery
: costmap_2d
についてCould not find a package configuration file
[#[36mspeak_and_wait_recovery#[0m:#[34mcmake#[0m] #[0m Add the installation prefix of "costmap_2d" to CMAKE_PREFIX_PATH or set
#[0m#[0m
[#[36mspeak_and_wait_recovery#[0m:#[34mcmake#[0m] #[0m "costmap_2d_DIR" to a directory containing one of the above files. If
#[0m#[0m
[#[36mspeak_and_wait_recovery#[0m:#[34mcmake#[0m] #[0m "costmap_2d" provides a separate development package or SDK, be sure it has
#[0m#[0m
[#[36mspeak_and_wait_recovery#[0m:#[34mcmake#[0m] #[0m been installed.
[#[36mupdate_move_base_parameter_recovery#[0m:#[34mcmake#[0m] #[0m Could not find a package configuration file provided by "costmap_2d" with
#[0m#[0m
[#[36mupdate_move_base_parameter_recovery#[0m:#[34mcmake#[0m] #[0m any of the following names:
#[0m#[0m
[#[36mupdate_move_base_parameter_recovery#[0m:#[34mcmake#[0m] #[0m
#[0m#[0m
[#[36mupdate_move_base_parameter_recovery#[0m:#[34mcmake#[0m] #[0m costmap_2dConfig.cmake
#[0m#[0m
[#[36mupdate_move_base_parameter_recovery#[0m:#[34mcmake#[0m] #[0m costmap_2d-config.cmake
#[0m#[0m
[#[36mupdate_move_base_parameter_recovery#[0m:#[34mcmake#[0m] #[0m
#[0m#[0m
[#[36mupdate_move_base_parameter_recovery#[0m:#[34mcmake#[0m] #[0m Add the installation prefix of "costmap_2d" to CMAKE_PREFIX_PATH or set
完璧な解決方法ではないが、とりあえずコンパイルを通すためのメモ
1.roseus_remote
, speak_and_wait_recovery
, update_move_base_parameter_recovery
のビルドエラー解決法
make user
でjsk_robot
以下のパッケージを取ってくるので、
make user
する前に
jsk_robot/jsk_robot_common/roseus_remote
jsk_robot/jsk_robot_common/speak_and_wait_recovery
jsk_robot/jsk_robot_common/update_move_base_parameter_recovery
にCATKIN_IGNORE
を追加
2.compressed_image_transportのビルドエラー解決法
1.9.6のものを取ってくるのでエラーになる
そこで、適当な場所(~/Downloads
など)で
git clone https://github.com/ros-perception/image_transport_plugins
git checkout -b 1.9.5 812093c
して、
image_transport_plugins/compressed_image_transport
の部分だけ
.../jsk_naoqi_robot/cross/i386_User/src/
以下の既存のディレクトリ(image_transport_plugins/compressed_image_transport
)に置き換え
本当は、どのタイミングでimage_transport_plugins/compressed_image_transport
がi386_User/src
に入るのか分かれば、もっと直せそう
@k-okada
Ubuntu 18.04.06, ROS Melodicのパソコンで、 https://github.com/jsk-ros-pkg/jsk_robot/tree/master/jsk_naoqi_robot/cross と、適宜 https://github.com/jsk-ros-pkg/jsk_robot/pull/1767/files を見ながら Pepperのクロスコンパイル環境の構築を行いました。
make system
,./install.sh -p <password> -d System
は特にエラーも無く完了したのですが、./build_user.sh build -c
(make user
の言い換えで、コンパイルエラーが出ても途中で止まらないようにしたもの) したときに、以下のエラーが出てしまいました。抜粋:
全文:i386_build_user.log
READMEには、known issueとして、
とあるのですが、 これはエラーが出てしまっても
make install
して大丈夫なのでしょうか・・・? (今までこのようなエラーが出たことが無く、この文章を気に留めていませんでした。) ご迷惑をお掛けし申し訳ないのですが、アドバイスを頂けるとありがたいです。