Hexagon Graph Launcher build error

I used tvm v0.9 to build Hexagon Graph Launcher following the tutorial, but I got a missing symbol problem:[Hexagon] Error opening FastRPC channel - #7 by kparzysz. So I try to use tvm v0.10.0rc0. But when building the hexagon part, I get the following error.

In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc:29:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/object.h:27:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/logging.h:33:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../3rdparty/dmlc-core/include/dmlc/thread_local.h:26:9: warning: Warning: CXX11 thread_local is not formally supported [-W#pragma-messages]
#pragma message("Warning: CXX11 thread_local is not formally supported")
        ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc:20:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:24:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../3rdparty/dmlc-core/include/dmlc/json.h:24:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../3rdparty/dmlc-core/include/dmlc/./logging.h:132:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/logging.h:33:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../3rdparty/dmlc-core/include/dmlc/thread_local.h:26:9: warning: Warning: CXX11 thread_local is not formally supported [-W#pragma-messages]
#pragma message("Warning: CXX11 thread_local is not formally supported")
        ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc:20:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:261:12: error: no template named 'bool_constant' in namespace 'std'; did you mean '_BoolConstant'?
    : std::bool_constant<std::is_base_of_v<
      ~~~~~^~~~~~~~~~~~~
           _BoolConstant
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:459:1: note: '_BoolConstant' declared here
using _BoolConstant _LIBCPP_NODEBUG_TYPE = integral_constant<bool, _Val>;
^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc:20:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:261:31: error: no template named 'is_base_of_v' in namespace 'std'; did you mean 'is_base_of'?
    : std::bool_constant<std::is_base_of_v<
                         ~~~~~^~~~~~~~~~~~
                              is_base_of
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:1725:29: note: 'is_base_of' declared here
struct _LIBCPP_TEMPLATE_VIS is_base_of
                            ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc:20:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:261:26: error: template argument for non-type template parameter must be an expression
    : std::bool_constant<std::is_base_of_v<
                         ^~~~~~~~~~~~~~~~~~
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:458:16: note: template parameter is declared here
template <bool _Val>
               ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc:20:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:268:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
inline constexpr bool is_valid_iterator_v = is_valid_iterator<T, IterType>::value;
^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:615:43: error: no template named 'invoke_result_t' in namespace 'std'
  template <typename F, typename U = std::invoke_result_t<F, T>>
                                     ~~~~~^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:58: error: no template named 'is_same_v' in namespace 'std'; did you mean 'is_same'?
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                                                    ~~~~~^~~~~~~~~
                                                         is_same
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:550:29: note: 'is_same' declared here
struct _LIBCPP_TEMPLATE_VIS is_same : _BoolConstant<__is_same(_Tp, _Up)> { };
                            ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc:35:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:261:12: error: no template named 'bool_constant' in namespace 'std'; did you mean '_BoolConstant'?
    : std::bool_constant<std::is_base_of_v<
      ~~~~~^~~~~~~~~~~~~
           _BoolConstant
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:459:1: note: '_BoolConstant' declared here
using _BoolConstant _LIBCPP_NODEBUG_TYPE = integral_constant<bool, _Val>;
^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc:20:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:76: error: no member named 'invoke_result_t' in namespace 'std'
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                                                                      ~~~~~^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:92: error: 'F' does not refer to a value
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                                                                                           ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:22: note: declared here
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                     ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:99: error: expected member name or ';' after declaration specifiers
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                                                                                                  ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc:35:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:261:31: error: no template named 'is_base_of_v' in namespace 'std'; did you mean 'is_base_of'?
    : std::bool_constant<std::is_base_of_v<
                         ~~~~~^~~~~~~~~~~~
                              is_base_of
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:1725:29: note: 'is_base_of' declared here
struct _LIBCPP_TEMPLATE_VIS is_base_of
                            ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc:35:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:261:26: error: template argument for non-type template parameter must be an expression
    : std::bool_constant<std::is_base_of_v<
                         ^~~~~~~~~~~~~~~~~~
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:458:16: note: template parameter is declared here
template <bool _Val>
               ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc:35:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:268:1: warning: inline variables are a C++17 extension [-Wc++17-extensions]
inline constexpr bool is_valid_iterator_v = is_valid_iterator<T, IterType>::value;
^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:736:43: error: no template named 'invoke_result_t' in namespace 'std'
  template <typename F, typename U = std::invoke_result_t<F, T>>
                                     ~~~~~^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:615:43: error: no template named 'invoke_result_t' in namespace 'std'
  template <typename F, typename U = std::invoke_result_t<F, T>>
                                     ~~~~~^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:58: error: no template named 'is_same_v' in namespace 'std'; did you mean 'is_same'?
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                                                    ~~~~~^~~~~~~~~
                                                         is_same
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:550:29: note: 'is_same' declared here
struct _LIBCPP_TEMPLATE_VIS is_same : _BoolConstant<__is_same(_Tp, _Up)> { };
                            ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:744:47: error: no template named 'is_same_v' in namespace 'std'; did you mean 'is_same'?
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc:35:
In file included from     constexpr bool is_same_output_type = std::is_same_v<T, U>;/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h
:26:
In file included from                                          ~~~~~^~~~~~~~~
                                              is_same/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h
:/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:550:29: note295: :
In file included from 'is_same' declared here/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:
28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:76: error: struct _LIBCPP_TEMPLATE_VIS is_same : _BoolConstant<__is_same(_Tp, _Up)> { };
no member named 'invoke_result_t' in namespace 'std'                            ^

  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc:
20:
In file included from                                                                       ~~~~~^/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h
:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:744:62: error: expected '(' for function-style cast or type construction
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:92: error: 'F' does not refer to a value    constexpr bool is_same_output_type = std::is_same_v<T, U>;

                                         ~~~~~~~~~~~~~~~~~~~~^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:746:8: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>    if constexpr (is_same_output_type) {
       ^

                                                                                           ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:746:19/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:: 626:22error::  constexpr if condition is not a constant expressionnote:
declared here
    if constexpr (is_same_output_type) {
                  ^~~~~~~~~~~~~~~~~~~
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:746:19: note: initializer of 'is_same_output_type' is unknown
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:744:20: note: declared here
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                     ^
    constexpr bool is_same_output_type = std::is_same_v<T, U>;
                   ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:626:99: error: expected member name or ';' after declaration specifiers
  template <typename F, typename = std::enable_if_t<std::is_same_v<T, std::invoke_result_t<F, T>>>>
                                                                                                  ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:766:8: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
    if constexpr (compatible_types) {
       ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:736:43: error: no template named 'invoke_result_t' in namespace 'std'
  template <typename F, typename U = std::invoke_result_t<F, T>>
                                     ~~~~~^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:744:47: error: no template named 'is_same_v' in namespace 'std'; did you mean 'is_same'?
    constexpr bool is_same_output_type = std::is_same_v<T, U>;
                                         ~~~~~^~~~~~~~~
                                              is_same
/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/../target/hexagon/include/c++/v1/type_traits:550:29: note: 'is_same' declared here
struct _LIBCPP_TEMPLATE_VIS is_same : _BoolConstant<__is_same(_Tp, _Up)> { };
                            ^
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc:35:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../launcher_core.h:26:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/module.h:295:
In file included from /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/packed_func.h:28:
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:744:62: error: expected '(' for function-style cast or type construction
    constexpr bool is_same_output_type = std::is_same_v<T, U>;
                                         ~~~~~~~~~~~~~~~~~~~~^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:746:8: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
    if constexpr (is_same_output_type) {
       ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:746:19: error: constexpr if condition is not a constant expression
    if constexpr (is_same_output_type) {
                  ^~~~~~~~~~~~~~~~~~~
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:746:19: note: initializer of 'is_same_output_type' is unknown
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:744:20: note: declared here
    constexpr bool is_same_output_type = std::is_same_v<T, U>;
                   ^
/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon/../../../../include/tvm/runtime/container/array.h:766:8: warning: constexpr if is a C++17 extension [-Wc++17-extensions]
    if constexpr (compatible_types) {
       ^
4 warnings and 12 errors generated.
CMakeFiles/launcher_rpc_skel.dir/build.make:110: recipe for target 'CMakeFiles/launcher_rpc_skel.dir/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc.o' failed
make[2]: *** [CMakeFiles/launcher_rpc_skel.dir/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_hexagon.cc.o] Error 1
make[2]: *** Waiting for unfinished jobs....
4 warnings and 12 errors generated.
CMakeFiles/launcher_rpc_skel.dir/build.make:96: recipe for target 'CMakeFiles/launcher_rpc_skel.dir/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc.o' failed
make[2]: *** [CMakeFiles/launcher_rpc_skel.dir/home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/launcher_core.cc.o] Error 1
CMakeFiles/Makefile2:84: recipe for target 'CMakeFiles/launcher_rpc_skel.dir/all' failed
make[1]: *** [CMakeFiles/launcher_rpc_skel.dir/all] Error 2
Makefile:90: recipe for target 'all' failed
make: *** [all] Error 2

Here is my cmake command:

cmake -DCMAKE_C_COMPILER=/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/hexagon-clang \
      -DCMAKE_CXX_COMPILER=/home/lvsss/Desktop/4.5.0.3/4.5.0.3/tools/HEXAGON_Tools/8.5.08/Tools/bin/hexagon-clang++ \
      -DUSE_HEXAGON_ARCH=v68 \
      -DUSE_HEXAGON_SDK=/home/lvsss/Desktop/4.5.0.3/4.5.0.3 \
      /home/lvsss/Desktop/tvm/tvm/apps/hexagon_launcher/cmake/hexagon

Does anyone know how to fix it? Thanks.

Hey lvsss,

these are making me think that this is a compiler issue.

1 Like

bool_constant and is_base_of_v are introduced in C++17. As of August 11th, TVM now requires C++17. I’m not sure why your compiler isn’t using C++17 – it’s definitely supported by the Hexagon toolchain.

I suppose you could try specifying -DCXX_STANDARD=17 to cmake and see if that makes a difference.

In general, hexagon_launcher is deprecated in favor of hexagon_api, so you might want to try that instead.

2 Likes

Thanks! By specifying -DCMAKE_CXX_STANDARD=17, it works. But I still get the undefined symbol error…

10-07 13:41:25.687 11189 11189 E launcher_android: vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:1294: Error 0x80000406: remote_handle_open_domain: dynamic loading failed for file:///liblauncher_rpc_skel.so?launcher_rpc_skel_handle_invoke&_modver=1.0&_dom=cdsp on domain 3 (dlerror undefined symbol PLT  #286 _ZN3tvm7runtime6detail8LogFatal8GetEntryEv in ./l
10-07 13:41:25.687 11189 11189 E launcher_android: vendor/qcom/proprietary/adsprpc/src/fastrpc_apps_user.c:1358: Error 0x80000406: remote_handle64_open failed for file:///liblauncher_rpc_skel.so?launcher_rpc_skel_handle_invoke&_modver=1.0&_dom=cdsp (errno Success)

I use Hexagon Launcher because I want to deploy my tflite model to the hexagon and test the run time.

launcher_hexagon is not deprecated, it’s an alternative that does not involve any python interactions, and can be used in standalone C++ code.

1 Like

Ahhh sorry, I was thinking of the offload runtime.

I haven’t used hexagon_launcher at all so I’m not sure why there’d be an undefined symbol.