apple silicon (m1/m2/m3)でRCLL

まずは,rcll-refbox の動作.
Dockerfileを使います.
ただ,このままだとarmになってしまいfedora-39-aarch64を要求するので,amd64(x86_64)へ変更.

wataru@MacBook-Air-2 rcll-refbox % grep x86 Dockerfile -n
11:FROM --platform=linux/x86_64 fedora:39 as builder
62:FROM --platform=linux/x86_64 fedora:39 as refbox

上記2カ所(11行目と62行目)のFROM に「–platform=linux/x86_64」を追記します.

docker build . -t rcll-refbox

待ちます ( ´・ω・`)_且~~
エラー出た….

26.52          --- Compiling machine_factory.cpp (C++)
26.71 In file included from /buildenv/src/libs/mps_comm/machine_factory.h:23,
26.71                  from /buildenv/src/libs/mps_comm/machine_factory.cpp:21:
26.71 /buildenv/src/libs/mps_comm/machine.h:23:10: fatal error: msgs/MachineDescription.pb.h: No such file or directory
26.71    23 | #include <msgs/MachineDescription.pb.h>
26.71       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

とりあえず,rcll-get-startedのDocker を動かし,refbox の中で再度gitでrcll-refboxをとってきて,中身を確認してみたら

sh-5.2# ls /logs/rcll-refbox/src/msgs/rcll-protobuf-msgs/
sh-5.2# 

空っぽなり.
ここ,rcll-protobuf-msgsを持ってくるはず.

rm -rf /logs/rcll-refbox/src/msgs/rcll-protobuf-msgs/
cd /logs/rcll-refbox/src/msgs/
git clone https://github.com/robocup-logistics/rcll-protobuf-msgs/
make

これでいけるはず.
Dockerfile としては,

...
FROM builder as buildenv
COPY . /buildenv/
SHELL ["/usr/bin/bash", "-c"]
WORKDIR /buildenv
RUN rm -rf /buildenv/src/msgs/rcll-protobuf-msgs
RUN cd /buildenv/src/msgs && git clone https://github.com/robocup-logistics/rcll-protobuf-msgs
RUN cd /buildenv
...

となりますね.
gitで聞いたらTarikから

git submodule update --init

という形で実行するか,clone するときに,「–recurse-submodules」オプションをつけたら良いよって返事をもらいました.
なるほど.納得.
ビルドは以下で,rcll-refbox-docker ってタグにしました.

docker build . -t rcll-refbox-docker

実行は以下です.

docker run -p 4441-4447:4441-4447 -p 1234:1234 -p 8088:8088 -t rcll-refbox-docker

コメントを残す

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

*