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
コメントを残す