Skip to content

Conversation

@traversaro
Copy link
Member

According to https://github.com/garylvov/pixidock_template this may be useful, let's see if it is tricky to package.

fyi @garylvov

@traversaro
Copy link
Member Author

macOS is failing due to some options missing on macOS:

 │ │ [15/184] Building CXX object CMakeFiles/franka.dir/src/network.cpp.o
 │ │ FAILED: [code=1] CMakeFiles/franka.dir/src/network.cpp.o 
 │ │ $BUILD_PREFIX/bin/arm64-apple-darwin20.0.0-clang++ -DBOOST_MPL_LIMIT_LIST_SIZE=30 -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -DCOAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL -DCOAL_HAS_OCTOMAP -DCOAL_HAVE_OCTOMAP -DFMT_SHARED -DOCTOMAP_MAJOR_VERSION=1 -DOCTOMAP_MINOR_VERSION=10 -DOCTOMAP_PATCH_VERSION=0 -DPINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION -DPINOCCHIO_WITH_EXTRA_SUPPORT -DPINOCCHIO_WITH_HPP_FCL -DPINOCCHIO_WITH_SDFORMAT -DPINOCCHIO_WITH_URDFDOM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_IPv6 -DPOCO_NO_STAT64 -DPOCO_OS_FAMILY_UNIX -DUTF8PROC_STATIC -Dfranka_EXPORTS -I$SRC_DIR/ros-humble-libfranka/src/work/include -I$PREFIX/include/eigen3 -I$PREFIX/include/gz/sdformat14 -I$PREFIX/include/gz/math7 -I$PREFIX/include/gz/utils2 -I$SRC_DIR/ros-humble-libfranka/src/work/common/include -ftree-vectorize -fPIC -fstack-protector-strong -O2 -pipe -stdlib=libc++ -fvisibility-inlines-hidden -fmessage-length=0 -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ros-humble-libfranka-0.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DBOOST_ERROR_CODE_HEADER_ONLY -O3 -DNDEBUG -std=gnu++17 -arch arm64 -isysroot /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -mmacosx-version-min=10.15 -fPIC -Wall -Wextra -fopenmp=libomp -MD -MT CMakeFiles/franka.dir/src/network.cpp.o -MF CMakeFiles/franka.dir/src/network.cpp.o.d -o CMakeFiles/franka.dir/src/network.cpp.o -c $SRC_DIR/ros-humble-libfranka/src/work/src/network.cpp
 │ │ $SRC_DIR/ros-humble-libfranka/src/work/src/network.cpp:29:44: error: use of undeclared identifier 'TCP_KEEPIDLE'
 │ │    29 |         tcp_socket_.setOption(IPPROTO_TCP, TCP_KEEPIDLE, std::get<1>(tcp_keepalive));
 │ │       |                                            ^
 │ │ 1 error generated.
 │ │ [16/184] Building CXX object CMakeFiles/franka.dir/src/model_library.cpp.o
 │ │ [17/184] Building CXX object CMakeFiles/franka.dir/src/lowpass_filter.cpp.o
 │ │ [18/184] Building CXX object CMakeFiles/franka.dir/src/rate_limiting.cpp.o
 │ │ [19/184] Building CXX object CMakeFiles/franka.dir/src/model.cpp.o
 │ │ ninja: build stopped: subcommand failed.
 │ │ × error Script failed with status 1

Linux are failing with:

2025-08-02T11:36:26.5391703Z  │ │ [44/184] Building CXX object test/CMakeFiles/run_all_tests.dir/gripper_command_tests.cpp.o
2025-08-02T11:36:27.3210605Z  │ │ [45/184] Building CXX object test/CMakeFiles/run_all_tests.dir/lowpass_filter_tests.cpp.o
2025-08-02T11:36:27.7160459Z  │ │ [46/184] Building CXX object test/CMakeFiles/run_all_tests.dir/active_motion_generator_tests.cpp.o
2025-08-02T11:36:30.0967414Z  │ │ [47/184] Building CXX object test/CMakeFiles/run_all_tests.dir/mock_server.cpp.o
2025-08-02T11:36:30.0968388Z  │ │ FAILED: [code=1] test/CMakeFiles/run_all_tests.dir/mock_server.cpp.o 
2025-08-02T11:36:30.1038690Z  │ │ $BUILD_PREFIX/bin/x86_64-conda-linux-gnu-c++ -DBOOST_MPL_LIMIT_LIST_SIZE=30 -DBOOST_MPL_LIMIT_VECTOR_SIZE=30 -DCOAL_BACKWARD_COMPATIBILITY_WITH_HPP_FCL -DCOAL_HAS_OCTOMAP -DCOAL_HAVE_OCTOMAP -DFMT_SHARED -DFRANKA_TEST_BINARY_DIR=\"$SRC_DIR/build/test\" -DOCTOMAP_MAJOR_VERSION=1 -DOCTOMAP_MINOR_VERSION=10 -DOCTOMAP_PATCH_VERSION=0 -DPINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION -DPINOCCHIO_WITH_EXTRA_SUPPORT -DPINOCCHIO_WITH_HPP_FCL -DPINOCCHIO_WITH_SDFORMAT -DPINOCCHIO_WITH_URDFDOM -DPOCO_CMAKE -DPOCO_ENABLE_CPP11 -DPOCO_ENABLE_CPP14 -DPOCO_HAVE_FD_EPOLL -DPOCO_OS_FAMILY_UNIX -DUTF8PROC_STATIC -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_REENTRANT -D_THREAD_SAFE -D_XOPEN_SOURCE=500 -I$SRC_DIR/ros-humble-libfranka/src/work/test -I$SRC_DIR/ros-humble-libfranka/src/work/test/../src -I$SRC_DIR/ros-humble-libfranka/src/work/3rdparty/googletest/googletest/include -I$SRC_DIR/ros-humble-libfranka/src/work/3rdparty/googletest/googlemock/include -I$PREFIX/include/eigen3 -I$SRC_DIR/ros-humble-libfranka/src/work/include -I$SRC_DIR/ros-humble-libfranka/src/work/common/include -I$PREFIX/include/gz/sdformat14 -I$PREFIX/include/gz/math7 -I$PREFIX/include/gz/utils2 -fvisibility-inlines-hidden -fmessage-length=0 -march=nocona -mtune=haswell -ftree-vectorize -fPIC -fstack-protector-strong -fno-plt -O2 -ffunction-sections -pipe -isystem $PREFIX/include -fdebug-prefix-map=$SRC_DIR=/usr/local/src/conda/ros-humble-libfranka-0.15.0 -fdebug-prefix-map=$PREFIX=/usr/local/src/conda-prefix -DBOOST_ERROR_CODE_HEADER_ONLY -D__STDC_FORMAT_MACROS=1 -O3 -DNDEBUG -std=gnu++17 -Wall -Wextra -Wno-deprecated-copy -fopenmp -MD -MT test/CMakeFiles/run_all_tests.dir/mock_server.cpp.o -MF test/CMakeFiles/run_all_tests.dir/mock_server.cpp.o.d -o test/CMakeFiles/run_all_tests.dir/mock_server.cpp.o -c $SRC_DIR/ros-humble-libfranka/src/work/test/mock_server.cpp
2025-08-02T11:36:30.1051060Z  │ │ $SRC_DIR/ros-humble-libfranka/src/work/test/mock_server.cpp: In instantiation of 'void MockServer<C>::serverThread() [with C = RobotTypes]':
2025-08-02T11:36:30.1052725Z  │ │ $SRC_DIR/ros-humble-libfranka/src/work/test/mock_server.cpp:217:16:   required from here
2025-08-02T11:36:30.1055249Z  │ │ $SRC_DIR/ros-humble-libfranka/src/work/test/mock_server.cpp:119:29: error: no matching function for call to 'Poco::Net::DatagramSocket::DatagramSocket(<brace-enclosed initializer list>)'
2025-08-02T11:36:30.1057121Z  │ │   119 |   Poco::Net::DatagramSocket udp_socket({kHostname, 0});
2025-08-02T11:36:30.1057810Z  │ │       |                             ^~~~~~~~~~
2025-08-02T11:36:30.1058635Z  │ │ In file included from $SRC_DIR/ros-humble-libfranka/src/work/test/mock_server.cpp:7:
2025-08-02T11:36:30.1060367Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:283:9: note: candidate: 'Poco::Net::DatagramSocket::DatagramSocket(Poco::Net::SocketImpl*)'
2025-08-02T11:36:30.1061532Z  │ │   283 |         DatagramSocket(SocketImpl* pImpl);
2025-08-02T11:36:30.1062118Z  │ │       |         ^~~~~~~~~~~~~~
2025-08-02T11:36:30.1063544Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:283:36: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Poco::Net::SocketImpl*'
2025-08-02T11:36:30.1064813Z  │ │   283 |         DatagramSocket(SocketImpl* pImpl);
2025-08-02T11:36:30.1065668Z  │ │       |                        ~~~~~~~~~~~~^~~~~
2025-08-02T11:36:30.1069376Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:66:9: note: candidate: 'Poco::Net::DatagramSocket::DatagramSocket(const Poco::Net::DatagramSocket&)'
2025-08-02T11:36:30.1070622Z  │ │    66 |         DatagramSocket(const DatagramSocket& socket);
2025-08-02T11:36:30.1071214Z  │ │       |         ^~~~~~~~~~~~~~
2025-08-02T11:36:30.1072797Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:66:46: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const Poco::Net::DatagramSocket&'
2025-08-02T11:36:30.1074187Z  │ │    66 |         DatagramSocket(const DatagramSocket& socket);
2025-08-02T11:36:30.1074835Z  │ │       |                        ~~~~~~~~~~~~~~~~~~~~~~^~~~~~
2025-08-02T11:36:30.1076357Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:60:9: note: candidate: 'Poco::Net::DatagramSocket::DatagramSocket(const Poco::Net::Socket&)'
2025-08-02T11:36:30.1116255Z  │ │    60 |         DatagramSocket(const Socket& socket);
2025-08-02T11:36:30.1146077Z  │ │       |         ^~~~~~~~~~~~~~
2025-08-02T11:36:30.1147561Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:60:38: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'const Poco::Net::Socket&'
2025-08-02T11:36:30.1148881Z  │ │    60 |         DatagramSocket(const Socket& socket);
2025-08-02T11:36:30.1149490Z  │ │       |                        ~~~~~~~~~~~~~~^~~~~~
2025-08-02T11:36:30.1150984Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:51:9: note: candidate: 'Poco::Net::DatagramSocket::DatagramSocket(const Poco::Net::SocketAddress&, bool, bool, bool)'
2025-08-02T11:36:30.1153471Z  │ │    51 |         DatagramSocket(const SocketAddress& address, bool reuseAddress, bool reusePort = false, bool ipV6Only = false);
2025-08-02T11:36:30.1154436Z  │ │       |         ^~~~~~~~~~~~~~
2025-08-02T11:36:30.1155557Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:51:9: note:   candidate expects 4 arguments, 1 provided
2025-08-02T11:36:30.1157251Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:45:18: note: candidate: 'Poco::Net::DatagramSocket::DatagramSocket(Poco::Net::SocketAddress::Family)'
2025-08-02T11:36:30.1158590Z  │ │    45 |         explicit DatagramSocket(SocketAddress::Family family);
2025-08-02T11:36:30.1159248Z  │ │       |                  ^~~~~~~~~~~~~~
2025-08-02T11:36:30.1161045Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:45:55: note:   no known conversion for argument 1 from '<brace-enclosed initializer list>' to 'Poco::Net::SocketAddress::Family' {aka 'Poco::Net::AddressFamily::Family'}
2025-08-02T11:36:30.1162781Z  │ │    45 |         explicit DatagramSocket(SocketAddress::Family family);
2025-08-02T11:36:30.1163503Z  │ │       |                                 ~~~~~~~~~~~~~~~~~~~~~~^~~~~~
2025-08-02T11:36:30.1164667Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:35:9: note: candidate: 'Poco::Net::DatagramSocket::DatagramSocket()'
2025-08-02T11:36:30.1166152Z  │ │    35 |         DatagramSocket();
2025-08-02T11:36:30.1166706Z  │ │       |         ^~~~~~~~~~~~~~
2025-08-02T11:36:30.1167615Z  │ │ $PREFIX/include/Poco/Net/DatagramSocket.h:35:9: note:   candidate expects 0 arguments, 1 provided

but these are just tests, I wonder if we can simply disable them.

@traversaro
Copy link
Member Author

For the linux failure, the ChatGPT suggestion seems to make sense: https://chatgpt.com/share/688dfa18-4cd0-8006-a467-39932d3868c4 .

@traversaro
Copy link
Member Author

Windows failure seems unrelated as it is rebuilding a package already built, probably some bug in the PR machinery.

@traversaro
Copy link
Member Author

Fix submitted upstream in frankarobotics/libfranka#195 .

@traversaro
Copy link
Member Author

New failure on Linux:

2025-08-02T13:24:24.0080104Z  │ │ -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
2025-08-02T13:24:24.0081031Z  │ │ -- Looking for pthread_create in pthreads
2025-08-02T13:24:24.0529909Z  │ │ -- Looking for pthread_create in pthreads - not found
2025-08-02T13:24:24.0530426Z  │ │ -- Looking for pthread_create in pthread
2025-08-02T13:24:24.1131405Z  │ │ -- Looking for pthread_create in pthread - found
2025-08-02T13:24:24.1143297Z  │ │ -- Found Threads: TRUE
2025-08-02T13:24:24.2191693Z  │ │ CMake Error at CMakeLists.txt:18 (find_package):
2025-08-02T13:24:24.2192913Z  │ │   By not providing "Findrclcpp_action.cmake" in CMAKE_MODULE_PATH this
2025-08-02T13:24:24.2193830Z  │ │   project has asked CMake to find a package configuration file provided by
2025-08-02T13:24:24.2194601Z  │ │   "rclcpp_action", but CMake did not find one.
2025-08-02T13:24:24.2198966Z  │ │   Could not find a package configuration file provided by "rclcpp_action"
2025-08-02T13:24:24.2199608Z  │ │   with any of the following names:
2025-08-02T13:24:24.2200077Z  │ │     rclcpp_actionConfig.cmake
2025-08-02T13:24:24.2200611Z  │ │ -- Configuring incomplete, errors occurred!
2025-08-02T13:24:24.2201352Z  │ │     rclcpp_action-config.cmake
2025-08-02T13:24:24.2202034Z  │ │   Add the installation prefix of "rclcpp_action" to CMAKE_PREFIX_PATH or set
2025-08-02T13:24:24.2202824Z  │ │   "rclcpp_action_DIR" to a directory containing one of the above files.  If
2025-08-02T13:24:24.2203674Z  │ │   "rclcpp_action" provides a separate development package or SDK, be sure it
2025-08-02T13:24:24.2204292Z  │ │   has been installed.
2025-08-02T13:24:24.2282570Z  │ │ × error Script failed with status 1

probably a missing dependency in package.xml ?

@traversaro traversaro changed the title Add franka_ros2 package Add franka_ros2 package on Linux Aug 2, 2025
@traversaro
Copy link
Member Author

probably a missing dependency in package.xml ?

Fixed uptream in frankarobotics/franka_ros2#169 .

As it seems that a few fixes are required, as a first stane this PR will just concentrate on adding franka_ros2 on Linux.

@Tobias-Fischer
Copy link
Contributor

Looks like it’s good to go?

@traversaro
Copy link
Member Author

Yes, there was a long list of missing dependencies from the package.xml files, but now it should be good to go.

@Tobias-Fischer Tobias-Fischer merged commit 75635ac into RoboStack:main Aug 4, 2025
6 checks passed
@traversaro
Copy link
Member Author

traversaro commented Aug 4, 2025

fyi @garylvov franka packages should now be avalable in robostack-humble on linux platforms.

@garylvov
Copy link

garylvov commented Aug 4, 2025

Thank you @traversaro !!!

I'll have access to a Franka at the end of the month I'm excited to try it out!

@traversaro traversaro deleted the addfrankaros2 branch August 18, 2025 12:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants