Search code examples
androidshaugmented-realityartoolkit

Bash script error NDK-Build


I'm trying to get ARToolkit5 Android Examples and run on my device from this official repo ARToolkit5 GithubRepo.

Then I need to run ./build.sh to build libraries but I'm getting this error while trying to execute ./build.sh on a Mac. Please anyone can help what to do?

jni/../../lib/SRC/VideoAndroid/sqlite3.c:24124:40: error: use of undeclared
      identifier 'mmap'
  { "mmap",       (sqlite3_syscall_ptr)mmap,     0 },
                                       ^
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24160:22: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
    for(i=0; i<sizeof(aSyscall)/sizeof(aSyscall[0]); i++){
                     ^~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24169:22: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
    for(i=0; i<sizeof(aSyscall)/sizeof(aSyscall[0]); i++){
                     ^~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24196:20: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
  for(i=0; i<sizeof(aSyscall)/sizeof(aSyscall[0]); i++){
                   ^~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24213:16: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
    for(i=0; i<ArraySize(aSyscall)-1; i++){
               ^~~~~~~~~~~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:8590:38: note: expanded from macro
      'ArraySize'
#define ArraySize(X)    ((int)(sizeof(X)/sizeof(X[0])))
                                     ^~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:24217:14: error: invalid application of
      'sizeof' to an incomplete type 'struct unix_syscall []'
  for(i++; i<ArraySize(aSyscall); i++){
             ^~~~~~~~~~~~~~~~~~~
jni/../../lib/SRC/VideoAndroid/sqlite3.c:8590:38: note: expanded from macro
      'ArraySize'
#define ArraySize(X)    ((int)(sizeof(X)/sizeof(X[0])))
                                     ^~~
[armeabi-v7a] Compile arm    : argsub_es <= gsub_mtx.c
[armeabi-v7a] Compile arm    : argsub_es2 <= gsub_es2.c
[armeabi-v7a] Compile arm    : argsub_es2 <= glStateCache2.c
[armeabi-v7a] Compile arm    : argsub_es2 <= gsub_mtx.c
[armeabi-v7a] Compile arm    : armulti <= arMultiFreeConfig.c
[armeabi-v7a] Compile arm    : armulti <= arMultiGetTransMat.c
[armeabi-v7a] Compile arm    : armulti <= arMultiGetTransMatStereo.c
[armeabi-v7a] Compile arm    : armulti <= arMultiReadConfigFile.c
[armeabi-v7a] Compile arm    : eden <= EdenError.c
[armeabi-v7a] Compile arm    : eden <= EdenGLFont.c
[armeabi-v7a] Compile arm    : eden <= EdenMath.c
[armeabi-v7a] Compile arm    : eden <= EdenMessage.c
6 errors generated.
make: *** [obj/local/armeabi/objs/arvideo/__/__/lib/SRC/VideoAndroid/sqlite3.o] Error 1
make: *** Waiting for unfinished jobs....
Exiting ndk-build script abnormally terminated.

Solution

  • For every one that is looking for answer :

    find file sqlite3.c than find where is this one (somewhere on top)

    _FILE_OFFSET_BITS=64 is defined and then delete that row,

    save file and u are good to go.