Bug #877
closedMultiple inclusions of different <cdefs.h>
100%
Description
I'm trying to compile sqlite3 using https://github.com/lookout/sqlite-android.git repo and getting some redefinition errors
vagrant@vagrant-ubuntu-trusty-64:~/sqlite-android$ ndk-build V=1
rm -f ./libs/arm64-v8a/lib*.so ./libs/armeabi/lib*.so ./libs/armeabi-v7a/lib*.so ./libs/armeabi-v7a-hard/lib*.so ./libs/mips/lib*.so ./libs/x86/lib*.so ./libs/x86_64/lib*.so
rm -f ./libs/arm64-v8a/gdbserver ./libs/armeabi/gdbserver ./libs/armeabi-v7a/gdbserver ./libs/armeabi-v7a-hard/gdbserver ./libs/mips/gdbserver ./libs/x86/gdbserver ./libs/x86_64/gdbserver
rm -f ./libs/arm64-v8a/gdb.setup ./libs/armeabi/gdb.setup ./libs/armeabi-v7a/gdb.setup ./libs/armeabi-v7a-hard/gdb.setup ./libs/mips/gdb.setup ./libs/x86/gdb.setup ./libs/x86_64/gdb.setup
[armeabi] Compile thumb : sqlite <= sqlite3.c
/opt/crystax-ndk-10.1.0/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/arm-linux-androideabi-gcc -MMD -MP -MF ./obj/local/armeabi/objs/sqlite//sqlite3.o.d -fpic -ffunction-sections -funwind-tables -fstack-protector -no-canonical-prefixes -march=armv5te -mtune=xscale -msoft-float -mthumb -Os -g -DNDEBUG -fomit-frame-pointer -fno-strict-aliasing -finline-limit=64 -Ijni -DANDROID -DSQLITE_THREADSAFE=1 -Wa,--noexecstack -Wformat -Werror=format-security -Wall -Wno-unused -Wno-multichar -Wstrict-aliasing=2 -Werror -fvisibility=hidden -fno-exceptions -fmessage-length=0 -c -I/opt/crystax-ndk-10.1.0/sources/crystax/include -I/opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include jni/../sqlite3.c -o ./obj/local/armeabi/objs/sqlite//sqlite3.o
In file included from /opt/crystax-ndk-10.1.0/sources/crystax/include/sys/cdefs.h:59:0,
from /opt/crystax-ndk-10.1.0/sources/crystax/include/crystax/freebsd.h:34,
from /opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/stdio.h:43,
from jni/../sqlite3.c:7993:
/opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/crystax/google/sys/cdefs.h:447:0: error: "XSI_VISIBLE" redefined [-Werror]
#define __XSI_VISIBLE 500
^
In file included from /opt/crystax-ndk-10.1.0/sources/crystax/include/crystax/freebsd.h:34:0,
from /opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/stdio.h:43,
from jni/../sqlite3.c:7993:
/opt/crystax-ndk-10.1.0/sources/crystax/include/sys/cdefs.h:52:0: note: this is the location of the previous definition
#define __XSI_VISIBLE 600
^
In file included from /opt/crystax-ndk-10.1.0/sources/crystax/include/sys/cdefs.h:59:0,
from /opt/crystax-ndk-10.1.0/sources/crystax/include/crystax/freebsd.h:34,
from /opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/stdio.h:43,
from jni/../sqlite3.c:7993:
/opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/crystax/google/sys/cdefs.h:468:0: error: "POSIX_VISIBLE" redefined [-Werror]
#define POSIX_VISIBLE 199506
^
In file included from /opt/crystax-ndk-10.1.0/sources/crystax/include/crystax/freebsd.h:34:0,
from /opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/stdio.h:43,
from jni/../sqlite3.c:7993:
/opt/crystax-ndk-10.1.0/sources/crystax/include/sys/cdefs.h:47:0: note: this is the location of the previous definition
#define __POSIX_VISIBLE 200809
^
In file included from /opt/crystax-ndk-10.1.0/sources/crystax/include/sys/cdefs.h:59:0,
from /opt/crystax-ndk-10.1.0/sources/crystax/include/crystax/freebsd.h:34,
from /opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/stdio.h:43,
from jni/../sqlite3.c:7993:
/opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/crystax/google/sys/cdefs.h:469:0: error: "ISO_C_VISIBLE" redefined [-Werror]
#define ISO_C_VISIBLE 1990
^
In file included from /opt/crystax-ndk-10.1.0/sources/crystax/include/crystax/freebsd.h:34:0,
from /opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/stdio.h:43,
from jni/../sqlite3.c:7993:
/opt/crystax-ndk-10.1.0/sources/crystax/include/sys/cdefs.h:57:0: note: this is the location of the previous definition
#define __ISO_C_VISIBLE 1999
^
cc1: all warnings being treated as errors
make: *** [obj/local/armeabi/objs/sqlite//sqlite3.o] Error 1
To reproduce:
git clone https://github.com/lookout/sqlite-android.git
cd sqlite-android
make
ndk-build
Updated by Alex A. about 9 years ago
I was able to proceed by making replacements in /opt/crystax-ndk-10.1.0/platforms/android-3/arch-arm/usr/include/crystax/google/sys/cdefs.h
#define __POSIX_VISIBLE 200112
with
#if defined(__POSIX_VISIBLE) && __POSIX_VISIBLE < 200112
#undef __POSIX_VISIBLE
#define __POSIX_VISIBLE 200112
#endif
(and few other similar to this)
I'm not sure if the problem cause by sqlite3 itself or something else.
Updated by Dmitry M. about 9 years ago
- Category set to libcrystax
- Priority changed from Normal to High
- Target version set to 10.2.0
Updated by Dmitry M. about 9 years ago
- Status changed from Open to In Progress
- Assignee set to Dmitry M.
Updated by Dmitry M. about 9 years ago
- Status changed from In Progress to Closed
- % Done changed from 0 to 100