Closed PratNag closed 2 years ago
What version of Ubuntu are you building this on, by the way?
Ubuntu 22.04 + ROS2 Humble
Isaac ROS DP (v0.10.1) is only supported on Ubuntu 20.04 at this time because of underlying dependencies unfortunately. The compile errors are likely coming from the newer gcc11 in Jellyfish.
isaac_ros_common
Docker containers build ROS2 Humble from source for 20.04 Focal and are customizable if that's an option for you.
I am trying to build isaac_ros_nitros Intel i5 8th Gen Nvidia MX130 GPU CUDA 11.7
Same issue on Intel i7 10th Gen Nvidia RTX3080 GPU CUDA 11.7
Able to build isaac_ros_common natively without docker fine. Have installed negotiated from osrf github repo.
But the isaac_ros_nitros build fails with the following error.
-- stderr: isaac_ros_nitros In file included from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/component.hpp:24, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/std/allocator.hpp:20, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/multimedia/video.hpp:21, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_image.cpp:23: /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:109:14: error: ‘optional’ in namespace ‘std’ does not name a template type 109 | const std::optional<T>& try_get() const { return value_; } | ^~~~~~~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:29:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 28 | #include "gxf/std/parameter_parser.hpp" +++ |+#include <optional> 29 | /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:114:8: error: ‘optional’ in namespace ‘std’ does not name a template type 114 | std::optional<T> value_; | ^~~~~~~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:114:3: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 114 | std::optional<T> value_; | ^~~ In file included from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/component.hpp:24, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/std/tensor.hpp:25, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_point_cloud.cpp:24: /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:109:14: error: ‘optional’ in namespace ‘std’ does not name a template type 109 | const std::optional<T>& try_get() const { return value_; } | ^~~~~~~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:29:1: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 28 | #include "gxf/std/parameter_parser.hpp" +++ |+#include <optional> 29 | /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:114:8: error: ‘optional’ in namespace ‘std’ does not name a template type 114 | std::optional<T> value_; | ^~~~~~~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:114:3: note: ‘std::optional’ is defined in header ‘<optional>’; did you forget to ‘#include <optional>’? 114 | std::optional<T> value_; | ^~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp: In member function ‘bool nvidia::gxf::ParameterBackend<T>::isAvailable() const’: /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:95:46: error: ‘value_’ was not declared in this scope 95 | bool isAvailable() const override { return value_ != std::nullopt; } | ^~~~~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp: In member function ‘bool nvidia::gxf::ParameterBackend<T>::isAvailable() const’: /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:95:46: error: ‘value_’ was not declared in this scope 95 | bool isAvailable() const override { return value_ != std::nullopt; } | ^~~~~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:95:61: error: ‘nullopt’ is not a member of ‘std’; did you mean ‘std::experimental::fundamentals_v1::nullopt’? 95 | bool isAvailable() const override { return value_ != std::nullopt; } | ^~~~~~~ In file included from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/common/optional.hpp:19, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:24, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/component.hpp:24, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/std/allocator.hpp:20, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/multimedia/video.hpp:21, from /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/src/types/nitros_image.cpp:23: /usr/include/c++/11/experimental/optional:96:23: note: ‘std::experimental::fundamentals_v1::nullopt’ declared here 96 | constexpr nullopt_t nullopt { nullopt_t::_Construct::_Token }; | ^~~~~~~ /home/ty-asus-22/isaac_ws/src/isaac_ros_nitros/isaac_ros_nitros/gxf/include/gxf/core/parameter.hpp:95:61: error: ‘nullopt’ is not a member of ‘std’; did you mean ‘std::experimental::fundamentals_v1::nullopt’? 95 | bool isAvailable() const override { return value_ != std::nullopt; } | ^~~~~~~
This is just a part of the error message.