nnstreamer / nntrainer

NNtrainer is Software Framework for Training Neural Network Models on Devices.
Apache License 2.0
134 stars 71 forks source link

Q&A] How to solve build failure for flatbuffers's Table. #2592

Closed Hyunjun85 closed 1 month ago

Hyunjun85 commented 1 month ago

Hello.

I have been facing a build failures for flatbuffer's table when is building nntrainer. How can I resolve below failures. Could you please give any help?

Env : Prepared a build Env(ubuntu 22.04) refers Linux Self-Hosted Build.

Build.Log.

ninja: Entering directory `build'
[1/193] Compiling C++ object nntrainer/libnntrainer.so.p/_home_horn_github_nntrainer_nntrainer_utils_node_exporter.cpp.o
FAILED: nntrainer/libnntrainer.so.p/_home_horn_github_nntrainer_nntrainer_utils_node_exporter.cpp.o 
c++ -Inntrainer/libnntrainer.so.p -Inntrainer -I../nntrainer -Iapi -I../api -I../api/ccapi/include -Inntrainer/compiler -I../nntrainer/compiler -Inntrainer/dataset -I../nntrainer/dataset -Inntrainer/layers/loss -I../nntrainer/layers/loss -Inntrainer/layers -I../nntrainer/layers -Inntrainer/models -I../nntrainer/models -Inntrainer/optimizers -I../nntrainer/optimizers -Inntrainer/tensor -I../nntrainer/tensor -Inntrainer/utils -I../nntrainer/utils -Inntrainer/graph -I../nntrainer/graph -I/usr/include/x86_64-linux-gnu/openblas-pthread/ -I/usr/include/iniparser -I/usr/include/nnstreamer -I/usr/include/tensorflow2/ -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Werror -std=c++17 -O3 '-DVERSION="0.5.0"' -DVERSION_MAJOR=0 -DVERSION_MINOR=5 -DVERSION_MICRO=0 -Wredundant-decls -Wwrite-strings -Wformat -Wformat-nonliteral -Wformat-security -Winit-self -Waddress -Wvla -Wpointer-arith -Wno-error=varargs -ftree-vectorize -Wno-maybe-uninitialized -Wno-unused-variable -DMIN_CPP_VERSION=201703L -DOPENCL_KERNEL_PATH=nntrainer_opencl_kernels -DML_API_COMMON=1 -DNNSTREAMER_AVAILABLE=1 -DUSE_BLAS=1 -DNNTR_NUM_THREADS=1 -DOMP_NUM_THREADS=1 -D__LOGGING__=1 -DENABLE_TEST=1 -DREDUCE_TOLERANCE=1 -DENABLE_TFLITE_BACKBONE=1 -DENABLE_TFLITE_INTERPRETER=1 '-DNNTRAINER_CONF_PATH="/usr/local/etc/nntrainer.ini"' -fPIC -fopenmp -pthread -MD -MQ nntrainer/libnntrainer.so.p/_home_horn_github_nntrainer_nntrainer_utils_node_exporter.cpp.o -MF nntrainer/libnntrainer.so.p/_home_horn_github_nntrainer_nntrainer_utils_node_exporter.cpp.o.d -o nntrainer/libnntrainer.so.p/_home_horn_github_nntrainer_nntrainer_utils_node_exporter.cpp.o -c .../nntrainer/nntrainer/utils/node_exporter.cpp
In file included from .../nntrainer/nntrainer/utils/node_exporter.cpp:22:
nntrainer/compiler/tf_schema_generated.h: In member function ‘bool tflite::QuantizationParameters::Verify(flatbuffers::Verifier&) const’:
nntrainer/compiler/tf_schema_generated.h:2384:32: error: no matching function for call to ‘tflite::QuantizationParameters::VerifyField<uint8_t>(flatbuffers::Verifier&, tflite::QuantizationParameters::FlatBuffersVTableOffset) const’
 2384 |            VerifyField<uint8_t>(verifier, VT_DETAILS_TYPE) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/flatbuffers/flatbuffer_builder.h:36,
                 from /usr/include/flatbuffers/flatbuffers.h:29,
                 from ../nntrainer/utils/node_exporter.h:31,
                 from .../nntrainer/nntrainer/utils/node_exporter.cpp:13:
/usr/include/flatbuffers/table.h:125:8: note: candidate: ‘bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t, size_t) const [with T = unsigned char; flatbuffers::voffset_t = short unsigned int; size_t = long unsigned int]’
  125 |   bool VerifyField(const Verifier &verifier, voffset_t field,
      |        ^~~~~~~~~~~
/usr/include/flatbuffers/table.h:125:8: note:   candidate expects 3 arguments, 2 provided
In file included from .../nntrainer/nntrainer/utils/node_exporter.cpp:22:
nntrainer/compiler/tf_schema_generated.h:2387:32: error: no matching function for call to ‘tflite::QuantizationParameters::VerifyField<int32_t>(flatbuffers::Verifier&, tflite::QuantizationParameters::FlatBuffersVTableOffset) const’
 2387 |            VerifyField<int32_t>(verifier, VT_QUANTIZED_DIMENSION) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/flatbuffers/flatbuffer_builder.h:36,
                 from /usr/include/flatbuffers/flatbuffers.h:29,
                 from ../nntrainer/utils/node_exporter.h:31,
                 from .../nntrainer/nntrainer/utils/node_exporter.cpp:13:
/usr/include/flatbuffers/table.h:125:8: note: candidate: ‘bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t, size_t) const [with T = int; flatbuffers::voffset_t = short unsigned int; size_t = long unsigned int]’
  125 |   bool VerifyField(const Verifier &verifier, voffset_t field,
      |        ^~~~~~~~~~~
/usr/include/flatbuffers/table.h:125:8: note:   candidate expects 3 arguments, 2 provided
In file included from .../nntrainer/nntrainer/utils/node_exporter.cpp:22:
nntrainer/compiler/tf_schema_generated.h: In member function ‘bool tflite::DimensionMetadata::Verify(flatbuffers::Verifier&) const’:
nntrainer/compiler/tf_schema_generated.h:2681:31: error: no matching function for call to ‘tflite::DimensionMetadata::VerifyField<int8_t>(flatbuffers::Verifier&, tflite::DimensionMetadata::FlatBuffersVTableOffset) const’
 2681 |            VerifyField<int8_t>(verifier, VT_FORMAT) &&
      |            ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/flatbuffers/flatbuffer_builder.h:36,
                 from /usr/include/flatbuffers/flatbuffers.h:29,
                 from ../nntrainer/utils/node_exporter.h:31,
                 from .../nntrainer/nntrainer/utils/node_exporter.cpp:13:
/usr/include/flatbuffers/table.h:125:8: note: candidate: ‘bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t, size_t) const [with T = signed char; flatbuffers::voffset_t = short unsigned int; size_t = long unsigned int]’
  125 |   bool VerifyField(const Verifier &verifier, voffset_t field,
      |        ^~~~~~~~~~~
/usr/include/flatbuffers/table.h:125:8: note:   candidate expects 3 arguments, 2 provided
In file included from .../nntrainer/nntrainer/utils/node_exporter.cpp:22:
nntrainer/compiler/tf_schema_generated.h:2682:32: error: no matching function for call to ‘tflite::DimensionMetadata::VerifyField<int32_t>(flatbuffers::Verifier&, tflite::DimensionMetadata::FlatBuffersVTableOffset) const’
 2682 |            VerifyField<int32_t>(verifier, VT_DENSE_SIZE) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/flatbuffers/flatbuffer_builder.h:36,
                 from /usr/include/flatbuffers/flatbuffers.h:29,
                 from ../nntrainer/utils/node_exporter.h:31,
                 from .../nntrainer/nntrainer/utils/node_exporter.cpp:13:
/usr/include/flatbuffers/table.h:125:8: note: candidate: ‘bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t, size_t) const [with T = int; flatbuffers::voffset_t = short unsigned int; size_t = long unsigned int]’
  125 |   bool VerifyField(const Verifier &verifier, voffset_t field,
      |        ^~~~~~~~~~~
/usr/include/flatbuffers/table.h:125:8: note:   candidate expects 3 arguments, 2 provided
In file included from .../nntrainer/nntrainer/utils/node_exporter.cpp:22:
nntrainer/compiler/tf_schema_generated.h:2683:32: error: no matching function for call to ‘tflite::DimensionMetadata::VerifyField<uint8_t>(flatbuffers::Verifier&, tflite::DimensionMetadata::FlatBuffersVTableOffset) const’
 2683 |            VerifyField<uint8_t>(verifier, VT_ARRAY_SEGMENTS_TYPE) &&
      |            ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/flatbuffers/flatbuffer_builder.h:36,
                 from /usr/include/flatbuffers/flatbuffers.h:29,
                 from ../nntrainer/utils/node_exporter.h:31,
                 from .../nntrainer/nntrainer/utils/node_exporter.cpp:13:
/usr/include/flatbuffers/table.h:125:8: note: candidate: ‘bool flatbuffers::Table::VerifyField(const flatbuffers::Verifier&, flatbuffers::voffset_t, size_t) const [with T = unsigned char; flatbuffers::voffset_t = short unsigned int; size_t = long unsigned int]’
  125 |   bool VerifyField(const Verifier &verifier, voffset_t field,
      |        ^~~~~~~~~~~
/usr/include/flatbuffers/table.h:125:8: note:   candidate expects 3 arguments, 2 provided
...
[7/193] Compiling C++ object test/unittest/datasets/unittest_datasets.p/data_producer_common_tests.cpp.o
[8/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_loss.cpp.o
[9/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_batch_normalization.cpp.o
[10/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_pooling2d.cpp.o
[11/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_impl.cpp.o
[12/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_input.cpp.o
[13/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_layer_normalization.cpp.o
[14/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layer_node.cpp.o
[15/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_convolution2d.cpp.o
[16/193] Compiling C++ object test/unittest/datasets/unittest_datasets.p/unittest_raw_file_data_producer.cpp.o
[17/193] Compiling C++ object test/unittest/memory/unittest_memory.p/unittest_cache_pool.cpp.o
[18/193] Compiling C++ object test/unittest/compiler/unittest_compiler.p/unittest_interpreter.cpp.o
[19/193] Compiling C++ object test/unittest/layers/unittest_layers.p/layers_standalone_common_tests.cpp.o
[20/193] Compiling C++ object test/unittest/layers/unittest_layers.p/layers_golden_tests.cpp.o
[21/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_flatten.cpp.o
[22/193] Compiling C++ object test/unittest/layers/unittest_layers.p/unittest_layers_convolution1d.cpp.o
[23/193] Compiling C++ object test/unittest/memory/unittest_memory.p/unittest_cache_loader.cpp.o
[24/193] Compiling C++ object test/unittest/datasets/unittest_datasets.p/unittest_iteration_queue.cpp.o
[25/193] Compiling C++ object test/unittest/compiler/unittest_compiler.p/unittest_tflite_export.cpp.o
[26/193] Compiling C++ object test/unittest/compiler/unittest_compiler.p/unittest_realizer.cpp.o
ninja: build stopped: subcommand failed.
taos-ci commented 1 month ago

:octocat: cibot: Thank you for posting issue #2592. The person in charge will reply soon.

Hyunjun85 commented 1 month ago

It seems to be generated why the apt-repository having similar(or testing version) package were added. So I was trying to remove added repository and installed packages after then I can build nntrainer.

Thanks for your help and interestings.