can't run the face-recognition sample

I found a very good face-recognition sample ,but I met many errors when followed its guide,I don’t know how to solve it ,would you like to help me ,thank you very much!

nvidia@jetson-1422719019466:~/Face-Recognition/build$ make
[ 4%] Building CXX object CMakeFiles/jetson-inference.dir/pluginImplement.cpp.o
In file included from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:0:
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:70:25: error: ‘std::vector’ has not been declared
void mergeRect(std::vector& rects, const float4& rect);
^
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:70:31: error: expected ‘,’ or ‘…’ before ‘<’ token
void mergeRect(std::vector& rects, const float4& rect);
^
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:112:17: error: ‘vector’ in namespace ‘std’ does not name a template type
static std::vector<bboxProfile*> bboxTable;
^
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:113:17: error: ‘vector’ in namespace ‘std’ does not name a template type
static std::vector<tagProfile*> tagTable;
^
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:150:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
std::unique_ptr mBboxMergeLayer{ nullptr };
^
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:151:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
std::unique_ptr mDataRoiLayer{ nullptr };
^
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:152:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
std::unique_ptr mSelectLayer{ nullptr };
^
/home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:153:10: error: ‘unique_ptr’ in namespace ‘std’ does not name a template type
std::unique_ptr mSummaryLayer{ nullptr };
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:3:6: error: ‘vector’ in namespace ‘std’ does not name a template type
std::vector<bboxProfile*> RecognitionLayer::bboxTable;
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:4:6: error: ‘vector’ in namespace ‘std’ does not name a template type
std::vector<tagProfile*> RecognitionLayer::tagTable;
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp: In member function ‘virtual nvinfer1::IPlugin* PluginFactory::createPlugin(const char*, const nvinfer1::Weights*, int)’:
/home/nvidia/Face-Recognition/pluginImplement.cpp:22:16: error: ‘mBboxMergeLayer’ was not declared in this scope
assert(mBboxMergeLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:23:27: error: ‘unique_ptr’ is not a member of ‘std’
mBboxMergeLayer = std::unique_ptr(new BboxMergeLayer())
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:23:57: error: expected primary-expression before ‘>’ token
mBboxMergeLayer = std::unique_ptr(new BboxMergeLayer())
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp:28:16: error: ‘mDataRoiLayer’ was not declared in this scope
assert(mDataRoiLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:29:25: error: ‘unique_ptr’ is not a member of ‘std’
mDataRoiLayer = std::unique_ptr(new DataRoiLayer());
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:29:53: error: expected primary-expression before ‘>’ token
mDataRoiLayer = std::unique_ptr(new DataRoiLayer());
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp:34:16: error: ‘mSelectLayer’ was not declared in this scope
assert(mSelectLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:35:24: error: ‘unique_ptr’ is not a member of ‘std’
mSelectLayer = std::unique_ptr(new RecognitionLayer(F
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:35:56: error: expected primary-expression before ‘>’ token
mSelectLayer = std::unique_ptr(new RecognitionLayer(F
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp:40:16: error: ‘mSummaryLayer’ was not declared in this scope
assert(mSummaryLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:41:25: error: ‘unique_ptr’ is not a member of ‘std’
mSummaryLayer = std::unique_ptr(new RecognitionLayer(
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:41:57: error: expected primary-expression before ‘>’ token
mSummaryLayer = std::unique_ptr(new RecognitionLayer(
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp: In member function ‘virtual nvinfer1::IPlugin* PluginFactory::createPlugin(const char*, const void*, size_t)’:
/home/nvidia/Face-Recognition/pluginImplement.cpp:56:16: error: ‘mBboxMergeLayer’ was not declared in this scope
assert(mBboxMergeLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:57:27: error: ‘unique_ptr’ is not a member of ‘std’
mBboxMergeLayer = std::unique_ptr(new BboxMergeLayer(se
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:57:57: error: expected primary-expression before ‘>’ token
mBboxMergeLayer = std::unique_ptr(new BboxMergeLayer(se
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp:62:16: error: ‘mDataRoiLayer’ was not declared in this scope
assert(mDataRoiLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:63:25: error: ‘unique_ptr’ is not a member of ‘std’
mDataRoiLayer = std::unique_ptr(new DataRoiLayer(serialDa
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:63:53: error: expected primary-expression before ‘>’ token
mDataRoiLayer = std::unique_ptr(new DataRoiLayer(serialDa
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp:68:16: error: ‘mSelectLayer’ was not declared in this scope
assert(mSelectLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:69:24: error: ‘unique_ptr’ is not a member of ‘std’
mSelectLayer = std::unique_ptr(new RecognitionLayer(F
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:69:56: error: expected primary-expression before ‘>’ token
mSelectLayer = std::unique_ptr(new RecognitionLayer(F
^
In file included from /usr/include/c++/5/cassert:43:0,
from /home/nvidia/Face-Recognition/build/aarch64/include/pluginImplement.h:4,
from /home/nvidia/Face-Recognition/pluginImplement.cpp:1:
/home/nvidia/Face-Recognition/pluginImplement.cpp:74:16: error: ‘mSummaryLayer’ was not declared in this scope
assert(mSummaryLayer.get() == nullptr);
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:75:25: error: ‘unique_ptr’ is not a member of ‘std’
mSummaryLayer = std::unique_ptr(new RecognitionLayer(
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:75:57: error: expected primary-expression before ‘>’ token
mSummaryLayer = std::unique_ptr(new RecognitionLayer(
^
/home/nvidia/Face-Recognition/pluginImplement.cpp: In member function ‘void PluginFactory::destroyPlugin()’:
/home/nvidia/Face-Recognition/pluginImplement.cpp:95:5: error: ‘mBboxMergeLayer’ was not declared in this scope
mBboxMergeLayer.release();
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:97:5: error: ‘mDataRoiLayer’ was not declared in this scope
mDataRoiLayer.release();
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:99:5: error: ‘mSelectLayer’ was not declared in this scope
mSelectLayer.release();
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:101:5: error: ‘mSummaryLayer’ was not declared in this scope
mSummaryLayer.release();
^
/home/nvidia/Face-Recognition/pluginImplement.cpp: In member function ‘virtual int BboxMergeLayer::enqueue(int, const void* const*, void**, void*, cudaStream_t)’:
/home/nvidia/Face-Recognition/pluginImplement.cpp:141:5: error: ‘vector’ is not a member of ‘std’
std::vector< std::vector > rects;
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:141:18: error: ‘vector’ is not a member of ‘std’
std::vector< std::vector > rects;
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:141:36: error: expected primary-expression before ‘>’ token
std::vector< std::vector > rects;
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:141:38: error: expected primary-expression before ‘>’ token
std::vector< std::vector > rects;
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:141:40: error: ‘rects’ was not declared in this scope
std::vector< std::vector > rects;
^
/home/nvidia/Face-Recognition/pluginImplement.cpp: At global scope:
/home/nvidia/Face-Recognition/pluginImplement.cpp:213:37: error: variable or field ‘mergeRect’ declared void
void BboxMergeLayer::mergeRect(std::vector& rects, const float4& rect)
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:213:32: error: ‘vector’ is not a member of ‘std’
void BboxMergeLayer::mergeRect(std::vector& rects, const float4& rect)
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:213:50: error: expected primary-expression before ‘>’ token
void BboxMergeLayer::mergeRect(std::vector& rects, const float4& rect)
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:213:53: error: ‘rects’ was not declared in this scope
void BboxMergeLayer::mergeRect(std::vector& rects, const float4& rect)
^
/home/nvidia/Face-Recognition/pluginImplement.cpp:213:60: error: expected primary-expression before ‘const’
void BboxMergeLayer::mergeRect(std::vector& rects, const float4& rect)
^
CMakeFiles/jetson-inference.dir/build.make:1493: recipe for target ‘CMakeFiles/jetson-inference.dir/pluginImplement.cpp.o’ failed
make[2]: *** [CMakeFiles/jetson-inference.dir/pluginImplement.cpp.o] Error 1
CMakeFiles/Makefile2:67: recipe for target ‘CMakeFiles/jetson-inference.dir/all’ failed
make[1]: *** [CMakeFiles/jetson-inference.dir/all] Error 2
Makefile:116: recipe for target ‘all’ failed
make: *** [all] Error 2

This is the sample URL: https://github.com/AastaNV/Face-Recognition

I run the command:
sudo apt-get install git cmake git clone https://github.com/AastaNV/Face-Recognition
cd Face-Recognition mkdir build
cd build cmake …
$ make

then the above errors occur.

my environment: TX2 JetPack3.3.1

Hi,

You will need to use JetPack3.1 to build the sample.
Thanks.

OK,I can’t believe the versions of the JetPack are so different, I think the later one will be downward-compatible with earlier one.
anyway,thank you very much,AastaLLL!