Skip to content

Compatibility issue with arduino-esp32 v3 #1

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
HighDoping opened this issue Jun 29, 2024 · 1 comment
Open

Compatibility issue with arduino-esp32 v3 #1

HighDoping opened this issue Jun 29, 2024 · 1 comment
Labels
enhancement New feature or request

Comments

@HighDoping
Copy link

The arduino core for esp32 updates to v3 has a lot of API changes, this library is not compatible with it.

Compilation error:

In file included from /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:23,
                 from /home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:5,
                 from /mnt/c/Users/Luke/Documents/ESPECG/esp32/esp32.ino:9:
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/core/api/flatbuffer_conversions.h: In member function 'T* tflite::BuiltinDataAllocator::AllocatePOD()':
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/core/api/flatbuffer_conversions.h:46:24: warning: 'template<class _Tp> struct std::is_pod' is deprecated: use is_standard_layout && is_trivial instead [-Wdeprecated-declarations]
   46 |     static_assert(std::is_pod<T>::value, "Builtin data structure must be POD.");
      |                        ^~~~~~
In file included from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/bits/stl_pair.h:60,
                 from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/bits/stl_algobase.h:64,
                 from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/bits/specfun.h:45,
                 from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/cmath:1935,
                 from /home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/math.h:36,
                 from /home/hal/.arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/esp32-hal.h:30,
                 from /home/hal/.arduino15/packages/esp32/hardware/esp32/3.0.2/cores/esp32/Arduino.h:36,
                 from /tmp/arduino/sketches/1130CF3B5EA12452C750E870557ECC2E/sketch/esp32.ino.cpp:1:
/home/hal/.arduino15/packages/esp32/tools/esp-x32/2302/xtensa-esp32-elf/include/c++/12.2.0/type_traits:757:5: note: declared here
  757 |     is_pod
      |     ^~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h: In instantiation of 'tflite::MicroInterpreter* eloq::tf::newInterpreter(tflite::MicroMutableOpResolver<numOps>*, const tflite::Model*, uint8_t*, size_t) [with unsigned char numOps = 1; uint8_t = unsigned char; size_t = unsigned int]':
/home/hal/Arduino/libraries/EloquentTinyML/src/./eloquent_tinyml/tf.h:146:53:   required from 'Eloquent::Error::Exception& Eloquent::TF::Sequential<numOps, tensorArenaSize>::begin(const unsigned char*) [with unsigned char numOps = 1; unsigned int tensorArenaSize = 81920]'
/mnt/c/Users/Luke/Documents/ESPECG/esp32/esp32.ino:146:19:   required from here
/home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:69: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context
   31 |             static ErrorReporter *reporter = new MicroErrorReporter();
      |                                                                     ^
In file included from /home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/micro_mutable_op_resolver.h:26:
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE'
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:69: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context
   31 |             static ErrorReporter *reporter = new MicroErrorReporter();
      |                                                                     ^
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE'
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:46: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context
   31 |             static ErrorReporter *reporter = new MicroErrorReporter();
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE'
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tflm_esp32.h:31:46: error: 'static void tflite::MicroErrorReporter::operator delete(void*)' is private within this context
   31 |             static ErrorReporter *reporter = new MicroErrorReporter();
      |                                              ^~~~~~~~~~~~~~~~~~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: declared private here
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
/home/hal/Arduino/libraries/tflm_esp32/src/tensorflow/lite/micro/compatibility.h:27:8: note: in definition of macro 'TF_LITE_REMOVE_VIRTUAL_DELETE'
   27 |   void operator delete(void* p) {}
      |        ^~~~~~~~
@eloquentarduino
Copy link
Owner

This is a compiled library, so it will only work on the same settings I used to compile it (IDF 2.x). I need to figure it out how to support different IDF cores (probably will need to create another library).

@eloquentarduino eloquentarduino added the enhancement New feature or request label Jul 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants