1

I was reading the article about tensorflow lite on SAMD51 here and tried it and failed to compile.

It was the example from the arduino tensorflow lite lirabry and doesnt seem to compile.

Selected Adafruit M4 boards and failed to compile, but can compile with ArduinoMKRZERO(SAMD21).

Here follows the error message:

Arduino: 1.8.12 (Mac OS X), Board: "Adafruit Grand Central M4 (SAMD51), Enabled, 120 MHz (standard), Small (-Os) (standard), 50 MHz (standard), Arduino, Off"

    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:19:0,
                     from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:58:5: error: unknown type name 'int16_t'
         kiss_fft_scalar r;
         ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:59:5: error: unknown type name 'int16_t'
         kiss_fft_scalar i;
         ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c: In function 'kf_bfly2':
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
     #  define kiss_fft_scalar int16_t
                               ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
            ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:33:9: note: in expansion of macro 'C_FIXDIV'
             C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2);
             ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:48:27: note: each undeclared identifier is reported only once for each function it appears in
     #  define kiss_fft_scalar int16_t
                               ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
            ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:33:9: note: in expansion of macro 'C_FIXDIV'
             C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2);
             ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:0:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
     # define SAMPPROD int32_t
                       ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                                                   ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
     #   define smul(a,b) ( (SAMPPROD)(a)*(b) )
                             ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
                    ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:33:9: note: in expansion of macro 'C_FIXDIV'
             C_FIXDIV(*Fout,2); C_FIXDIV(*Fout2,2);
             ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:19:0,
                     from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c: In function 'kf_bfly4':
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
     #  define kiss_fft_scalar int16_t
                               ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
            ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:61:9: note: in expansion of macro 'C_FIXDIV'
             C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4);
             ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:0:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
     # define SAMPPROD int32_t
                       ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                                                   ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
     #   define smul(a,b) ( (SAMPPROD)(a)*(b) )
                             ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
                    ^
    Multiple libraries were found for "Adafruit_ZeroDMA.h"
     Used: /Users/ansonhe/Library/Arduino15/packages/adafruit/hardware/samd/1.5.4/libraries/Adafruit_ZeroDMA
     Not used: /Users/ansonhe/Documents/Arduino/libraries/Adafruit_Zero_DMA_Library
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:61:9: note: in expansion of macro 'C_FIXDIV'
             C_FIXDIV(*Fout,4); C_FIXDIV(Fout[m],4); C_FIXDIV(Fout[m2],4); C_FIXDIV(Fout[m3],4);
             ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:19:0,
                     from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c: In function 'kf_bfly3':
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
     #  define kiss_fft_scalar int16_t
                               ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
            ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:109:10: note: in expansion of macro 'C_FIXDIV'
              C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3);
              ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:0:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
     # define SAMPPROD int32_t
                       ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                                                   ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
     #   define smul(a,b) ( (SAMPPROD)(a)*(b) )
                             ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
                    ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:109:10: note: in expansion of macro 'C_FIXDIV'
              C_FIXDIV(*Fout,3); C_FIXDIV(Fout[m],3); C_FIXDIV(Fout[m2],3);
              ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:19:0,
                     from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c: In function 'kf_bfly5':
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
     #  define kiss_fft_scalar int16_t
                               ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
            ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:160:9: note: in expansion of macro 'C_FIXDIV'
             C_FIXDIV( *Fout0,5); C_FIXDIV( *Fout1,5); C_FIXDIV( *Fout2,5); C_FIXDIV( *Fout3,5); C_FIXDIV( *Fout4,5);
             ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:0:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
     # define SAMPPROD int32_t
                       ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                                                   ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
     #   define smul(a,b) ( (SAMPPROD)(a)*(b) )
                             ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
                    ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:160:9: note: in expansion of macro 'C_FIXDIV'
             C_FIXDIV( *Fout0,5); C_FIXDIV( *Fout1,5); C_FIXDIV( *Fout2,5); C_FIXDIV( *Fout3,5); C_FIXDIV( *Fout4,5);
             ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:19:0,
                     from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c: In function 'kf_bfly_generic':
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/kiss_fft.h:48:27: error: 'int16_t' undeclared (first use in this function)
     #  define kiss_fft_scalar int16_t
                               ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:26: note: in expansion of macro 'kiss_fft_scalar'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:8: note: in expansion of macro 'sround'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
            ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:217:13: note: in expansion of macro 'C_FIXDIV'
                 C_FIXDIV(scratch[q1],p);
                 ^
    In file included from /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:16:0:
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:51:19: error: 'int32_t' undeclared (first use in this function)
     # define SAMPPROD int32_t
                       ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:65:47: note: in definition of macro 'sround'
     #   define sround( x )  (kiss_fft_scalar)( ( (x) + (1<<(FRACBITS-1)) ) >> FRACBITS )
                                                   ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:64:25: note: in expansion of macro 'SAMPPROD'
     #   define smul(a,b) ( (SAMPPROD)(a)*(b) )
                             ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:74:16: note: in expansion of macro 'smul'
      (x) = sround( smul(  x, SAMP_MAX/k ) )
                    ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/third_party/kissfft/_kiss_fft_guts.h:77:10: note: in expansion of macro 'DIVSCALAR'
      do {    DIVSCALAR( (c).r , div);  \
              ^
    /Users/ansonhe/Documents/Arduino/libraries/Arduino_TensorFlowLite/src/tensorflow/lite/experimental/micro/tools/make/downloads/kissfft/kiss_fft.c:217:13: note: in expansion of macro 'C_FIXDIV'
                 C_FIXDIV(scratch[q1],p);
                 ^
    exit status 1
    Error compiling for board Adafruit Grand Central M4 (SAMD51).

    This report would have more information with
    "Show verbose output during compilation"
    option enabled in File -> Preferences.

Please let me know if anyone has any ideas, much appreciated.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.