Custom Backend Tutorial Fails to Build Plugin
Hello!
I am following the tutorial here: Tutorial
I suspect the issue is that I cannot follow the instructions to configure it for Tensorflow. The link to that article is broken in the tutorial.
I am using arm-nn version 21.05. I have added the folder "custom" (from the downloaded zip file) to the src/backends directory. I am now trying to build the plugin using cmake/make, but there are files the compiler cannot find (the first is backendscommon/CpuTensorHandle.hpp, which I confirmed does not exist in src/backendsCommon
I appreciate any help you may be able to offer!
In file included from /home/jeff/armnn/src/backends/custom/CustomBackendUtils.cpp:6: /home/jeff/armnn/src/backends/custom/CustomBackendUtils.hpp:11:10: fatal error: backendsCommon/CpuTensorHandle.hpp: No such file or directory 11 | #include <backendsCommon/CpuTensorHandle.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/backends/custom/CMakeFiles/armnnCustomBackend.dir/build.make:76: src/backends/custom/CMakeFiles/armnnCustomBackend.dir/CustomBackendUtils.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /home/jeff/armnn/src/backends/custom/CustomWorkloadFactory.cpp:11:10: fatal error: backendsCommon/CpuTensorHandle.hpp: No such file or directory 11 | #include <backendsCommon/CpuTensorHandle.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/backends/custom/CMakeFiles/armnnCustomBackend.dir/build.make:115: src/backends/custom/CMakeFiles/armnnCustomBackend.dir/CustomWorkloadFactory.cpp.o] Error 1 In file included from /home/jeff/armnn/src/backends/custom/workloads/CustomPreCompiledWorkload.cpp:8: /home/jeff/armnn/src/backends/custom/CustomBackendUtils.hpp:11:10: fatal error: backendsCommon/CpuTensorHandle.hpp: No such file or directory 11 | #include <backendsCommon/CpuTensorHandle.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[1]: *** [CMakeFiles/Makefile2:1339: src/backends/custom/CMakeFiles/armnnCustomBackend.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... make[2]: *** [src/backends/custom/workloads/CMakeFiles/armnnCustomBackendWorkloads.dir/build.make:76: src/backends/custom/workloads/CMakeFiles/armnnCustomBackendWorkloads.dir/CustomPreCompiledWorkload.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/jeff/armnn/src/backends/custom/workloads/CustomAdditionWorkload.cpp:8: /home/jeff/armnn/src/backends/custom/CustomBackendUtils.hpp:11:10: fatal error: backendsCommon/CpuTensorHandle.hpp: No such file or directory 11 | #include <backendsCommon/CpuTensorHandle.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/backends/custom/workloads/CMakeFiles/armnnCustomBackendWorkloads.dir/build.make:63: src/backends/custom/workloads/CMakeFiles/armnnCustomBackendWorkloads.dir/CustomAdditionWorkload.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:1366: src/backends/custom/workloads/CMakeFiles/armnnCustomBackendWorkloads.dir/all] Error 2 /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:8:10: fatal error: backendsCommon/CpuTensorHandle.hpp: No such file or directory 8 | #include <backendsCommon/CpuTensorHandle.hpp> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. make[2]: *** [src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/build.make:63: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /home/jeff/armnn/src/backends/custom/test/CustomEndToEndTests.cpp: In function ‘void AdditionToPreCompiledTest()’: /home/jeff/armnn/src/backends/custom/test/CustomEndToEndTests.cpp:49:41: error: ‘OptimizedNetwork’ does not name a type; did you mean ‘optimizedNet’? 49 | Graph& optimizedGraph = static_cast<OptimizedNetwork*>(optimizedNet.get())->GetGraph(); | ^~~~~~~~~~~~~~~~ | optimizedNet /home/jeff/armnn/src/backends/custom/test/CustomEndToEndTests.cpp:49:57: error: expected ‘>’ before ‘*’ token 49 | Graph& optimizedGraph = static_cast<OptimizedNetwork*>(optimizedNet.get())->GetGraph(); | ^ /home/jeff/armnn/src/backends/custom/test/CustomEndToEndTests.cpp:49:57: error: expected ‘(’ before ‘*’ token 49 | Graph& optimizedGraph = static_cast<OptimizedNetwork*>(optimizedNet.get())->GetGraph(); | ^ | ( /home/jeff/armnn/src/backends/custom/test/CustomEndToEndTests.cpp:49:58: error: expected primary-expression before ‘>’ token 49 | Graph& optimizedGraph = static_cast<OptimizedNetwork*>(optimizedNet.get())->GetGraph(); | ^ /home/jeff/armnn/src/backends/custom/test/CustomEndToEndTests.cpp:49:81: error: ‘class armnn::IOptimizedNetwork’ has no member named ‘GetGraph’; did you mean ‘PrintGraph’? 49 | Graph& optimizedGraph = static_cast<OptimizedNetwork*>(optimizedNet.get())->GetGraph(); | ^~~~~~~~ | PrintGraph /home/jeff/armnn/src/backends/custom/test/CustomEndToEndTests.cpp:49:91: error: expected ‘)’ before ‘;’ token 49 | Graph& optimizedGraph = static_cast<OptimizedNetwork*>(optimizedNet.get())->GetGraph(); | ^ | ) make[2]: *** [src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/build.make:76: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomEndToEndTests.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:1393: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/all] Error 2 make: *** [Makefile:130: all] Error 2
Hi @MisterBerg
Yeah, that example is broken as it still refers to TensorFlow and TensorFlow support was removed in ArmNN 21.05. The team over at developer.arm.com have been notified.
From looking at the tutorial it doesn't seem to actually need TensorFlow so instead of following the missing guide you could follow the steps here: https://developer.arm.com/solutions/machine-learning-on-arm/developer-material/how-to-guides/configure-the-arm-nn-sdk-build-environment
However, the contents of CpuTensorHandle.hpp were moved in 21.05 and the type has been deprecated. I'll see if I can get the code in ArmNNPluginFramework.zip to compile with 21.05 and I'll add it here if I can. You might have more luck compiling it for ArmNN 21.02.
Best regards, Mike
Hi Mike
Thanks a lot for the help - I wasn't really expecting anything until next week at best, so I really appreciate it!
My project is really going to rely on accurate model parsing going forward, and we will potentially need to make use of the DSP and GPU on our board in addition to the ARM cores. So, having an up-to-date parser and continuing ARM support is probably a must-have and I don't want to start with an older release. By the way, ARMNN is a really good way for us to implement a one-stop shop for all potential ML targets on our ARM board, which is why I chose ARMNN for development. You might want to get someone to fix the tutorial to make it easer for others like me to get started.
Thanks again, and have a good weekend!
Hi @MisterBerg
The code in the ArmNNPluginFramework.zip was definitely out of date. I can get it to compile with the 21.05 release with this patch:
Updated-ArmNNPluginFramework.zip.txt
Can you let me know if that works for you?
Best regards, Mike
[Edit: Deleted zip file] This probably makes more sense. :)
It's the full, updated example, this should compile, please let me know if it works for you and I'll see if I can get the online guide updated.
Hi Mike, sorry for the delay. I will check it now, thanks!
Hi Mike
CMAKE is finding the boost library (1.64.0), but I think compiler doesn't see the right CHECK function in scope. I'm assuming CHECK comes from boost, but I am not sure. Here is the output:
/home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:58:5: error: ‘CHECK’ was not declared in this scope; did you mean ‘boost::test_tools::tt_detail::CHECK’? 58 | CHECK(queueDescriptor.m_Inputs.size() == 2); | ^~~~~ | boost::test_tools::tt_detail::CHECK In file included from /home/jeff/armnn/boost/include/boost/test/tools/old/impl.hpp:23, from /home/jeff/armnn/boost/include/boost/test/test_tools.hpp:46, from /home/jeff/armnn/boost/include/boost/test/unit_test.hpp:18, from /home/jeff/armnn/src/armnn/test/CreateWorkload.hpp:21, from /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:6: /home/jeff/armnn/boost/include/boost/test/tools/detail/fwd.hpp:78:11: note: ‘boost::test_tools::tt_detail::CHECK’ declared here 78 | WARN, CHECK, REQUIRE, PASS | ^~~~~ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp: In function ‘void CustomCreatePreCompiledWorkloadTest()’: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:110:5: error: ‘CHECK’ was not declared in this scope; did you mean ‘boost::test_tools::tt_detail::CHECK’? 110 | CHECK(queueDescriptor.m_Inputs.size() == 2); | ^~~~~ | boost::test_tools::tt_detail::CHECK In file included from /home/jeff/armnn/boost/include/boost/test/tools/old/impl.hpp:23, from /home/jeff/armnn/boost/include/boost/test/test_tools.hpp:46, from /home/jeff/armnn/boost/include/boost/test/unit_test.hpp:18, from /home/jeff/armnn/src/armnn/test/CreateWorkload.hpp:21, from /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:6: /home/jeff/armnn/boost/include/boost/test/tools/detail/fwd.hpp:78:11: note: ‘boost::test_tools::tt_detail::CHECK’ declared here 78 | WARN, CHECK, REQUIRE, PASS | ^~~~~ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp: At global scope: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:119:11: error: expected constructor, destructor, or type conversion before ‘(’ token 119 | TEST_SUITE("CreateWorkloadCustom") | ^ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp: In instantiation of ‘void {anonymous}::CheckInputsOutput(std::unique_ptr<_Tp>, const armnn::TensorInfo&, const armnn::TensorInfo&, const armnn::TensorInfo&) [with Workload = armnn::CustomAdditionWorkload]’: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:64:62: required from here /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:27:10: error: ‘CHECK’ was not declared in this scope; did you mean ‘boost::test_tools::tt_detail::CHECK’? 27 | CHECK((inputHandle0->GetTensorInfo() == inputInfo0)); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | boost::test_tools::tt_detail::CHECK In file included from /home/jeff/armnn/boost/include/boost/test/tools/old/impl.hpp:23, from /home/jeff/armnn/boost/include/boost/test/test_tools.hpp:46, from /home/jeff/armnn/boost/include/boost/test/unit_test.hpp:18, from /home/jeff/armnn/src/armnn/test/CreateWorkload.hpp:21, from /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:6: /home/jeff/armnn/boost/include/boost/test/tools/detail/fwd.hpp:78:11: note: ‘boost::test_tools::tt_detail::CHECK’ declared here 78 | WARN, CHECK, REQUIRE, PASS | ^~~~~ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:28:10: error: ‘CHECK’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 28 | CHECK((inputHandle1->GetTensorInfo() == inputInfo1)); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:29:10: error: ‘CHECK’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 29 | CHECK((outputHandle->GetTensorInfo() == outputInfo)); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp: In instantiation of ‘void {anonymous}::CheckInputsOutput(std::unique_ptr<_Tp>, const armnn::TensorInfo&, const armnn::TensorInfo&, const armnn::TensorInfo&) [with Workload = armnn::CustomPreCompiledWorkload]’: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:116:62: required from here /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:27:10: error: ‘CHECK’ was not declared in this scope; did you mean ‘boost::test_tools::tt_detail::CHECK’? 27 | CHECK((inputHandle0->GetTensorInfo() == inputInfo0)); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | boost::test_tools::tt_detail::CHECK In file included from /home/jeff/armnn/boost/include/boost/test/tools/old/impl.hpp:23, from /home/jeff/armnn/boost/include/boost/test/test_tools.hpp:46, from /home/jeff/armnn/boost/include/boost/test/unit_test.hpp:18, from /home/jeff/armnn/src/armnn/test/CreateWorkload.hpp:21, from /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:6: /home/jeff/armnn/boost/include/boost/test/tools/detail/fwd.hpp:78:11: note: ‘boost::test_tools::tt_detail::CHECK’ declared here 78 | WARN, CHECK, REQUIRE, PASS | ^~~~~ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:28:10: error: ‘CHECK’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 28 | CHECK((inputHandle1->GetTensorInfo() == inputInfo1)); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:29:10: error: ‘CHECK’ was not declared in this scope, and no declarations were found by argument-dependent lookup at the point of instantiation [-fpermissive] 29 | CHECK((outputHandle->GetTensorInfo() == outputInfo)); | ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ make[2]: *** [src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/build.make:63: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [CMakeFiles/Makefile2:1393: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 40%] Built target armnnCustomBackend In file included from /home/jeff/armnn/boost/include/boost/test/unit_test.hpp:19, from /home/jeff/armnn/src/armnn/test/TensorHelpers.hpp:16, from /home/jeff/armnn/src/backends/backendsCommon/test/layerTests/BatchToSpaceNdTestImpl.hpp:20, from /home/jeff/armnn/src/backends/backendsCommon/test/LayerTests.hpp:13, from /home/jeff/armnn/src/backends/reference/test/RefLayerTests.cpp:8: /home/jeff/armnn/src/backends/reference/test/RefLayerTests.cpp: In function ‘void __static_initialization_and_destruction_0(int, int)’: /home/jeff/armnn/src/backends/reference/test/RefLayerTests.cpp:2273:1: note: variable tracking size limit exceeded with ‘-fvar-tracking-assignments’, retrying without 2273 | BOOST_AUTO_TEST_SUITE_END() | ^~~~~~~~~~~~~~~~~~~~~~~~~ [ 42%] Built target armnnRefBackendUnitTests make: *** [Makefile:130: all] Error 2
Hi @MisterBerg
we don't use boost anymore, it was causing some issues for some people, so we're in the process of removing it completely but there may still be references to it hanging around. We use doctest for unit tests now, if you add this include to CustomCreateWorkloadTests.cpp then it should hopefully work.
#include <doctest/doctest.h>
I don't know why it's working for me without that include but I'll update the version in the zip and then reupload it if that works for you.
Hi again, Mike, and thanks for the help!
I was able to reach 100% compilation, but now there are doctest related linking errors. It clearly found the doctest header, but there is no .cpp file there (I assume this would be part of the repository).
There is a huge block of errors, but here is a small portion that might help:
[100%] Linking CXX executable UnitTests /usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function void (anonymous namespace)::CheckInputsOutputarmnn::CustomAdditionWorkload(std::unique_ptr<armnn::CustomAdditionWorkload, std::default_deletearmnn::CustomAdditionWorkload >, armnn::TensorInfo const&, armnn::TensorInfo const&, armnn::TensorInfo const&)':
/home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:27: undefined reference to doctest::detail::ResultBuilder::ResultBuilder(doctest::assertType::Enum, char const*, int, char const*, char const*, char const*)' /usr/bin/ld: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:27: undefined reference to doctest::detail::ExpressionDecomposer::ExpressionDecomposer(doctest::assertType::Enum)'
/usr/bin/ld: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:27: undefined reference to doctest::detail::ResultBuilder::setResult(doctest::detail::Result const&)' /usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function doctest::detail::Result::~Result()':
/home/jeff/armnn/third-party/doctest/doctest.h:1032: undefined reference to doctest::String::~String()' /usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function void (anonymous namespace)::CheckInputsOutputarmnn::CustomAdditionWorkload(std::unique_ptr<armnn::CustomAdditionWorkload, std::default_deletearmnn::CustomAdditionWorkload >, armnn::TensorInfo const&, armnn::TensorInfo const&, armnn::TensorInfo const&)':
/home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:27: undefined reference to doctest::detail::ResultBuilder::log()' /usr/bin/ld: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:27: undefined reference to doctest::detail::ResultBuilder::react() const'
/usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function doctest::AssertData::~AssertData()': /home/jeff/armnn/third-party/doctest/doctest.h:652: undefined reference to doctest::String::~String()'
/usr/bin/ld: /home/jeff/armnn/third-party/doctest/doctest.h:652: undefined reference to doctest::String::~String()' /usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function void (anonymous namespace)::CheckInputsOutputarmnn::CustomAdditionWorkload(std::unique_ptr<armnn::CustomAdditionWorkload, std::default_deletearmnn::CustomAdditionWorkload >, armnn::TensorInfo const&, armnn::TensorInfo const&, armnn::TensorInfo const&)':
/home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:28: undefined reference to doctest::detail::ResultBuilder::ResultBuilder(doctest::assertType::Enum, char const*, int, char const*, char const*, char const*)' /usr/bin/ld: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:28: undefined reference to doctest::detail::ExpressionDecomposer::ExpressionDecomposer(doctest::assertType::Enum)'
/usr/bin/ld: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:28: undefined reference to doctest::detail::ResultBuilder::setResult(doctest::detail::Result const&)' /usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function doctest::detail::Result::~Result()':
/home/jeff/armnn/third-party/doctest/doctest.h:1032: undefined reference to doctest::String::~String()' /usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function void (anonymous namespace)::CheckInputsOutputarmnn::CustomAdditionWorkload(std::unique_ptr<armnn::CustomAdditionWorkload, std::default_deletearmnn::CustomAdditionWorkload >, armnn::TensorInfo const&, armnn::TensorInfo const&, armnn::TensorInfo const&)':
/home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:28: undefined reference to doctest::detail::ResultBuilder::log()' /usr/bin/ld: /home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:28: undefined reference to doctest::detail::ResultBuilder::react() const'
/usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function doctest::AssertData::~AssertData()': /home/jeff/armnn/third-party/doctest/doctest.h:652: undefined reference to doctest::String::~String()'
/usr/bin/ld: /home/jeff/armnn/third-party/doctest/doctest.h:652: undefined reference to doctest::String::~String()' /usr/bin/ld: src/backends/custom/test/CMakeFiles/armnnCustomBackendUnitTests.dir/CustomCreateWorkloadTests.cpp.o: in function void (anonymous namespace)::CheckInputsOutputarmnn::CustomAdditionWorkload(std::unique_ptr<armnn::CustomAdditionWorkload, std::default_deletearmnn::CustomAdditionWorkload >, armnn::TensorInfo const&, armnn::TensorInfo const&, armnn::TensorInfo const&)':
/home/jeff/armnn/src/backends/custom/test/CustomCreateWorkloadTests.cpp:29: undefined reference to doctest::detail::ResultBuilder::ResultBuilder(doctest::assertType::Enum, char const*, int, char const*, char const*, char const*)'
Hi @MisterBerg
I got my timeline confused the version we still used boost for our unit tests in ArmNN at the end of 21.05, we switched to doctest in June. The version I previously uploaded will work with master but not 21.05.
This version should compile with 21.05: ArmNNPluginFramework.zip
Sorry about the confusion!
Best regards, Mike
Hi Mike
I was able to get everything to build correctly after switching to the master branch. I would comment that cmake still fails if you don't provide the boost root directory through the -DBOOST_ROOT= parameter.
Regardless, I'd like to thank you again for all the help - your support has really been stellar and I appreciate it!
Let me know when the tutorial gets updated and I will take a look.
Hi MisterBerg,
I'm glad that you were able to get it all working! I'll leave this issue open and post when the guide is updated.
Best regards, Mike
Hi @MisterBerg,
The linked guide was updated in September 2021 according to https://developer.arm.com/documentation/102274/latest/?lang=en
6 September 2021 | Non-Confidential | Removes Boost library dependency.
I'll close the ticket for now, but please reopen if any other changes are needed.
Regards, Francis.