PaddlePaddle / PaddleSeg

Easy-to-use image segmentation library with awesome pre-trained model zoo, supporting wide-range of practical tasks in Semantic Segmentation, Interactive Segmentation, Panoptic Segmentation, Image Matting, 3D Segmentation, etc.
https://arxiv.org/abs/2101.06175
Apache License 2.0
8.66k stars 1.68k forks source link

paddleseg部署linux c++时,按要求要安装yaml-cpp,glog等,但是glog始终在make -j时出错。在多个服务器上尝试失败 #3680

Open xiangfeidecao opened 7 months ago

xiangfeidecao commented 7 months ago

问题确认 Search before asking

请提出你的问题 Please ask your question

paddleseg部署linux c++时,按要求要安装yaml-cpp,glog等,但是glog始终在make -j时出错。在多个服务器上尝试失败。日志如下: [root@iZbp1i9nwh28kh5lxp9vhiZ build]# make -j Consolidate compiler generated dependencies of target glog_internal [ 2%] Building CXX object CMakeFiles/glog_internal.dir/src/demangle.cc.o [ 5%] Building CXX object CMakeFiles/glog_internal.dir/src/logging.cc.o [ 7%] Building CXX object CMakeFiles/glog_internal.dir/src/raw_logging.cc.o [ 10%] Building CXX object CMakeFiles/glog_internal.dir/src/symbolize.cc.o [ 12%] Building CXX object CMakeFiles/glog_internal.dir/src/signalhandler.cc.o [ 15%] Building CXX object CMakeFiles/glog_internal.dir/src/utilities.cc.o /root/glog/src/logging.cc:43:24: fatal error: shared_mutex: No such file or directory

include

                    ^

compilation terminated. In file included from /root/glog/src/symbolize.cc:55:0: /root/glog/src/symbolize.h: In function ‘constexpr google::glog_internalnamespace::SymbolizeOptions google::glog_internalnamespace::operator&(google::glog_internalnamespace::SymbolizeOptions, google::glog_internalnamespace::SymbolizeOptions)’: /root/glog/src/symbolize.h:182:19: error: expected type-specifier static_cast<std::underlying_type_t>(lhs) & ^ /root/glog/src/symbolize.h:182:19: error: expected ‘>’ /root/glog/src/symbolize.h:182:19: error: expected ‘(’ /root/glog/src/symbolize.h:182:19: error: ‘underlying_type_t’ is not a member of ‘std’ /root/glog/src/symbolize.h:182:58: error: expected primary-expression before ‘>>’ token static_cast<std::underlying_type_t>(lhs) & ^ /root/glog/src/symbolize.h:183:19: error: expected type-specifier static_cast<std::underlying_type_t>(rhs)); ^ /root/glog/src/symbolize.h:183:19: error: expected ‘>’ /root/glog/src/symbolize.h:183:19: error: expected ‘(’ /root/glog/src/symbolize.h:183:19: error: ‘underlying_type_t’ is not a member of ‘std’ /root/glog/src/symbolize.h:183:58: error: expected primary-expression before ‘>>’ token static_cast<std::underlying_type_t>(rhs)); ^ /root/glog/src/symbolize.h:183:66: error: expected ‘)’ before ‘;’ token static_cast<std::underlying_type_t>(rhs)); ^ /root/glog/src/symbolize.h:183:66: error: expected ‘)’ before ‘;’ token /root/glog/src/symbolize.h:184:1: error: body of constexpr function ‘constexpr google::glog_internalnamespace::SymbolizeOptions google::glog_internalnamespace::operator&(google::glog_internalnamespace::SymbolizeOptions, google::glog_internalnamespace::SymbolizeOptions)’ not a return-statement } ^ /root/glog/src/symbolize.h: In function ‘constexpr google::glog_internalnamespace::SymbolizeOptions google::glog_internalnamespace::operator|(google::glog_internalnamespace::SymbolizeOptions, google::glog_internalnamespace::SymbolizeOptions)’: /root/glog/src/symbolize.h:189:19: error: expected type-specifier static_cast<std::underlying_type_t>(lhs) | ^ /root/glog/src/symbolize.h:189:19: error: expected ‘>’ /root/glog/src/symbolize.h:189:19: error: expected ‘(’ /root/glog/src/symbolize.h:189:19: error: ‘underlying_type_t’ is not a member of ‘std’ /root/glog/src/symbolize.h:189:58: error: expected primary-expression before ‘>>’ token static_cast<std::underlying_type_t>(lhs) | ^ /root/glog/src/symbolize.h:190:19: error: expected type-specifier static_cast<std::underlying_type_t>(rhs)); ^ /root/glog/src/symbolize.h:190:19: error: expected ‘>’ /root/glog/src/symbolize.h:190:19: error: expected ‘(’ /root/glog/src/symbolize.h:190:19: error: ‘underlying_type_t’ is not a member of ‘std’ /root/glog/src/symbolize.h:190:58: error: expected primary-expression before ‘>>’ token static_cast<std::underlying_type_t>(rhs)); ^ /root/glog/src/symbolize.h:190:66: error: expected ‘)’ before ‘;’ token static_cast<std::underlying_type_t>(rhs)); ^ /root/glog/src/symbolize.h:190:66: error: expected ‘)’ before ‘;’ token /root/glog/src/symbolize.h:191:1: error: body of constexpr function ‘constexpr google::glog_internalnamespace::SymbolizeOptions google::glog_internalnamespace::operator|(google::glog_internalnamespace::SymbolizeOptions, google::glog_internalnamespace::SymbolizeOptions)’ not a return-statement } ^ In file included from /root/glog/src/demangle.cc:43:0: /root/glog/src/utilities.h:173:27: error: ‘std::enable_if_t’ has not been declared template <class F, std::enable_if_t< ^ /root/glog/src/utilities.h:173:38: error: expected ‘>’ before ‘<’ token template <class F, std::enable_if_t< ^ /root/glog/src/utilities.h:210:22: error: enclosing class of constexpr non-static member function ‘google::glog_internalnamespace::FileDescriptor::operator bool() const’ is not a literal type constexpr explicit operator bool() const noexcept { ^ /root/glog/src/utilities.h:190:22: note: ‘google::glog_internalnamespace::FileDescriptor’ is not literal because: class GLOG_NO_EXPORT FileDescriptor final { ^ /root/glog/src/utilities.h:190:22: note: ‘google::glog_internalnamespace::FileDescriptor’ has a non-trivial destructor /root/glog/src/utilities.h:214:17: error: enclosing class of constexpr non-static member function ‘int google::glog_internalnamespace::FileDescriptor::get() const’ is not a literal type constexpr int get() const noexcept { return fd_; } ^ /root/glog/src/utilities.h: In member function ‘int google::glog_internalnamespace::FileDescriptor::release()’: /root/glog/src/utilities.h:216:35: error: ‘exchange’ is not a member of ‘std’ int release() noexcept { return std::exchange(fd_, InvalidHandle); } ^ /root/glog/src/utilities.h: In function ‘constexpr bool google::glog_internalnamespace::operator==(const google::glog_internalnamespace::FileDescriptor&, int)’: /root/glog/src/utilities.h:243:18: error: call to non-constexpr function ‘int google::glog_internalnamespace::FileDescriptor::get() const’ return lhs.get() == rhs; ^ /root/glog/src/utilities.h: In function ‘constexpr bool google::glog_internalnamespace::operator==(const google::glog_internalnamespace::FileDescriptor&, std::nullptr_t)’: /root/glog/src/utilities.h:259:11: error: call to non-constexpr function ‘google::glog_internalnamespace::FileDescriptor::operator bool() const’ return !lhs; ^ /root/glog/src/utilities.h: In function ‘constexpr bool google::glog_internalnamespace::operator==(std::nullptr_t, const google::glog_internalnamespace::FileDescriptor&)’: /root/glog/src/utilities.h:263:11: error: call to non-constexpr function ‘google::glog_internalnamespace::FileDescriptor::operator bool() const’ return !rhs; ^ 后面没贴完。

xiangfeidecao commented 7 months ago

我现在重新用paddleseg2.9版本,官网给的sh方式链接不上github,用git clone https://gitcode.com/gflags/gflags.git和git clone https://gitee.com/boxingcao/glog.git。安装了yaml,gflags后安装glog,cmake的日志如下: [root@iZbp1i9nwh28kh5lxp9vhiZ glog]# cd build/ [root@iZbp1i9nwh28kh5lxp9vhiZ build]# cmake .. -- The CXX compiler identification is GNU 4.8.5 -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ - skipped -- Detecting CXX compile features -- Detecting CXX compile features - done -- Found GTest: /usr/local/lib64/cmake/GTest/GTestConfig.cmake (found version "1.10.0")
-- Looking for gflags namespace -- Looking for gflags namespace - gflags -- Found Threads: TRUE
-- Could NOT find Unwind (missing: Unwind_INCLUDE_DIR Unwind_LIBRARY Unwind_PLATFORM_LIBRARY) -- Looking for C++ include dlfcn.h -- Looking for C++ include dlfcn.h - found -- Looking for C++ include execinfo.h -- Looking for C++ include execinfo.h - found -- Looking for C++ include glob.h -- Looking for C++ include glob.h - found -- Looking for C++ include inttypes.h -- Looking for C++ include inttypes.h - found -- Looking for C++ include memory.h -- Looking for C++ include memory.h - found -- Looking for C++ include pwd.h -- Looking for C++ include pwd.h - found -- Looking for C++ include stdint.h -- Looking for C++ include stdint.h - found -- Looking for C++ include strings.h -- Looking for C++ include strings.h - found -- Looking for C++ include sys/stat.h -- Looking for C++ include sys/stat.h - found -- Looking for C++ include sys/syscall.h -- Looking for C++ include sys/syscall.h - found -- Looking for C++ include sys/time.h -- Looking for C++ include sys/time.h - found -- Looking for C++ include sys/types.h -- Looking for C++ include sys/types.h - found -- Looking for C++ include sys/utsname.h -- Looking for C++ include sys/utsname.h - found -- Looking for C++ include sys/wait.h -- Looking for C++ include sys/wait.h - found -- Looking for C++ include syscall.h -- Looking for C++ include syscall.h - found -- Looking for C++ include syslog.h -- Looking for C++ include syslog.h - found -- Looking for C++ include ucontext.h -- Looking for C++ include ucontext.h - found -- Looking for C++ include unistd.h -- Looking for C++ include unistd.h - found -- Looking for C++ include ext/hash_map -- Looking for C++ include ext/hash_map - found -- Looking for C++ include ext/hash_set -- Looking for C++ include ext/hash_set - found -- Looking for C++ include ext/slist -- Looking for C++ include ext/slist - found -- Looking for C++ include tr1/unordered_map -- Looking for C++ include tr1/unordered_map - found -- Looking for C++ include tr1/unordered_set -- Looking for C++ include tr1/unordered_set - found -- Looking for C++ include unordered_map -- Looking for C++ include unordered_map - found -- Looking for C++ include unordered_set -- Looking for C++ include unordered_set - found -- Looking for C++ include stddef.h -- Looking for C++ include stddef.h - found -- Check size of unsigned int16 -- Check size of unsigned int16 - failed -- Check size of u_int16_t -- Check size of u_int16_t - done -- Check size of uint16_t -- Check size of uint16_t - done -- Looking for dladdr -- Looking for dladdr - not found -- Looking for fcntl -- Looking for fcntl - found -- Looking for pread -- Looking for pread - found -- Looking for pwrite -- Looking for pwrite - found -- Looking for sigaction -- Looking for sigaction - found -- Looking for sigaltstack -- Looking for sigaltstack - found -- Performing Test HAVE_NO_DEPRECATED -- Performing Test HAVE_NO_DEPRECATED - Success -- Performing Test HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS -- Performing Test HAVE_NO_UNNAMED_TYPE_TEMPLATE_ARGS - Failed -- Looking for snprintf -- Looking for snprintf - found -- Looking for UnDecorateSymbolName in dbghelp -- Looking for UnDecorateSymbolName in dbghelp - not found -- Performing Test HAVE_ATTRIBUTE_ -- Performing Test HAVEATTRIBUTE - Success -- Performing Test HAVE_ATTRIBUTEVISIBILITY_DEFAULT -- Performing Test HAVE_ATTRIBUTEVISIBILITY_DEFAULT - Success -- Performing Test HAVE_ATTRIBUTEVISIBILITY_HIDDEN -- Performing Test HAVE_ATTRIBUTEVISIBILITY_HIDDEN - Success -- Performing Test HAVE_BUILTINEXPECT -- Performing Test HAVEBUILTIN_EXPECT - Success -- Performing Test HAVE___SYNC_VAL_COMPARE_ANDSWAP -- Performing Test HAVESYNC_VAL_COMPARE_AND_SWAP - Success -- Performing Test HAVE_RWLOCK -- Performing Test HAVE_RWLOCK - Failed -- Performing Test HAVEDECLSPEC -- Performing Test HAVEDECLSPEC - Failed -- Performing Test STL_NO_NAMESPACE -- Performing Test STL_NO_NAMESPACE - Failed -- Performing Test STL_STD_NAMESPACE -- Performing Test STL_STD_NAMESPACE - Success -- Performing Test HAVE_USING_OPERATOR -- Performing Test HAVE_USING_OPERATOR - Success -- Performing Test HAVE_NAMESPACES -- Performing Test HAVE_NAMESPACES - Success -- Performing Test HAVE_GCC_TLS -- Performing Test HAVE_GCC_TLS - Success -- Performing Test HAVE_MSVC_TLS -- Performing Test HAVE_MSVC_TLS - Failed -- Performing Test HAVE_CXX11_TLS -- Performing Test HAVE_CXX11_TLS - Success -- Performing Test HAVE_ALIGNED_STORAGE -- Performing Test HAVE_ALIGNED_STORAGE - Success -- Performing Test HAVE_CXX11_ATOMIC -- Performing Test HAVE_CXX11_ATOMIC - Success -- Performing Test HAVE_CXX11_NULLPTR_T -- Performing Test HAVE_CXX11_NULLPTR_T - Success -- Performing Test HAVE_LOCALTIME_R -- Performing Test HAVE_LOCALTIME_R - Success -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Configuring done -- Generating done -- Build files have been written to: /root/yjj/PaddleSeg-release-2.9/deploy/cpp/glog/build [root@iZbp1i9nwh28kh5lxp9vhiZ build]# make -j [ 4%] Building CXX object CMakeFiles/glog.dir/src/demangle.cc.o [ 9%] Building CXX object CMakeFiles/glog.dir/src/logging.cc.o [ 13%] Building CXX object CMakeFiles/glog.dir/src/raw_logging.cc.o [ 18%] Building CXX object CMakeFiles/glog.dir/src/symbolize.cc.o [ 22%] Building CXX object CMakeFiles/glog.dir/src/utilities.cc.o [ 27%] Building CXX object CMakeFiles/glog.dir/src/vlog_is_on.cc.o [ 31%] Building CXX object CMakeFiles/glog.dir/src/signalhandler.cc.o [ 36%] Linking CXX shared library libglog.so /usr/bin/ld: /usr/local/lib/libgflags.a(gflags.cc.o): relocation R_X86_64_32S against .rodata' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libgflags.a(gflags_reporting.cc.o): relocation R_X86_64_32 against.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: /usr/local/lib/libgflags.a(gflags_completions.cc.o): relocation R_X86_64_32S against symbol `_ZNSs4_Rep20_S_empty_rep_storageE@@GLIBCXX_3.4' can not be used when making a shared object; recompile with -fPIC /usr/bin/ld: final link failed: Nonrepresentable section on output collect2: error: ld returned 1 exit status make[2]: [libglog.so.0.5.0] Error 1 make[1]: [CMakeFiles/glog.dir/all] Error 2 make: *** [all] Error 2 [root@iZbp1i9nwh28kh5lxp9vhiZ build]#

xiangfeidecao commented 7 months ago

我的环境是g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44),下载的预测库manylinux_cpu_avx_mkl_gcc5.4。我把官网test_seg.cc中glog部分注释了。然后执行 sh run_seg_cpu.sh的日志如下: CMakeFiles/test_seg.dir/src/test_seg.cc.o: In function create_predictor(YamlConfig const&)': test_seg.cc:(.text+0x8c2): undefined reference topaddle::AnalysisConfig::SetModel(std::string const&, std::string const&)' test_seg.cc:(.text+0xf31): undefined reference to paddle::AnalysisConfig::SetTRTDynamicShapeInfo(std::map<std::string, std::vector<int, std::allocator<int> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<int, std::allocator<int> > > > >, std::map<std::string, std::vector<int, std::allocator<int> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<int, std::allocator<int> > > > >, std::map<std::string, std::vector<int, std::allocator<int> >, std::less<std::string>, std::allocator<std::pair<std::string const, std::vector<int, std::allocator<int> > > > >, bool)' test_seg.cc:(.text+0xfa3): undefined reference topaddle::AnalysisConfig::EnableTunedTensorRtDynamicShape(std::string const&, bool)' CMakeFiles/test_seg.dir/src/test_seg.cc.o: In function main': test_seg.cc:(.text+0x180b): undefined reference topaddle_infer::Predictor::GetInputNames()' test_seg.cc:(.text+0x1849): undefined reference to paddle_infer::Predictor::GetInputHandle(std::string const&)' test_seg.cc:(.text+0x194c): undefined reference topaddle_infer::Predictor::GetOutputNames()' test_seg.cc:(.text+0x198a): undefined reference to paddle_infer::Predictor::GetOutputHandle(std::string const&)' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<wchar_t, std::char_traits, std::allocator >::compare(wchar_t const*) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to vtable for std::__cxx11::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::find(char const, unsigned long, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__codecvt_utf8_base<wchar_t>::do_max_length() const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference totypeinfo for std::codecvt_utf8_base@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::codecvt_utf8_base::do_in(__mbstate_t&, char const, char const, char const&, wchar_t, wchar_t, wchar_t&) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits, std::allocator >::_M_mutate(unsigned long, unsigned long, wchar_t const, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__codecvt_utf8_base<wchar_t>::do_encoding() const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::assign(char const*)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::_M_create(unsigned long&, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::~basic_string()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::cxx11::basic_string<wchar_t, std::char_traits, std::allocator >::_M_assign(std::cxx11::basic_string<wchar_t, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_erase(unsigned long, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_ostringstream<char, std::char_traits, std::allocator >::~basic_ostringstream()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::cxx11::basic_ostringstream<char, std::char_traits, std::allocator >::basic_ostringstream(std::_Ios_Openmode)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::basic_istream<char, std::char_traits<char> >& std::getline<char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::_M_replace_aux(unsigned long, unsigned long, unsigned long, char)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::atomic_futex_unsigned_base::_M_futex_notify_all(unsigned int)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::basic_istream<char, std::char_traits<char> >& std::operator>><char, std::char_traits<char>, std::allocator<char> >(std::basic_istream<char, std::char_traits<char> >&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::__cxx11::basic_string<char, std::char_traits, std::allocator >::shrink_to_fit()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::__cxx11::basic_string<char, std::char_traits, std::allocator >::rfind(char const, unsigned long, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__codecvt_utf8_base<wchar_t>::do_out(__mbstate_t&, wchar_t const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_stringstream<char, std::char_traits, std::allocator >::~basic_stringstream()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::cxx11::basic_string<char, std::char_traits, std::allocator >::rfind(char, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_append(char const*, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::invalid_argument::invalid_argument(char const)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::resize(unsigned long, wchar_t)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::basic_string(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned long, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::cxx11::basic_string<wchar_t, std::char_traits, std::allocator >::_M_replace(unsigned long, unsigned long, wchar_t const, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::resize(unsigned long, char)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to vtable for std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<wchar_t, std::char_traits, std::allocator >::reserve(unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to VTT for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::find(char, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::substr(unsigned long, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_istringstream<char, std::char_traits, std::allocator >::~basic_istringstream()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_mutate(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::find_last_of(char const, unsigned long, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::codecvt_utf8_base::do_length(mbstate_t&, char const, char const*, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::__cxx11::basic_istringstream<char, std::char_traits, std::allocator >::basic_istringstream(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_replace(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::thread::_M_start_thread(std::shared_ptr, void ()())@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::basic_ifstream<char, std::char_traits<char> >::basic_ifstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::__cxx11::basic_string<char, std::char_traits, std::allocator >::find_first_of(char const, unsigned long, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::~basic_ostringstream()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_stringbuf<char, std::char_traits, std::allocator >::_M_sync(char, unsigned long, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__future_base::_State_baseV2::_Make_ready::_M_set()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::codecvt_utf8_base::do_unshift(mbstate_t&, char, char, char&) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to vtable for std::__cxx11::basic_istringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::swap(std::cxx11::basic_string<char, std::char_traits, std::allocator >&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::replace(unsigned long, unsigned long, char const*, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::basic_istream<char, std::char_traits >& std::getline<char, std::char_traits, std::allocator >(std::basic_istream<char, std::char_traits >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, char)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::length_error::length_error(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(unsigned long, unsigned long, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_stringbuf<char, std::char_traits, std::allocator >::str() const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::find_first_not_of(char const*, unsigned long, unsigned long) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference toVTT for std::cxx11::basic_stringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::basic_ofstream<char, std::char_traits >::basic_ofstream(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::throw_out_of_range_fmt(char const, ...)@GLIBCXX_3.4.20' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__codecvt_utf8_base<wchar_t>::~__codecvt_utf8_base()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::_M_assign(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__codecvt_utf8_base<wchar_t>::do_always_noconv() const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_stringstream<char, std::char_traits, std::allocator >::basic_stringstream(std::_Ios_Openmode)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::cxx11::basic_string<char, std::char_traits, std::allocator >::append(char const)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::compare(char const*) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::runtime_error::runtime_error(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits, std::allocator >::swap(std::cxx11::basic_string<wchar_t, std::char_traits, std::allocator >&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to vtable for std::__cxx11::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::_M_construct(unsigned long, char)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to __cxa_throw_bad_array_new_length@CXXABI_1.3.8' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::logic_error::logic_error(std::logic_error const&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::runtime_error::runtime_error(char const*)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::out_of_range::out_of_range(char const*)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::random_device::_M_init(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::push_back(char)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::atomic_futex_unsigned_base::_M_futex_wait_until(unsigned int*, unsigned int, bool, std::chrono::duration<long, std::ratio<1l, 1l> >, std::chrono::duration<long, std::ratio<1l, 1000000000l> >)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `VTT for std::cxx11::basic_ostringstream<char, std::char_traits, std::allocator >@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::_Ios_Openmode)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::cxx11::basic_string<char, std::char_traits, std::allocator >::compare(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) const@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >::_M_create(unsigned long&, unsigned long)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tostd::logic_error::logic_error(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to std::__cxx11::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()@GLIBCXX_3.4.21' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference tooperator delete(void, unsigned long)@CXXABI_1.3.9' ../paddle_inference/paddle/lib/libpaddle_inference.so: undefined reference to `std::__cxx11::basic_string<wchar_t, std::char_traits, std::allocator >::_M_append(wchar_t const, unsigned long)@GLIBCXX_3.4.21' collect2: error: ld returned 1 exit status make[2]: [test_seg] Error 1 make[1]: [CMakeFiles/test_seg.dir/all] Error 2 make: *** [all] Error 2 [root@iZbp1i9nwh28kh5lxp9vhiZ cpp]#