Fedora 26-29 におけるFawkes
最新版のFedora にFawkes をインストールしようとすると,いくつかのエラーがでます.
その対処療法日記です.
- エラー:/home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/libs/utils/ipc/shm.cpp:381:29: error: argument 1 null where non-null expected [-Werror=nonnull]
- gcc のオプションに -Wno-nonnull を追加しましょう.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/libs/interface/interface.cpp:546:1: error: ‘snprintf’ output may be truncated before the last format character [-Werror=format-truncation=]
- gcc のオプションに -Wno-format-truncation を追加しましょう.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/plugins/ros/pcl_thread.h:47:10: fatal error: pcl_conversions/pcl_conversions.h: No such file or directory
- pclのパッケージを追加しましょう.
- エラー: gcc: error: /usr/lib64/libtinyxml2.so: No such file or directory
- ROS on Fedora の手順が必要な感じがします.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/plugins/colli/utils/rob/roboshape_colli.h:53:49: error: dynamic exception specifications are deprecated in C++11 [-Werror=deprecated]
- gcc のオプションに -Wno-deprecated を追加しましょう.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/motor.cpp:58:49: error: ‘std::__cxx11::string gazebo::physics::World::GetName() const’ is deprecated [-Werror=deprecated-declarations]
- gcc のオプションに -Wno-deprecated-declarations を追加しましょう.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/tools/vision/fuse_viewer/fuse_viewer_gui.cpp:156:56: error: enum constant in boolean context [-Werror=int-in-bool-context]
- gcc のオプションに -Wno-int-in-bool-context を追加しましょう.
- エラー: 412:10: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 48 equals destination size [-Werror=stringop-truncation]
- gcc のオプションに -Wno-stringop-truncation を追加しましょう.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/libs/config/netconf.cpp:816:10: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound depends on the length of the source argument [-Werror=stringop-overflow=]
- gcc のオプションに -Wno-stringop-overflow を追加しましょう.
- エラー: /usr/include/gtk-2.0/gtk/gtkfilechooserbutton.h:59:8: error: unnecessary parentheses in declaration of ‘__gtk_reserved1’ [-Werror=parentheses]
- gcc のオプションに -Wno-parenthesesを追加しましょう.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/plugins/gazebo/gazsim-robotino/gazebo-plugin-motor/motor.cpp:58:49: error: ‘std::__cxx11::string gazebo::physics::World::GetName() const’ is deprecated [-Werror=deprecated-declarations]
- gcc のオプションに -Wno-deprecated-declarationsを追加しましょう.
- エラー: /home/ryukoku/lab/btr2019/fawkes-robotino/src/plugins/machine-signal/pipeline_thread.cpp:736:87: error: call of overloaded ?abs(unsigned int)? is ambiguous
float h = std::abs((s.green_roi->start.y + s.green_roi->height) – s.red_roi->start.y); - machine-signal でのエラーですので,もう,削除しちゃいましょう.Makefile からmachine-signalを削除で対応.
–> Omitting ROS skiller plugin (ROS package fawkes_msgs not found)
–> Omitting ROS Position 3D Plugin (ROS package fawkes_msgs not found)
–> Omitting ROS Webview Plugin (ROS package fawkes_msgs not found)
–> Omitting ROS navigator and move_base plugins (ROS package move_base_msgs not found)
実際の作業: fawkes-robotino/etc/buildsys/config.mk
# Globally enable optimization for the Robotino platform CFLAGS_EXTRA += -g -Wall -Wno-nonnull -Wno-format-truncation -Wno-deprecated -Wno-stringop-truncation -Wno-stringop-overflow -Wno-parentheses -Wno-deprecated-declarations -Werror -O3
fawkes-robotino/src/plugins/Makefile からmachine-signal の削除.
SUBDIRS = clips-motor-switch \ voltagelogger \ machine-signal \ ax12_gripper \ arduino \
sudo -E dnf install ros-kinetic-pcl_conversions tinyxml2-devel
さて,/home/ryukoku/lab/btr2019/fawkes-robotino/fawkes/src/libs/navgraph/navgraph.cpp:251:20: error: ‘HUGE’ was not declared in this scope ってエラーが出ました.
Fedora 26 だと、出ないっぽい?
Fedora 27でもHUGE エラーが出ませんでしたので,とりあえずFedora 27 で進めることにします.
ついでに,gazebo-rcll のエラー
- エラー: /home/ryukoku/lab/btr2019/gazebo-rcll/plugins/src/libs/protobuf_comm/crypto.cpp:
118:18: error: aggregate ?EVP_CIPHER_CTX ctx? has incomplete type and cannot be
defined - protobuf_comm でのエラーですが,refbox はエラー出ずに通っていますので,強引ながらrefbox 側の同一ファイルをコピーすることで回避
cp ~/llsf-refbox/src/libs/protobuf_comm/crypto.* ~/gazebo-rcll/plugins/src/libs/protobuf_comm/
- fawkes のエラーと同じですね.gcc のオプションに-Wno-=deprecated-declarations を追加しましょう.
実際の作業: gazebo-rcll/plugins/etc/buildsys/btypes/config_fawkes.mk
# Add -DDEBUG_THREADING if you run into threading problems like deadlocks. # Read FawkesDebugging in the Fawkes Trac Wiki on how to use it CFLAGS_EXTRA ?= -g -Wall -Wno-deprecated-declarations -Werror $(CFLAGS_MTUNE_NATIVE) -O3
コメントを残す