0 Replies Latest reply on Oct 5, 2017 7:41 PM by user8199959

    Can't build berkeleyDB jdbc driver for android

    user8199959

      I'm developing an android app that needs to use big databased but it needs to run on the Android device.

      I've found this database and tried to follow those instructions:

      http://docs.oracle.com/cd/E17076_02/html/installation/build_android_jdbc.html

      1) Downloaded db-6.2.32

      2) ran the configure --enable-jdbc && make without problems

      Now i'm trying to run step 4.:

      $ < ndk-install-directory >/ndk-build

      This gives me this error:

      Android NDK: APP_PLATFORM not set. Defaulting to minimum supported version android-14. /home/mariano/Android/android-ndk-r15b/build/core/build-binary.mk:688: 
      Android NDK: Module db_archive depends on undefined modules: dl log icuuc icui18n utils /home/mariano/Android/android-ndk-r15b/build/core/build-binary.mk:701:
      *** Android NDK: Aborting (set APP_ALLOW_MISSING_DEPS=true to allow missing dependencies)    .  Stop.

      After that, edited Android.mk and added the following line:

      APP_ALLOW_MISSING_DEPS=true

      This make the process to start but at the end, I have several errors that I don't know how to fix:

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:162:34: error: unrecognized instruction mnemonic

                          if (MUTEXP_IS_BUSY(mutexp) || !MUTEXP_ACQUIRE(mutexp)) {

                                                         ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:1099:2: note: expanded from macro 'MUTEXP_ACQUIRE'

                  MUTEX_SET(&(mutexp)->tas))

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:477:3: note: expanded from macro 'MUTEX_SET'

                          "ldrex          %0, [%2]\n\t"                           \

                          ^

          <inline asm>:1:2: note: instantiated into assembly here

                  ldrex           x8, [x28]

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:162:34: error: unrecognized instruction mnemonic

                          if (MUTEXP_IS_BUSY(mutexp) || !MUTEXP_ACQUIRE(mutexp)) {

                                                         ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:1099:2: note: expanded from macro 'MUTEXP_ACQUIRE'

                  MUTEX_SET(&(mutexp)->tas))

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:478:17: note: expanded from macro 'MUTEX_SET'

                          "cmp            %0, %1\n\t"                             \

                                                  ^

          <inline asm>:3:2: note: instantiated into assembly here

                  strexne x8, x20, [x28]

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:162:34: error: unrecognized instruction mnemonic

                          if (MUTEXP_IS_BUSY(mutexp) || !MUTEXP_ACQUIRE(mutexp)) {

                                                         ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:1099:2: note: expanded from macro 'MUTEXP_ACQUIRE'

                  MUTEX_SET(&(mutexp)->tas))

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:477:3: note: expanded from macro 'MUTEX_SET'

                          "ldrex          %0, [%2]\n\t"                           \

                          ^

          <inline asm>:1:2: note: instantiated into assembly here

                  ldrex           x8, [x28]

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:162:34: error: unrecognized instruction mnemonic

                          if (MUTEXP_IS_BUSY(mutexp) || !MUTEXP_ACQUIRE(mutexp)) {

                                                         ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:1099:2: note: expanded from macro 'MUTEXP_ACQUIRE'

                  MUTEX_SET(&(mutexp)->tas))

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:478:17: note: expanded from macro 'MUTEX_SET'

                          "cmp            %0, %1\n\t"                             \

                                                  ^

          <inline asm>:3:2: note: instantiated into assembly here

                  strexne x8, x22, [x28]

                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:213:3: error: too few operands for instruction

                          MEMBAR_ENTER();

                          ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:492:23: note: expanded from macro 'MEMBAR_ENTER'

                  ({ __asm__ volatile ("dsb"); })

                                       ^

          <inline asm>:1:2: note: instantiated into assembly here

                  dsb

                  ^~~

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:439:3: error: too few operands for instruction

                          MEMBAR_ENTER();

                          ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:492:23: note: expanded from macro 'MEMBAR_ENTER'

                  ({ __asm__ volatile ("dsb"); })

                                       ^

          <inline asm>:1:2: note: instantiated into assembly here

                  dsb

                  ^~~

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:623:4: error: too few operands for instruction

                                  MEMBAR_EXIT();

                                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:494:23: note: expanded from macro 'MEMBAR_EXIT'

                  ({ __asm__ volatile ("dsb"); })

                                       ^

          <inline asm>:1:2: note: instantiated into assembly here

                  dsb

                  ^~~

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:635:3: error: too few operands for instruction

                          MEMBAR_EXIT();

                          ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:494:23: note: expanded from macro 'MEMBAR_EXIT'

                  ({ __asm__ volatile ("dsb"); })

                                       ^

          <inline asm>:1:2: note: instantiated into assembly here

                  dsb

                  ^~~

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/mutex/mut_tas.c:619:4: error: too few operands for instruction

                                  MEMBAR_EXIT();

                                  ^

          /home/mariano/Downloads/db-6.2.32/build_android/jdbc/jni/../../../src/dbinc/mutex_int.h:494:23: note: expanded from macro 'MEMBAR_EXIT'

                  ({ __asm__ volatile ("dsb"); })

                                       ^

          <inline asm>:1:2: note: instantiated into assembly here

                  dsb

                  ^~~

          7 warnings and 9 errors generated.

      I'm running linux mint,

      Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit