frankaemika / libfranka

C++ library for Franka research robots
https://frankaemika.github.io
Apache License 2.0
244 stars 158 forks source link

Build for tag 0.11.0 fails #145

Closed 104H closed 1 year ago

104H commented 1 year ago

Following the build instructions for tag 0.11.0 fail as such

The following commands are run:

sudo apt install -y libpoco-dev libeigen3-dev
git clone https://github.com/frankaemika/libfranka.git --recursive
cd libfranka
git switch 0.11.0
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF  ..
cmake --build . -j$(nproc)

as provided here

The output is:

[  1%] Building CXX object CMakeFiles/franka.dir/src/active_control.cpp.o
[  6%] Building CXX object CMakeFiles/franka.dir/src/control_types.cpp.o
[  6%] Building CXX object CMakeFiles/franka.dir/src/control_loop.cpp.o
[  3%] Building CXX object CMakeFiles/franka.dir/src/control_tools.cpp.o
[  8%] Building CXX object CMakeFiles/franka.dir/src/duration.cpp.o
[ 10%] Building CXX object CMakeFiles/franka.dir/src/errors.cpp.o
[ 11%] Building CXX object CMakeFiles/franka.dir/src/exception.cpp.o
[ 13%] Building CXX object CMakeFiles/franka.dir/src/gripper.cpp.o
[ 15%] Building CXX object CMakeFiles/franka.dir/src/gripper_state.cpp.o
[ 16%] Building CXX object CMakeFiles/franka.dir/src/library_downloader.cpp.o
[ 18%] Building CXX object CMakeFiles/franka.dir/src/library_loader.cpp.o
In file included from /home/parallels/libfranka/src/active_control.cpp:8:
/home/parallels/libfranka/src/robot_impl.h: In member function ‘std::enable_if_t<(! std::is_base_of<research_interface::robot::GetterSetterCommandBase<T, T::kCommand>, T>::value)> franka::Robot::Impl::handleCommandResponse(const typename T::Response&) const [with T = research_interface::robot::Move; std::enable_if_t<(! std::is_base_of<research_interface::robot::GetterSetterCommandBase<T, T::kCommand>, T>::value)> = void; typename T::Response = research_interface::robot::ResponseBase<research_interface::robot::Move>]’:
/home/parallels/libfranka/src/robot_impl.h:220:51: error: ‘kPreemptedDueToActivatedSafetyFunctions’ is not a member of ‘research_interface::robot::Move::Status’
  220 |     case research_interface::robot::Move::Status::kPreemptedDueToActivatedSafetyFunctions:
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/parallels/libfranka/src/robot_impl.h:226:51: error: ‘kCommandRejectedDueToActivatedSafetyFunctions’ is not a member of ‘research_interface::robot::Move::Status’
  226 |     case research_interface::robot::Move::Status::kCommandRejectedDueToActivatedSafetyFunctions:
      |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/parallels/libfranka/src/robot_impl.h: In member function ‘std::enable_if_t<(! std::is_base_of<research_interface::robot::GetterSetterCommandBase<T, T::kCommand>, T>::value)> franka::Robot::Impl::handleCommandResponse(const typename T::Response&) const [with T = research_interface::robot::StopMove; std::enable_if_t<(! std::is_base_of<research_interface::robot::GetterSetterCommandBase<T, T::kCommand>, T>::value)> = void; typename T::Response = research_interface::robot::ResponseBase<research_interface::robot::StopMove>]’:
/home/parallels/libfranka/src/robot_impl.h:268:55: error: ‘kCommandRejectedDueToActivatedSafetyFunctions’ is not a member of ‘research_interface::robot::StopMove::Status’
  268 |     case research_interface::robot::StopMove::Status::kCommandRejectedDueToActivatedSafetyFunctions:
      |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/parallels/libfranka/src/robot_impl.h: In member function ‘std::enable_if_t<(! std::is_base_of<research_interface::robot::GetterSetterCommandBase<T, T::kCommand>, T>::value)> franka::Robot::Impl::handleCommandResponse(const typename T::Response&) const [with T = research_interface::robot::AutomaticErrorRecovery; std::enable_if_t<(! std::is_base_of<research_interface::robot::GetterSetterCommandBase<T, T::kCommand>, T>::value)> = void; typename T::Response = research_interface::robot::ResponseBase<research_interface::robot::AutomaticErrorRecovery>]’:
/home/parallels/libfranka/src/robot_impl.h:317:9: error: ‘kCommandRejectedDueToActivatedSafetyFunctions’ is not a member of ‘research_interface::robot::AutomaticErrorRecovery::Status’
  317 |         kCommandRejectedDueToActivatedSafetyFunctions:
      |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 20%] Building CXX object CMakeFiles/franka.dir/src/load_calculations.cpp.o
gmake[2]: *** [CMakeFiles/franka.dir/build.make:76: CMakeFiles/franka.dir/src/active_control.cpp.o] Error 1
gmake[2]: *** Waiting for unfinished jobs....
gmake[1]: *** [CMakeFiles/Makefile2:150: CMakeFiles/franka.dir/all] Error 2
gmake: *** [Makefile:156: all] Error 2

Please advise.

BarisYazici commented 1 year ago

can you try the latest version: https://github.com/frankaemika/libfranka/releases/tag/0.12.1

104H commented 1 year ago

Hi Thanks for your response 0.12.1, fr3-develop both give the following error:

-- The CXX compiler identification is GNU 11.4.0
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Eigen3: /usr/include/eigen3  
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE  
CMake Deprecation Warning at common/CMakeLists.txt:1 (cmake_minimum_required):
  Compatibility with CMake < 2.8.12 will be removed from a future version of
  CMake.

  Update the VERSION argument <min> value or use a ...<max> suffix to tell
  CMake that the project does not need compatibility with older versions.

-- Configuring done
CMake Error in common/CMakeLists.txt:
  Target "libfranka-common" INTERFACE_INCLUDE_DIRECTORIES property contains
  path:

    "/home/parallels/libfranka/common/include"

  which is prefixed in the source directory.

-- Generating done
CMake Generate step failed.  Build files cannot be regenerated correctly.
BarisYazici commented 1 year ago

Can you do git submodule update —init

104H commented 1 year ago

Thanks. It works now.