0

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

Shubham Jain
  • 2,365
  • 2
  • 17
  • 29
Mariano L
  • 1,809
  • 4
  • 29
  • 51

1 Answers1

0

You should refer to the Berkeley DB 6.2 online docs here: Building the Android JDBC Driver

take a look at step 7 - "Build the Android NDK: "

hflzh
  • 634
  • 5
  • 12