Build Error: symbol(s) not found
OuHangKresnik opened this issue · comments
Mac OS version: 10.13.6
Apple LLVM version 10.0.0 (clang-1000.11.45.5)
Following commands:
confu setup
python configure.py
ninja
[140/189] LINK bin/convolution-inference-bench
FAILED: /Users/ouhang/Work/Ninjia/workspace/NNPACK/bin/convolution-inference-bench
clang++ -o /Users/ouhang/Work/Ninjia/workspace/NNPACK/bin/convolution-inference-bench /Users/ouhang/Work/Ninjia/workspace/NNPACK/build/bench/convolution-inference.cc.o /Users/ouhang/Work/Ninjia/workspace/NNPACK/lib/libnnpack.a /Users/ouhang/Work/Ninjia/workspace/NNPACK/lib/libpthreadpool.a /Users/ouhang/Work/Ninjia/workspace/NNPACK/lib/libcpuinfo.a /Users/ouhang/Work/Ninjia/workspace/NNPACK/lib/libclog.a /Users/ouhang/Work/Ninjia/workspace/NNPACK/lib/libgooglebenchmark.a
Undefined symbols for architecture x86_64:
"benchmark::BenchmarkName::str() const", referenced from:
benchmark::RunSpecifiedBenchmarks(benchmark::BenchmarkReporter*, benchmark::BenchmarkReporter*) in libgooglebenchmark.a(benchmark.cc.o)
benchmark::internal::BenchmarkFamilies::FindBenchmarks(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator >, std::__1::vector<benchmark::internal::BenchmarkInstance, std::__1::allocatorbenchmark::internal::BenchmarkInstance >, std::__1::basic_ostream<char, std::__1::char_traits >) in libgooglebenchmark.a(benchmark_register.cc.o)
benchmark::BenchmarkReporter::Run::benchmark_name() const in libgooglebenchmark.a(reporter.cc.o)
benchmark::internal::RunBenchmark(benchmark::internal::BenchmarkInstance const&, std::__1::vector<benchmark::BenchmarkReporter::Run, std::__1::allocatorbenchmark::BenchmarkReporter::Run >*) in libgooglebenchmark.a(benchmark_runner.cc.o)
benchmark::JSONReporter::PrintRunData(benchmark::BenchmarkReporter::Run const&) in libgooglebenchmark.a(json_reporter.cc.o)
ld: symbol(s) not found for architecture x86_64
+1
confu recipe for Google Benchmark needs an update for recent Google Benchmark changes (mostly, add new files). One option is to fix the recipe here. Another option is to build NNPACK with CMake instead of Ninja.