iamlab-cmu / franka-interface

C++ Library for Interfacing with Libfranka and Frankapy
MIT License
60 stars 13 forks source link

when run bash ./bash_scripts/make_franka_interface.sh failed #24

Open ChangerC77 opened 3 months ago

ChangerC77 commented 3 months ago

my computer: ubuntu 20.04, noetic, libfranka 0.15.0, Realtime Kernel 5.9 I have successfully use FCI and Franka_ros to control FR3, but when I want to use python library franka-interface to control, it occurs error when I input

run bash ./bash_scripts/make_franka_interface.sh

, the bug output:

/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘void RobotStateMessage::clear_o_t_ee_c()’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3709:31: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3709 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |                               ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: In member function ‘void JointTorqueFeedbackControllerMessage::SharedCtor(google::protobuf::Arena*)’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1616:23: error: ‘internal_visibility’ was not declared in this scope
 1616 |   new (&_impl_) Impl_(internal_visibility(), arena);
      |                       ^~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3709:3: error: ‘PROTOBUF_TSAN_WRITE’ was not declared in this scope
 3709 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘void RobotStateMessage::add_o_t_ee_c(double)’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3721:31: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3721 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |                               ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: In member function ‘void JointTorqueFeedbackControllerMessage::SharedDtor()’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1624:3: error: ‘ABSL_DCHECK’ was not declared in this scope; did you mean ‘GOOGLE_DCHECK’?
 1624 |   ABSL_DCHECK(GetArena() == nullptr);
      |   ^~~~~~~~~~~
      |   GOOGLE_DCHECK
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: In member function ‘virtual void JointTorqueFeedbackControllerMessage::Clear()’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1630:31: error: ‘struct JointTorqueFeedbackControllerMessage::Impl_’ has no member named ‘_tsan_detect_race’
 1630 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |                               ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3721:3: error: ‘PROTOBUF_TSAN_WRITE’ was not declared in this scope
 3721 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: At global scope:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3726:5: error: expected initializer before ‘ABSL_ATTRIBUTE_LIFETIME_BOUND’
 3726 |     ABSL_ATTRIBUTE_LIFETIME_BOUND {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3731:5: error: expected initializer before ‘ABSL_ATTRIBUTE_LIFETIME_BOUND’
 3731 |     ABSL_ATTRIBUTE_LIFETIME_BOUND {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘const google::protobuf::RepeatedField<double>& RobotStateMessage::_internal_o_t_ee_c() const’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3738:30: error: ‘const struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3738 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |                              ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1630:3: error: ‘PROTOBUF_TSAN_WRITE’ was not declared in this scope
 1630 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3738:3: error: ‘PROTOBUF_TSAN_READ’ was not declared in this scope
 3738 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘google::protobuf::RepeatedField<double>* RobotStateMessage::_internal_mutable_o_t_ee_c()’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3742:30: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3742 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |                              ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: At global scope:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1705:1: error: could not convert ‘{0, 0, 5, 56, 184, 4294967264, 188, 5, 0, 248, (& _JointTorqueFeedbackControllerMessage_default_instance_.JointTorqueFeedbackControllerMessageDefaultTypeInternal::<anonymous>.JointTorqueFeedbackControllerMessageDefaultTypeInternal::<unnamed union>::_instance), google::protobuf::internal::TcParser::GenericFallback}’ from ‘<brace-enclosed initializer list>’ to ‘google::protobuf::internal::TcParseTableBase’
 1705 | };
      | ^
      | |
      | <brace-enclosed initializer list>
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3742:3: error: ‘PROTOBUF_TSAN_READ’ was not declared in this scope
 3742 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘void RobotStateMessage::clear_o_dp_ee_c()’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3754:31: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3754 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |                               ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: In static member function ‘static void JointTorqueFeedbackControllerMessage::MergeImpl(google::protobuf::Message&, const google::protobuf::Message&)’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1831:3: error: ‘ABSL_DCHECK_NE’ was not declared in this scope; did you mean ‘GOOGLE_DCHECK_NE’?
 1831 |   ABSL_DCHECK_NE(&from, _this);
      |   ^~~~~~~~~~~~~~
      |   GOOGLE_DCHECK_NE
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3754:3: error: ‘PROTOBUF_TSAN_WRITE’ was not declared in this scope
 3754 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: At global scope:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1857:113: error: expected ‘,’ or ‘...’ before ‘other’
 1857 | void JointTorqueFeedbackControllerMessage::InternalSwap(JointTorqueFeedbackControllerMessage* PROTOBUF_RESTRICT other) {
      |                                                                                                                 ^~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘void RobotStateMessage::add_o_dp_ee_c(double)’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3766:31: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3766 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |                               ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: In member function ‘void JointTorqueFeedbackControllerMessage::InternalSwap(JointTorqueFeedbackControllerMessage*)’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1859:37: error: ‘other’ was not declared in this scope
 1859 |   _internal_metadata_.InternalSwap(&other->_internal_metadata_);
      |                                     ^~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3766:3: error: ‘PROTOBUF_TSAN_WRITE’ was not declared in this scope
 3766 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: At global scope:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3771:5: error: expected initializer before ‘ABSL_ATTRIBUTE_LIFETIME_BOUND’
 3771 |     ABSL_ATTRIBUTE_LIFETIME_BOUND {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3776:5: error: expected initializer before ‘ABSL_ATTRIBUTE_LIFETIME_BOUND’
 3776 |     ABSL_ATTRIBUTE_LIFETIME_BOUND {
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘const google::protobuf::RepeatedField<double>& RobotStateMessage::_internal_o_dp_ee_c() const’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3783:30: error: ‘const struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3783 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |                              ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc: In member function ‘virtual google::protobuf::Metadata JointTorqueFeedbackControllerMessage::GetMetadata() const’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/feedback_controller_params_msg.pb.cc:1869:79: error: ‘descriptor_table_feedback_5fcontroller_5fparams_5fmsg_2eproto_once’ was not declared in this scope; did you mean ‘descriptor_table_feedback_5fcontroller_5fparams_5fmsg_2eproto_getter’?
 1869 |       &descriptor_table_feedback_5fcontroller_5fparams_5fmsg_2eproto_getter, &descriptor_table_feedback_5fcontroller_5fparams_5fmsg_2eproto_once,
      |                                                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                               descriptor_table_feedback_5fcontroller_5fparams_5fmsg_2eproto_getter
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3783:3: error: ‘PROTOBUF_TSAN_READ’ was not declared in this scope
 3783 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘google::protobuf::RepeatedField<double>* RobotStateMessage::_internal_mutable_o_dp_ee_c()’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3787:30: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3787 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |                              ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3787:3: error: ‘PROTOBUF_TSAN_READ’ was not declared in this scope
 3787 |   PROTOBUF_TSAN_READ(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘void RobotStateMessage::clear_o_ddp_ee_c()’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3799:31: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3799 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |                               ^~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3799:3: error: ‘PROTOBUF_TSAN_WRITE’ was not declared in this scope
 3799 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |   ^~~~~~~~~~~~~~~~~~~
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h: In member function ‘void RobotStateMessage::add_o_ddp_ee_c(double)’:
/home/robotics/Franka/franka-interface/build/franka-interface/proto/robot_state_msg.pb.h:3811:31: error: ‘struct RobotStateMessage::Impl_’ has no member named ‘_tsan_detect_race’
 3811 |   PROTOBUF_TSAN_WRITE(&_impl_._tsan_detect_race);
      |                               ^~~~~~~~~~~~~~~~~
^Cmake[2]: *** [franka-interface/proto/CMakeFiles/proto.dir/build.make:155: franka-interface/proto/CMakeFiles/proto.dir/trajectory_generator_params_msg.pb.cc.o] 中断
make[2]: *** [franka-interface/proto/CMakeFiles/proto.dir/build.make:116: franka-interface/proto/CMakeFiles/proto.dir/robot_state_msg.pb.cc.o] 中断
make[2]: *** [franka-interface/proto/CMakeFiles/proto.dir/build.make:103: franka-interface/proto/CMakeFiles/proto.dir/feedback_controller_params_msg.pb.cc.o] 中断
make[2]: *** [franka-interface/proto/CMakeFiles/proto.dir/build.make:129: franka-interface/proto/CMakeFiles/proto.dir/sensor_msg.pb.cc.o] 中断
make[1]: *** [CMakeFiles/Makefile2:290: franka-interface/proto/CMakeFiles/proto.dir/all] 中断
make: *** [Makefile:152: all] 中断
firephinx commented 3 months ago

What protobuf version are you using?

ChangerC77 commented 3 months ago

libprotoc 3.21.8

ChangerC77 commented 3 months ago

I solved this problem because although I installed it in the conda environment, when I executed sudo apt install ros-noetic- libfrank ros-noetic-frank-ros, the noetic version was 3.25, which caused the version issue. Additionally, I changed the protobuf version to connect to the directory under /usr/local/bin/protoc to solve the problem. Now it's ok, but next i will verify its effectiveness