Skip to Main Content

Berkeley DB Family

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Can't build berkeleyDB jdbc driver for android

user8199959Oct 5 2017 — edited Oct 5 2017

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

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Nov 2 2017
Added on Oct 5 2017
0 comments
699 views