Error - developing a custome module(Pololu)

Description -

  • System - Linux Ubuntu 18.04
  • Isaac Version - 2020.2

Hello,
I am current working on creating a Pololu Maestro module and plan on controlling it via isaac application.
My module can be found in this repo.
Pololu Cross platform - Driver Interface is similar to one provided by Pololu - Pololu Maestro Servo Controller User’s Guide

I have made 3 BUILD files as shown in repo. I have placed this module in sdk/packages/ folder
The tree structure

├── BUILD
├── components 
│   ├── BUILD
│   ├── PololuDriver.cpp
│   └── PololuDriver.hpp
└── gems
    ├── backupbuild
    ├── BUILD
    ├── maestroconfig.hpp
    ├── maestro.cpp
    └── maestro.hpp

MAIN COMPONENT - BUILD

load("//bzl:module.bzl", "isaac_component")

isaac_component(
name = "pololu_driver",
visibility = ["//visibility:public"],
deps = [
    "@com_nvidia_isaac_engine//engine/gems/serialization:json",
    "//packages/pololu/gems:maestro",
    "//packages/engine_gems/state:io",
    "@com_nvidia_isaac_engine//engine/core/tensor:universal_tensor",
    "@com_nvidia_isaac_engine//engine/gems/tensor",
    "//packages/composite/gems:parser",
    "//packages/map:kinematic_tree",
    "//packages/math/gems/kinematic_tree", 
   ],
)

LIBRARY - BUILD

load("@com_nvidia_isaac_engine//bzl:isaac_engine.bzl", "isaac_cc_library")
isaac_cc_library(
name = "maestro",
srcs = [
    "maestro.cpp",
],
hdrs = [
    "maestro.hpp",
],
visibility = ["//visibility:public"],
deps = [
    ":config",
    "@com_nvidia_isaac_engine//engine/core/math",
],
)
isaac_cc_library(
name = "config",
srcs = [
],
hdrs = [
    "maestroconfig.hpp",
],
 tags = ["nolint"],
visibility = ["//visibility:public"],
deps = [
    "@com_nvidia_isaac_engine//engine/core/math",
 ],
)

Module - BUILD

load("//bzl:module.bzl", "isaac_cc_module")
isaac_cc_module(
 name = "pololu",
 visibility = ["//visibility:public"],
 deps = [
    "//packages/pololu/components:pololu_driver",
   ]
 )

I created an app and loaded the module into json. The app iis supposed to create a Composite message and send it to this pololu module which is supposed to send it further to pololu maestro mini device and hence control the servos.
But while building the application i get the following error.

Output Error

bazel build apps/samples/pololu/pololu
INFO: Analyzed target //apps/samples/pololu:pololu (0 packages loaded, 0 targets configured).
INFO: Found 1 target...
ERROR: /home/mrobotics2/Desktop/isaac/sdk/packages/pololu/components/BUILD:3:1: Couldn't build file packages/pololu/components/_objs/pololu_driver/PololuDriver.o: C++ compilation of rule '//packages/pololu/components:pololu_driver' failed (Exit 1) crosstool_wrapper_driver_is_not_gcc_host.py failed: error executing command external/toolchain/crosstool/scripts/crosstool_wrapper_driver_is_not_gcc_host.py -MD -MF bazel-out/k8-opt/bin/packages/pololu/components/_objs/pololu_driver/PololuDriver.d ... (remaining 228 argument(s) skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:20:0,
                from external/com_nvidia_isaac_engine/engine/alice/component.hpp:14,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:20,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp: In instantiation of 'static void isaac::serialization::json_formatter_details::JsonSerializer<T>::Set(isaac::Json&, T) [with T = isaac::pololu::MaestroConfig::Type; isaac::Json = nlohmann::basic_json<>]':
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:729:49:   required from 'void isaac::serialization::Set(isaac::Json&, T) [with T = isaac::pololu::MaestroConfig::Type; isaac::Json = nlohmann::basic_json<>]'
external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:150:23:   required from 'void isaac::alice::Parameter<T>::set(T&&, bool) [with T = isaac::pololu::MaestroConfig::Type]'
packages/pololu/components/PololuDriver.hpp:42:13:   required from here
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:108:12: error: 'to_json' was not declared in this scope
    to_json(json, value);
    ~~~~~~~^~~~~~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:108:12: note: suggested alternatives:
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:212:17: note:   'isaac::alice::to_json'
    inline void to_json(BasicJsonType& j, const ENUM_TYPE& e)                                  \
                ^
external/com_nvidia_isaac_engine/engine/alice/status.hpp:27:1: note: in expansion of macro 'NLOHMANN_JSON_SERIALIZE_ENUM'
NLOHMANN_JSON_SERIALIZE_ENUM(Status, {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2044:23: note:   'nlohmann::{anonymous}::to_json'
constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
                    ^~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2025:6: note:   'nlohmann::detail::to_json'
void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
    ^~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2044:23: note:   'nlohmann::{anonymous}::to_json'
constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
                    ^~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:20:0,
                from external/com_nvidia_isaac_engine/engine/alice/component.hpp:14,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:20,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:739:6: note:   'Eigen::to_json'
void to_json(nlohmann::json& json, const T& value) {
    ^~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp: In instantiation of 'static void isaac::serialization::json_formatter_details::JsonSerializer<T>::Set(isaac::Json&, T) [with T = isaac::pololu::MaestroConfig::Protocol; isaac::Json = nlohmann::basic_json<>]':
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:729:49:   required from 'void isaac::serialization::Set(isaac::Json&, T) [with T = isaac::pololu::MaestroConfig::Protocol; isaac::Json = nlohmann::basic_json<>]'
external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:150:23:   required from 'void isaac::alice::Parameter<T>::set(T&&, bool) [with T = isaac::pololu::MaestroConfig::Protocol]'
packages/pololu/components/PololuDriver.hpp:45:13:   required from here
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:108:12: error: 'to_json' was not declared in this scope
    to_json(json, value);
    ~~~~~~~^~~~~~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:108:12: note: suggested alternatives:
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:212:17: note:   'isaac::alice::to_json'
    inline void to_json(BasicJsonType& j, const ENUM_TYPE& e)                                  \
                ^
external/com_nvidia_isaac_engine/engine/alice/status.hpp:27:1: note: in expansion of macro 'NLOHMANN_JSON_SERIALIZE_ENUM'
NLOHMANN_JSON_SERIALIZE_ENUM(Status, {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2044:23: note:   'nlohmann::{anonymous}::to_json'
constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
                    ^~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2025:6: note:   'nlohmann::detail::to_json'
void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
    ^~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2044:23: note:   'nlohmann::{anonymous}::to_json'
constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
                    ^~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:20:0,
                from external/com_nvidia_isaac_engine/engine/alice/component.hpp:14,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:20,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:739:6: note:   'Eigen::to_json'
void to_json(nlohmann::json& json, const T& value) {
    ^~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp: In instantiation of 'static void isaac::serialization::json_formatter_details::JsonSerializer<T>::Set(isaac::Json&, T) [with T = unsigned int; isaac::Json = nlohmann::basic_json<>]':
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:729:49:   required from 'void isaac::serialization::Set(isaac::Json&, T) [with T = unsigned int; isaac::Json = nlohmann::basic_json<>]'
external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:150:23:   required from 'void isaac::alice::Parameter<T>::set(T&&, bool) [with T = unsigned int]'
packages/pololu/components/PololuDriver.hpp:54:13:   required from here
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:108:12: error: 'to_json' was not declared in this scope
    to_json(json, value);
    ~~~~~~~^~~~~~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:108:12: note: suggested alternatives:
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:212:17: note:   'isaac::alice::to_json'
    inline void to_json(BasicJsonType& j, const ENUM_TYPE& e)                                  \
                ^
external/com_nvidia_isaac_engine/engine/alice/status.hpp:27:1: note: in expansion of macro 'NLOHMANN_JSON_SERIALIZE_ENUM'
NLOHMANN_JSON_SERIALIZE_ENUM(Status, {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2044:23: note:   'nlohmann::{anonymous}::to_json'
constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
                    ^~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2025:6: note:   'nlohmann::detail::to_json'
void to_json(BasicJsonType& j, const std::tuple<Args...>& t)
    ^~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:2044:23: note:   'nlohmann::{anonymous}::to_json'
constexpr const auto& to_json = detail::static_const<detail::to_json_fn>::value;
                    ^~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:20:0,
                from external/com_nvidia_isaac_engine/engine/alice/component.hpp:14,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:20,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:739:6: note:   'Eigen::to_json'
void to_json(nlohmann::json& json, const T& value) {
    ^~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp: In instantiation of 'static std::experimental::fundamentals_v1::optional<_Tp> isaac::serialization::json_formatter_details::JsonSerializer<T>::TryGet(const Json&) [with T = unsigned int; isaac::Json = nlohmann::basic_json<>]':
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:724:59:   required from 'std::experimental::fundamentals_v1::optional<_Tp> isaac::serialization::TryGet(const Json&) [with T = unsigned int; isaac::Json = nlohmann::basic_json<>]'
external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:105:42:   required from 'bool isaac::alice::Parameter<T>::set(const json&) [with T = unsigned int; nlohmann::json = nlohmann::basic_json<>]'
packages/pololu/components/PololuDriver.cpp:139:1:   required from here
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:101:16: error: 'from_json' was not declared in this scope
    from_json(json, x);
    ~~~~~~~~~^~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:101:16: note: suggested alternatives:
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:224:17: note:   'isaac::alice::from_json'
    inline void from_json(const BasicJsonType& j, ENUM_TYPE& e)                                \
                ^
external/com_nvidia_isaac_engine/engine/alice/status.hpp:27:1: note: in expansion of macro 'NLOHMANN_JSON_SERIALIZE_ENUM'
NLOHMANN_JSON_SERIALIZE_ENUM(Status, {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1570:23: note:   'nlohmann::{anonymous}::from_json'
constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::value;
                    ^~~~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1537:6: note:   'nlohmann::detail::from_json'
void from_json(const BasicJsonType& j, std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>& m)
    ^~~~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1570:23: note:   'nlohmann::{anonymous}::from_json'
constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::value;
                    ^~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:20:0,
                from external/com_nvidia_isaac_engine/engine/alice/component.hpp:14,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:20,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:745:6: note:   'Eigen::from_json'
void from_json(const nlohmann::json& json, T& value) {
    ^~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp: In instantiation of 'static std::experimental::fundamentals_v1::optional<_Tp> isaac::serialization::json_formatter_details::JsonSerializer<T>::TryGet(const Json&) [with T = isaac::pololu::MaestroConfig::Protocol; isaac::Json = nlohmann::basic_json<>]':
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:724:59:   required from 'std::experimental::fundamentals_v1::optional<_Tp> isaac::serialization::TryGet(const Json&) [with T = isaac::pololu::MaestroConfig::Protocol; isaac::Json = nlohmann::basic_json<>]'
external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:105:42:   required from 'bool isaac::alice::Parameter<T>::set(const json&) [with T = isaac::pololu::MaestroConfig::Protocol; nlohmann::json = nlohmann::basic_json<>]'
packages/pololu/components/PololuDriver.cpp:139:1:   required from here
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:101:16: error: 'from_json' was not declared in this scope
    from_json(json, x);
    ~~~~~~~~~^~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:101:16: note: suggested alternatives:
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:224:17: note:   'isaac::alice::from_json'
    inline void from_json(const BasicJsonType& j, ENUM_TYPE& e)                                \
                ^
external/com_nvidia_isaac_engine/engine/alice/status.hpp:27:1: note: in expansion of macro 'NLOHMANN_JSON_SERIALIZE_ENUM'
NLOHMANN_JSON_SERIALIZE_ENUM(Status, {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1570:23: note:   'nlohmann::{anonymous}::from_json'
constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::value;
                    ^~~~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1537:6: note:   'nlohmann::detail::from_json'
void from_json(const BasicJsonType& j, std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>& m)
    ^~~~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1570:23: note:   'nlohmann::{anonymous}::from_json'
constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::value;
                    ^~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:20:0,
                from external/com_nvidia_isaac_engine/engine/alice/component.hpp:14,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:20,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:745:6: note:   'Eigen::from_json'
void from_json(const nlohmann::json& json, T& value) {
    ^~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp: In instantiation of 'static std::experimental::fundamentals_v1::optional<_Tp> isaac::serialization::json_formatter_details::JsonSerializer<T>::TryGet(const Json&) [with T = isaac::pololu::MaestroConfig::Type; isaac::Json = nlohmann::basic_json<>]':
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:724:59:   required from 'std::experimental::fundamentals_v1::optional<_Tp> isaac::serialization::TryGet(const Json&) [with T = isaac::pololu::MaestroConfig::Type; isaac::Json = nlohmann::basic_json<>]'
external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:105:42:   required from 'bool isaac::alice::Parameter<T>::set(const json&) [with T = isaac::pololu::MaestroConfig::Type; nlohmann::json = nlohmann::basic_json<>]'
packages/pololu/components/PololuDriver.cpp:139:1:   required from here
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:101:16: error: 'from_json' was not declared in this scope
    from_json(json, x);
    ~~~~~~~~~^~~~~~~~~
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:101:16: note: suggested alternatives:
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:224:17: note:   'isaac::alice::from_json'
    inline void from_json(const BasicJsonType& j, ENUM_TYPE& e)                                \
                ^
external/com_nvidia_isaac_engine/engine/alice/status.hpp:27:1: note: in expansion of macro 'NLOHMANN_JSON_SERIALIZE_ENUM'
NLOHMANN_JSON_SERIALIZE_ENUM(Status, {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/status.hpp:12:0,
                from external/com_nvidia_isaac_engine/engine/alice/component_impl.hpp:15,
                from external/com_nvidia_isaac_engine/engine/alice/backend/component_query.hpp:16,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:18,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1570:23: note:   'nlohmann::{anonymous}::from_json'
constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::value;
                    ^~~~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1537:6: note:   'nlohmann::detail::from_json'
void from_json(const BasicJsonType& j, std::unordered_map<Key, Value, Hash, KeyEqual, Allocator>& m)
    ^~~~~~~~~
external/com_nvidia_isaac_engine/third_party/nlohmann/json.hpp:1570:23: note:   'nlohmann::{anonymous}::from_json'
constexpr const auto& from_json = detail::static_const<detail::from_json_fn>::value;
                    ^~~~~~~~~
In file included from external/com_nvidia_isaac_engine/engine/alice/hooks/config_hook.hpp:20:0,
                from external/com_nvidia_isaac_engine/engine/alice/component.hpp:14,
                from external/com_nvidia_isaac_engine/engine/alice/node.hpp:20,
                from external/com_nvidia_isaac_engine/engine/alice/application.hpp:21,
                from external/com_nvidia_isaac_engine/engine/alice/alice_codelet.hpp:12,
                from packages/pololu/components/PololuDriver.hpp:8,
                from packages/pololu/components/PololuDriver.cpp:6:
external/com_nvidia_isaac_engine/engine/gems/serialization/json_formatter.hpp:745:6: note:   'Eigen::from_json'
void from_json(const nlohmann::json& json, T& value) {
    ^~~~~~~~~
Target //apps/samples/pololu:pololu failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 3.616s, Critical Path: 3.48s
INFO: 0 processes.
FAILED: Build did NOT complete successfully

I do not understand the reason for this error - crosstool_wrapper_driver_is_not_gcc_host.py failed.
The closes i have come to regarding the same error is in this TOPIC - Problem with Zed SDK v. 3.2.0 for Zed 2 Camera

But what is the solution or direction to tackling the problem is unclear. It would really help if i could be help to understand the problem or the reason for this problem.

Wrong Parameter Values in ISAAC_PARAM() function, solved it.

1 Like

The types configured for an ISAAC_PARAM() all need to have a to/from JSON function defined so that they can be read from config files and work with the Isaac C API. If you use a new type there, you have to provide implementations of these methods to serialize/deserialize the values.

1 Like

Understood, thank you for reply.