Skip to content

Nvidia Jetson Orin related questions #12

Description

@furrysalamander

While attempting to compile for the Jetson Orin, I ran into the following build errors:

In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/string:40,
                 from /usr/include/c++/11/stdexcept:39,
                 from /usr/include/c++/11/system_error:41,
                 from /usr/include/c++/11/bits/fs_fwd.h:35,
                 from /usr/include/c++/11/filesystem:44,
                 from /home/mike/source/audio.cpp/include/engine/framework/io/json.h:4,
                 from /home/mike/source/audio.cpp/src/framework/io/json.cpp:1:
/usr/include/c++/11/bits/stl_pair.h: In instantiation of ‘struct std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>’:
/usr/include/c++/11/ext/aligned_buffer.h:91:28:   required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:234:43:   required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:268:12:   required from ‘struct std::__detail::_Hash_node_value<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:277:12:   required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:1812:13:   required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true> > >’
/usr/include/c++/11/bits/hashtable_policy.h:811:13:   required from ‘struct std::__detail::_Insert_base<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/hashtable_policy.h:1004:12:   required from ‘struct std::__detail::_Insert<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, false>’
/usr/include/c++/11/bits/hashtable.h:180:11:   required from ‘class std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/unordered_map.h:105:18:   required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, engine::io::json::Value>’
/home/mike/source/audio.cpp/include/engine/framework/io/json.h:62:12:   required from here
/usr/include/c++/11/bits/stl_pair.h:218:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
  218 |        _T2 second;                ///< The second member
      |           ^~~~~~
/home/mike/source/audio.cpp/include/engine/framework/io/json.h:14:7: note: forward declaration of ‘class engine::io::json::Value’
   14 | class Value {
      |        ^~~~~

In file included from /usr/include/c++/11/bits/stl_algobase.h:64,
                 from /usr/include/c++/11/bits/char_traits.h:39,
                 from /usr/include/c++/11/string:40,
                 from /usr/include/c++/11/stdexcept:39,
                 from /usr/include/c++/11/system_error:41,
                 from /usr/include/c++/11/bits/fs_fwd.h:35,
                 from /usr/include/c++/11/filesystem:44,
                 from /home/mike/source/audio.cpp/include/engine/framework/io/config.h:3,
                 from /home/mike/source/audio.cpp/src/framework/io/config.cpp:1:
/usr/include/c++/11/bits/stl_pair.h: In instantiation of ‘struct std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>’:
/usr/include/c++/11/ext/aligned_buffer.h:91:28:   required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:234:43:   required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:268:12:   required from ‘struct std::__detail::_Hash_node_value<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:277:12:   required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:1812:13:   required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true> > >’
/usr/include/c++/11/bits/hashtable_policy.h:811:13:   required from ‘struct std::__detail::_Insert_base<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/hashtable_policy.h:1004:12:   required from ‘struct std::__detail::_Insert<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, false>’
/usr/include/c++/11/bits/hashtable.h:180:11:   required from ‘class std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/unordered_map.h:105:18:   required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, engine::io::json::Value>’
/home/mike/source/audio.cpp/include/engine/framework/io/json.h:62:12:   required from here
/usr/include/c++/11/bits/stl_pair.h:218:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
  218 |        _T2 second;                ///< The second member
      |           ^~~~~~
/home/mike/source/audio.cpp/include/engine/framework/io/json.h:14:7: note: forward declaration of ‘class engine::io::json::Value’
   14 | class Value {
      |        ^~~~~

In file included from /home/mike/source/audio.cpp/src/framework/sampling/noise.cpp:1:
/home/mike/source/audio.cpp/include/engine/framework/sampling/noise.h:8:42: error: ‘size_t’ was not declared in this scope; did you mean ‘std::size_t’?
    8 | std::vector<float> generate_normal_noise(size_t count, uint32_t seed, float scale = 1.0F);
      |                                          ^~~~~~
      |                                          std::size_t
/usr/include/aarch64-linux-gnu/c++/11/bits/c++config.h:280:33: note: ‘std::size_t’ declared here
  280 |   typedef __SIZE_TYPE__         size_t;
      |                                 ^~~~~~
In file included from /home/mike/source/audio.cpp/src/framework/sampling/noise.cpp:1:
/home/mike/source/audio.cpp/include/engine/framework/sampling/noise.h:8:65: error: expected primary-expression before ‘seed’
    8 | std::vector<float> generate_normal_noise(size_t count, uint32_t seed, float scale = 1.0F);
      |                                                                 ^~~~
/home/mike/source/audio.cpp/include/engine/framework/sampling/noise.h:8:71: error: expected primary-expression before ‘float’
    8 | std::vector<float> generate_normal_noise(size_t count, uint32_t seed, float scale = 1.0F);
      |                                                                       ^~~~~

In file included from /usr/include/c++/11/utility:70,
                 from /usr/include/c++/11/array:38,
                 from /home/mike/source/audio.cpp/include/engine/framework/core/module.h:5,
                 from /home/mike/source/audio.cpp/include/engine/framework/assets/tensor_source.h:3,
                 from /home/mike/source/audio.cpp/include/engine/framework/assets/resource_bundle.h:3,
                 from /home/mike/source/audio.cpp/src/framework/assets/resource_bundle.cpp:1:
/usr/include/c++/11/bits/stl_pair.h: In instantiation of ‘struct std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>’:
/usr/include/c++/11/ext/aligned_buffer.h:91:28:   required from ‘struct __gnu_cxx::__aligned_buffer<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:234:43:   required from ‘struct std::__detail::_Hash_node_value_base<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >’
/usr/include/c++/11/bits/hashtable_policy.h:268:12:   required from ‘struct std::__detail::_Hash_node_value<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:277:12:   required from ‘struct std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true>’
/usr/include/c++/11/bits/hashtable_policy.h:1812:13:   required from ‘struct std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, true> > >’
/usr/include/c++/11/bits/hashtable_policy.h:811:13:   required from ‘struct std::__detail::_Insert_base<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/hashtable_policy.h:1004:12:   required from ‘struct std::__detail::_Insert<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true>, false>’
/usr/include/c++/11/bits/hashtable.h:180:11:   required from ‘class std::_Hashtable<std::__cxx11::basic_string<char>, std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value>, std::allocator<std::pair<const std::__cxx11::basic_string<char>, engine::io::json::Value> >, std::__detail::_Select1st, std::equal_to<std::__cxx11::basic_string<char> >, std::hash<std::__cxx11::basic_string<char> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, false, true> >’
/usr/include/c++/11/bits/unordered_map.h:105:18:   required from ‘class std::unordered_map<std::__cxx11::basic_string<char>, engine::io::json::Value>’
/home/mike/source/audio.cpp/include/engine/framework/io/json.h:62:12:   required from here
/usr/include/c++/11/bits/stl_pair.h:218:11: error: ‘std::pair<_T1, _T2>::second’ has incomplete type
  218 |        _T2 second;                ///< The second member
      |           ^~~~~~
/home/mike/source/audio.cpp/include/engine/framework/io/json.h:14:7: note: forward declaration of ‘class engine::io::json::Value’
   14 | class Value {
      |        ^~~~~

Plus a few others after this for similar items. I used deepseek v4 flash to work through them, and then I was able to build all the way. I have not yet fully validated the audio from the server. It's getting late and hopefully I'll get around to it sometime this week. I'm attaching the patch file for the changes I made in case it's helpful at all.

0001-fix-incomplete-type-errors.patch

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions