Fawkes-robotino2019の確認

Fawkes-robotino 2019を試してみましょう.
まずは,Fedora 32 あたりでやってみましょうか.
Fawkes on Fedora Linux​ROS COPR for Fedoraに従って進めてみます.

sudo dnf update
sudo dnf install fawkes-devenv
sudo dnf install freeopcua-devel gecode-devel mongo-cxx-driver-devel rapidjson-devel # from Docker file.
sudo dnf install --nodocs rpm-build # from Docker file.

#
# ここからROSのインストール
#
sudo dnf copr enable thofmann/ros
sudo dnf install ros-desktop
echo "source /usr/lib64/ros/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo dnf install ros-desktop-devel

fawkes-robotino に関しては,Fedora 26-29 におけるFawkesの対処が必要そうです.
fawkes-robotino-2019/etc/buildsys/config.mk に,ファイルの最後のendif の直前辺りに以下を追加

ifeq ($(shell hostname),localhost)
  CFLAGS_EXTRA += -Werror=stringop-truncation
endif
#
# fawkes-robotino のコンパイル
#
# fawkes-robotino-2019/fawkes/src/libs/aspect/blocked_timing.cpp の143行目と158行目の例外処理にて
# std::out_of_range を使っていますが,「expected unqualified-id before ‘&’ token」のエラーが出るので,
# とりあえず,std::exception に修正して回避.
#
# [LIB] fawkes/src/libs/navgraph/generators/: lib/libfawkesnavgraphgenerators
# /usr/bin/ld: cannot find -lCGAL
# /usr/bin/ld: cannot find -lCGAL_Core
# collect2: error: ld returned 1 exit status
# CGALがない?
cd ~/Downloads
git clone https://github.com/CGAL/cgal
cd cgal
cmake .
# 違った
# https://stackoverflow.com/questions/45518317/in-source-builds-are-not-allowed-in-cmake
# こちらを参照
mkdir src
cd src
rm ../CMakeCache.txt 
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/home/ryukoku/Downloads/cgal/src
make
sudo make install
sudo ldconfig
# ここでいったん中断
# おそらくFedora23 がCGALのライブラリをうまく扱えていない模様.
sudo dnf install CGAL-qt5-devel

wget https://files.fawkesrobotics.org/releases/fawkes-robotino-2019.tar.gz
tar xvf fawkes-robotino-2019.tar.gz
cd fawkes-robotino-2019
make
cd 
home/ryukoku/fawkes-robotino-2019/fawkes/src/libs/utils/ipc/shm.cpp: In constructor ‘fawkes::SharedMemory::SharedMemory(const char*, bool, bool, bool, const char*)’:
/home/ryukoku/fawkes-robotino-2019/fawkes/src/libs/utils/ipc/shm.cpp:247:9: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 16 equals destination size [-Werror=stringop-truncation]
  247 |  strncpy(_magic_token, magic_token, MagicTokenSize);
      |  ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

おっと,エラーでますね.

コメントを残す

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

*