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
  • エラー: /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を削除で対応.
  • ROS 周りの警告
    –> 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/
    • エラー: /home/ryukoku/lab/btr2019/gazebo-rcll/plugins/src/plugins/gyro/gyro.cpp:58:49: error: ?std::__cxx11::string gazebo::physics::World::GetName() const? is deprecated [-Werror=deprecated-declarations]
      • 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
    

    コメントを残す

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

    *