ros-ubuntu-desktop への対応

なんかubuntu mateに変わった模様.
それへの対応を行いましたが,Apple Silicon(arm)への対応としては以下が必要なので,そのメモ.
refbox の方を触ってみました。

robotino@60651291c983:~/rcll-refbox$ cat src/Makefile 
SUBDIRS = libs msgs # refbox shell tools

libs とmsgsのみを扱うようにしてみました.

robotino@4c6093ab9b4f:~/rcll-refbox$ cat src/libs/Makefile
SUBDIRS = core utils config netcomm protobuf_comm mps_comm# logging protobuf_clips \
	  # mongodb_log mps_comm mps_placing_clips  webview  rest-api websocket

ただし,libs/logging の中のllsf_log_msgs はmakeする必要があるみたい.
protobuf_comm 周りのライブラリのみを指定する形にしてみました.

robotino@4c6093ab9b4f:~/rcll-refbox$ cat etc/buildsys/boost.mk
BOOST_LIB_DIRS=/usr/lib64 /usr/lib /usr/lib32 \
	       /usr/local/lib64 /usr/local/lib \
	       /usr/lib/x86_64-linux-gnu \
	       /lib/aarch64-linux-gnu

boost のライブラリとして、armのディレクトリを追加しました。
これでmake したら,RefBox のmakeは通りました.

robotino@4c6093ab9b4f:~/catkin_ws$ cat src/ros-rcll_refbox_peer/CMakeLists.txt
  # list(APPEND Fawkes_LIBRARIES "/usr/lib/x86_64-linux-gnu/libprotobuf.so")
  list(APPEND Fawkes_LIBRARIES "/usr/lib/aarch64-linux-gnu/libprotobuf.so")

ros-rcll_refbox_peer の CMakeLists.txt にもarmのディレクトリに対応したlibprotobuf.so を追加しました.
あと,libllsf_msgs の名前をlibrcll_msgs に変更したので,

  # list(APPEND Fawkes_LIBRARIES "/home/robotino/rcll-refbox/lib/protobuf/libllsf_msgs.so")
  list(APPEND Fawkes_LIBRARIES "/home/robotino/rcll-refbox/lib/protobuf/librcll_msgs.so")

の変更をして下さい.
これで,ros_rcll_refbox_peer のcatkin_make が通りました.

面倒くさくなったので,上記のRefBox – Protobuff_comm の部分だけを抜き出しました.
https://github.com/wadaru/protobuf_comm
こいつをgit clone すれば,中にrcll-refobx があるので,ユーザーのホームディレクトリにリンクを張れば使えるようになるかと思います.

2024/06/25 追記

ros-rcll_refbox_peer の CMakeLists.txt にもarmのディレクトリに対応したlibprotobuf.so を追加しました.
これで,ros_rcll_refbox_peer のcatkin_make が通りました.

この部分ですが,llsf_msgs になっていたのをrcll_msgs へ変更する必要がありました(Timがros-rcll_refbox_peerを使った頃は,まだllsfだったんですね).
githubの方,更新しました.

2024/06/30 追記

/home/robotino/catkin_ws/src/robotino_node/include/ComROS.h:11:10: fatal error: rec/robotino/api2/Com.h: No such file or directory
   11 | #include "rec/robotino/api2/Com.h"

gazebo のプラグインを入れようとして,robotino_node を入れたところ,robotino-api が必要でした.
たぶん,これ,i386 しか提供されていなかったハズ….
あぁ,arm64 版でgazebo + robotino を使うのは,無理そうですね.とほほ.

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*