Closed Hensbag closed 8 months ago
Hello,
Are you using the tag for SDK version 3.7 foxy-v3.7 ?
there is a sdk version 3.7.7 'https://download.stereolabs.com/zedsdk/3.7/cu117/ubuntu22' Since I use Cuda 11.6 and cudnn_version": "8.4.1.50-1+cuda11.6 tensorrt_version": "8.4.2-1+cuda11.6 it seemed ok with me since the autonomous driving stack autoware using it.I want to try it with humble because there is no galactic version.
I am running wsl2 ubuntu 20 (ros2 foxy), my cuda version is 12, hence I have installed the compatible version of zed-sdk accordingly. while trying to build the package I found this error threw on the terminal.
CMake Error at /mnt/c/Program Files (x86)/ZED SDK/zed-config.cmake:55 (message):
You've selected the 32bit version of Unix Makefiles.
Please delete the cache (file->Delete Cache) and use the 64bit version. (Unix Makefiles Win64)
Call Stack (most recent call first):
CMakeLists.txt:78 (find_package)
I am not sure how to the change the configuration from 32bit to 64bit. I am not sure where the 32 bit was configured.
Preliminary Checks
Description
I want to install use my zed2 camera with
cuda_version": "11.6 cudnn_version": "8.4.1.50-1+cuda11.6 tensorrt_version": "8.4.2-1+cuda11.6 I used ZED sdk 3.7.7 when I try to build my zed_ws it ' s failing I use humble on ubuntu 22.04
Steps to Reproduce
1.I installed Cuda tensorrt cudnn 2.tried to build my package
Expected Result
colcon build succes
Actual Result
Starting >>> zed_interfaces Finished <<< zed_interfaces [0.70s] >&’}
53 | Duration(const builtin_interfaces::msg::Duration & duration_msg); // NOLINT(runtime/explicit)
| >&’}
53 | Duration(const builtin_interfaces::msg::Duration & duration_msg); // NOLINT(runtime/explicit)
| >&’}
53 | Duration(const builtin_interfaces::msg::Duration & duration_msg); // NOLINT(runtime/explicit)
|
Starting >>> zed_components --- stderr: zed_components
/home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp: In member function ‘void stereolabs::ZedCamera::initParameters()’: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:267:5: error: ‘set_on_parameters_set_callback’ was not declared in this scope 267 | set_on_parameters_set_callback(std::bind(&ZedCamera::callback_paramChange, this, _1)); | ^
~~~~~~~~~ In file included from /opt/ros/humble/include/rclcpp/rclcpp/logging.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/client.hpp:40, from /opt/ros/humble/include/rclcpp/rclcpp/callback_group.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/any_executable.hpp:20, from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategy.hpp:25, from /opt/ros/humble/include/rclcpp/rclcpp/memory_strategies.hpp:18, from /opt/ros/humble/include/rclcpp/rclcpp/executor_options.hpp:20, from /opt/ros/humble/include/rclcpp/rclcpp/executor.hpp:37, from /opt/ros/humble/include/rclcpp/rclcpp/executors/multi_threaded_executor.hpp:25, from /opt/ros/humble/include/rclcpp/rclcpp/executors.hpp:21, from /opt/ros/humble/include/rclcpp/rclcpp/rclcpp.hpp:155, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:31, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:25: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp: In member function ‘void stereolabs::ZedCamera::getGeneralParams()’: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:327:35: warning: too many arguments for format [-Wformat-extra-args] 327 | RCLCPP_WARN(get_logger(), "'pub_frame_rate' cannot be bigger than 'grab_frame_rate'", paramName.c_str()); | ^~~~~~~~~~~~~~ /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp: In member function ‘bool stereolabs::ZedCamera::getCamera2BaseTransform()’: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:2443:108: error: no matching function for call to ‘rclcpp::Duration::Duration(double)’ 2443 | mTfBuffer->lookupTransform(mCameraFrameId, mBaseFrameId, TIMEZERO_SYS, rclcpp::Duration(0.1)); | ^ In file included from /opt/ros/humble/include/rclcpp/rclcpp/time.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/clock.hpp:24, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/tools/include/sl_tools.h:49, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:29, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:25: /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:48:3: note: candidate: ‘template<class Rep, class Period> rclcpp::Duration::Duration(const std::chrono::duration<_Rep1, _Period1>&)’ 48 | Duration(const std::chrono::duration<Rep, Period> & duration) // NOLINT(runtime/explicit) | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:48:3: note: template argument deduction/substitution failed: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:2443:108: note: mismatched types ‘const std::chrono::duration<_Rep1, _Period1>’ and ‘double’ 2443 | mTfBuffer->lookupTransform(mCameraFrameId, mBaseFrameId, TIMEZERO_SYS, rclcpp::Duration(0.1)); | ^ In file included from /opt/ros/humble/include/rclcpp/rclcpp/time.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/clock.hpp:24, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/tools/include/sl_tools.h:49, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:29, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:25: /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:151:3: note: candidate: ‘rclcpp::Duration::Duration()’ 151 | Duration() = default; | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:151:3: note: candidate expects 0 arguments, 1 provided /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:61:3: note: candidate: ‘rclcpp::Duration::Duration(const rclcpp::Duration&)’ 61 | Duration(const Duration & rhs); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:61:29: note: no known conversion for argument 1 from ‘double’ to ‘const rclcpp::Duration&’ 61 | Duration(const Duration & rhs); |~~~^/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:59:12: note: candidate: ‘rclcpp::Duration::Duration(const rcl_duration_t&)’ 59 | explicit Duration(const rcl_duration_t & duration); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:59:44: note: no known conversion for argument 1 from ‘double’ to ‘const rcl_duration_t&’ {aka ‘const rcl_duration_s&’} 59 | explicit Duration(const rcl_duration_t & duration); |~~~~~^~/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:53:3: note: candidate: ‘rclcpp::Duration::Duration(const Duration&)’ 53 | Duration(const builtin_interfaces::msg::Duration & duration_msg); // NOLINT(runtime/explicit) | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:53:54: note: no known conversion for argument 1 from ‘double’ to ‘const Duration&’ {aka ‘const builtininterfaces::msg::Duration<std::allocator~~~~~~~~^~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:42:12: note: candidate: ‘rclcpp::Duration::Duration(std::chrono::nanoseconds)’ 42 | explicit Duration(std::chrono::nanoseconds nanoseconds); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:42:46: note: no known conversion for argument 1 from ‘double’ to ‘std::chrono::nanoseconds’ {aka ‘std::chrono::duration<long int, std::ratio<1, 1000000000> >’} 42 | explicit Duration(std::chrono::nanoseconds nanoseconds); |~~~~~^~~/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:39:3: note: candidate: ‘rclcpp::Duration::Duration(int32_t, uint32_t)’ 39 | Duration(int32_t seconds, uint32_t nanoseconds); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:39:3: note: candidate expects 2 arguments, 1 provided /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp: In member function ‘bool stereolabs::ZedCamera::getSens2CameraTransform()’: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:2497:109: error: no matching function for call to ‘rclcpp::Duration::Duration(double)’ 2497 | mTfBuffer->lookupTransform(mDepthFrameId, mCameraFrameId, TIMEZERO_SYS, rclcpp::Duration(0.1)); | ^ In file included from /opt/ros/humble/include/rclcpp/rclcpp/time.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/clock.hpp:24, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/tools/include/sl_tools.h:49, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:29, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:25: /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:48:3: note: candidate: ‘template<class Rep, class Period> rclcpp::Duration::Duration(const std::chrono::duration<_Rep1, _Period1>&)’ 48 | Duration(const std::chrono::duration<Rep, Period> & duration) // NOLINT(runtime/explicit) | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:48:3: note: template argument deduction/substitution failed: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:2497:109: note: mismatched types ‘const std::chrono::duration<_Rep1, _Period1>’ and ‘double’ 2497 | mTfBuffer->lookupTransform(mDepthFrameId, mCameraFrameId, TIMEZERO_SYS, rclcpp::Duration(0.1)); | ^ In file included from /opt/ros/humble/include/rclcpp/rclcpp/time.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/clock.hpp:24, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/tools/include/sl_tools.h:49, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:29, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:25: /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:151:3: note: candidate: ‘rclcpp::Duration::Duration()’ 151 | Duration() = default; | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:151:3: note: candidate expects 0 arguments, 1 provided /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:61:3: note: candidate: ‘rclcpp::Duration::Duration(const rclcpp::Duration&)’ 61 | Duration(const Duration & rhs); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:61:29: note: no known conversion for argument 1 from ‘double’ to ‘const rclcpp::Duration&’ 61 | Duration(const Duration & rhs); |~~~^/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:59:12: note: candidate: ‘rclcpp::Duration::Duration(const rcl_duration_t&)’ 59 | explicit Duration(const rcl_duration_t & duration); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:59:44: note: no known conversion for argument 1 from ‘double’ to ‘const rcl_duration_t&’ {aka ‘const rcl_duration_s&’} 59 | explicit Duration(const rcl_duration_t & duration); |~~~~~^~/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:53:3: note: candidate: ‘rclcpp::Duration::Duration(const Duration&)’ 53 | Duration(const builtin_interfaces::msg::Duration & duration_msg); // NOLINT(runtime/explicit) | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:53:54: note: no known conversion for argument 1 from ‘double’ to ‘const Duration&’ {aka ‘const builtininterfaces::msg::Duration<std::allocator~~~~~~~~^~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:42:12: note: candidate: ‘rclcpp::Duration::Duration(std::chrono::nanoseconds)’ 42 | explicit Duration(std::chrono::nanoseconds nanoseconds); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:42:46: note: no known conversion for argument 1 from ‘double’ to ‘std::chrono::nanoseconds’ {aka ‘std::chrono::duration<long int, std::ratio<1, 1000000000> >’} 42 | explicit Duration(std::chrono::nanoseconds nanoseconds); |~~~~~^~~/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:39:3: note: candidate: ‘rclcpp::Duration::Duration(int32_t, uint32_t)’ 39 | Duration(int32_t seconds, uint32_t nanoseconds); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:39:3: note: candidate expects 2 arguments, 1 provided /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp: In member function ‘bool stereolabs::ZedCamera::getSens2BaseTransform()’: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:2551:107: error: no matching function for call to ‘rclcpp::Duration::Duration(double)’ 2551 | mTfBuffer->lookupTransform(mDepthFrameId, mBaseFrameId, TIMEZERO_SYS, rclcpp::Duration(0.1)); | ^ In file included from /opt/ros/humble/include/rclcpp/rclcpp/time.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/clock.hpp:24, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/tools/include/sl_tools.h:49, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:29, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:25: /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:48:3: note: candidate: ‘template<class Rep, class Period> rclcpp::Duration::Duration(const std::chrono::duration<_Rep1, _Period1>&)’ 48 | Duration(const std::chrono::duration<Rep, Period> & duration) // NOLINT(runtime/explicit) | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:48:3: note: template argument deduction/substitution failed: /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:2551:107: note: mismatched types ‘const std::chrono::duration<_Rep1, _Period1>’ and ‘double’ 2551 | mTfBuffer->lookupTransform(mDepthFrameId, mBaseFrameId, TIMEZERO_SYS, rclcpp::Duration(0.1)); | ^ In file included from /opt/ros/humble/include/rclcpp/rclcpp/time.hpp:24, from /opt/ros/humble/include/rclcpp/rclcpp/clock.hpp:24, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/tools/include/sl_tools.h:49, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/include/zed_camera_component.hpp:29, from /home/hasan/zed_ws/src/zed-ros2-wrapper/zed_components/src/zed_camera/src/zed_camera_component.cpp:25: /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:151:3: note: candidate: ‘rclcpp::Duration::Duration()’ 151 | Duration() = default; | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:151:3: note: candidate expects 0 arguments, 1 provided /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:61:3: note: candidate: ‘rclcpp::Duration::Duration(const rclcpp::Duration&)’ 61 | Duration(const Duration & rhs); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:61:29: note: no known conversion for argument 1 from ‘double’ to ‘const rclcpp::Duration&’ 61 | Duration(const Duration & rhs); |~~~^/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:59:12: note: candidate: ‘rclcpp::Duration::Duration(const rcl_duration_t&)’ 59 | explicit Duration(const rcl_duration_t & duration); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:59:44: note: no known conversion for argument 1 from ‘double’ to ‘const rcl_duration_t&’ {aka ‘const rcl_duration_s&’} 59 | explicit Duration(const rcl_duration_t & duration); |~~~~~^~/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:53:3: note: candidate: ‘rclcpp::Duration::Duration(const Duration&)’ 53 | Duration(const builtin_interfaces::msg::Duration & duration_msg); // NOLINT(runtime/explicit) | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:53:54: note: no known conversion for argument 1 from ‘double’ to ‘const Duration&’ {aka ‘const builtininterfaces::msg::Duration<std::allocator~~~~~~~~^~~~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:42:12: note: candidate: ‘rclcpp::Duration::Duration(std::chrono::nanoseconds)’ 42 | explicit Duration(std::chrono::nanoseconds nanoseconds); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:42:46: note: no known conversion for argument 1 from ‘double’ to ‘std::chrono::nanoseconds’ {aka ‘std::chrono::duration<long int, std::ratio<1, 1000000000> >’} 42 | explicit Duration(std::chrono::nanoseconds nanoseconds); |~~~~~^~~/opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:39:3: note: candidate: ‘rclcpp::Duration::Duration(int32_t, uint32_t)’ 39 | Duration(int32_t seconds, uint32_t nanoseconds); | ^~~~ /opt/ros/humble/include/rclcpp/rclcpp/duration.hpp:39:3: note: candidate expects 2 arguments, 1 provided gmake[2]: [CMakeFiles/zed_camera_component.dir/build.make:90: CMakeFiles/zed_camera_component.dir/src/zed_camera/src/zed_camera_component.cpp.o] Error 1 gmake[1]: [CMakeFiles/Makefile2:164: CMakeFiles/zed_camera_component.dir/all] Error 2 gmake: *** [Makefile:146: all] Error 2Failed <<< zed_components [6.17s, exited with code 2]
Summary: 1 package finished [7.04s] 1 package failed: zed_components 1 package had stderr output: zed_components 2 packages not processed
ZED Camera model
ZED2
Environment
Anything else?
also I'm trying to imply this camera to autonomous driving stack called autoware which is not supported by this autonomous stack.any help would be appreciated .