SQLCipher with BITCODE_ENABLED


#1

Hi,

I’m having a requirement to enable ENABLE_BITCODE in build settings for one of my iOS projects in which I’m using sqlcipher, but It’s failing with this error when I’m trying to archive my app:

ld: bitcode bundle could not be generated because ‘/Customers/branches/3.8.0_GA/libsqlcipher.a(sqlite3.o)’ was built without full bitcode. All object files and libraries for bitcode must be generated from Xcode Archive or Install build file ‘/Customers/branches/3.8.0_GA/libsqlcipher.a’ for architecture armv7

clang: error: linker command failed with exit code 1 (use -v to see invocation)

my guess is that sqlcipher library libsqlcipher.a is not having BITCODE enabled, I already checked for bitcode in the library and here is the result:

****TERMINAL
Juans-New-Mac:3.8.0_GA juan$ otool -arch arm64 -l libsqlcipher.a | grep bitcode
sectname __bitcode
Juans-New-Mac:3.8.0_GA juan$ otool -arch armv7 -l libsqlcipher.a | grep bitcode
sectname __bitcode
Juans-New-Mac:3.8.0_GA juan$ otool -arch armv7s -l libsqlcipher.a | grep bitcode
sectname __bitcode
Juans-New-Mac:3.8.0_GA juan$ otool -arch i386 -l libsqlcipher.a | grep bitcode
Juans-New-Mac:3.8.0_GA juan$ otool -arch x86_64 -l libsqlcipher.a | grep bitcode

I’m not an expert, but my guess is that these means I have bitcode enabled for arm64, armv7, armv7s architectures, but I still need to enable it for x86_64 and i386.

So I tried to compile sqlcipher but adding the flag for enabling bit code, but I’m getting warnings about it:

./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC -fembed-bitcode" LDFLAGS=“libcrypto.a”

Juans-New-Mac:sqlcipher-master juan$ make

gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -o mksourceid /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/mksourceid.c

tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/mksqlite3h.tcl /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master >sqlite3.h

gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -o mkkeywordhash /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/mkkeywordhash.c

./mkkeywordhash >keywordhash.h

gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -o lemon /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/lemon.c

cp /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/lempar.c .

cp /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src/parse.y .

rm -f parse.h

./lemon parse.y

mv parse.h parse.h.temp

tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/addopcodes.tcl parse.h.temp >parse.h

cat parse.h /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src/vdbe.c | tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/mkopcodeh.tcl >opcodes.h

tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/mkopcodec.tcl opcodes.h >opcodes.c

tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/mkshellc.tcl >shell.c

cp /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts5/fts5parse.y .

rm -f fts5parse.h

./lemon fts5parse.y

tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts5/tool/mkfts5c.tcl

cp /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts5/fts5.h .

rm -rf tsrc

mkdir tsrc

cp -f /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src/crypto.h /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src/sqlcipher.h /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src/crypto.c /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src/crypto_impl.c


/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/misc/stmt.c keywordhash.h opcodes.c opcodes.h parse.c parse.h config.h shell.c sqlite3.h tsrc

rm tsrc/sqlite.h.in tsrc/parse.y

tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/vdbe-compress.tcl <tsrc/vdbe.c >vdbe.new

mv vdbe.new tsrc/vdbe.c

cp fts5.c fts5.h tsrc

touch .target_source

tclsh8.5 /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/tool/mksqlite3c.tcl

cp tsrc/sqlite3ext.h .

cp /Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/session/sqlite3session.h .

./libtool --mode=compile --tag=CC gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -DSQLITE_OS_UNIX=1 -I. -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/rtree -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/icu -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts3 -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/async -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/session -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 -DSQLITE_TEMP_STORE=2 -c sqlite3.c

libtool: compile: gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -DSQLITE_OS_UNIX=1 -I. -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/rtree -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/icu -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts3 -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/async -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/session -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 -DSQLITE_TEMP_STORE=2 -c sqlite3.c -fno-common -DPIC -o .libs/sqlite3.o

libtool: compile: gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -DSQLITE_OS_UNIX=1 -I. -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/rtree -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/icu -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts3 -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/async -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/session -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 -DSQLITE_TEMP_STORE=2 -c sqlite3.c -o sqlite3.o >/dev/null 2>&1

./libtool --mode=link gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -DSQLITE_OS_UNIX=1 -I. -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/rtree -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/icu -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts3 -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/async -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/session -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 libcrypto.a -no-undefined -o libsqlcipher.la sqlite3.lo -lz -lcrypto \

-rpath “/usr/local/lib” -version-info “8:6:8”

*** Warning: Linking the shared library libsqlcipher.la against the

*** static library libcrypto.a is not portable!

libtool: link: gcc -dynamiclib -o .libs/libsqlcipher.0.dylib .libs/sqlite3.o libcrypto.a -lz -lcrypto -install_name /usr/local/lib/libsqlcipher.0.dylib -compatibility_version 9 -current_version 9.6 -Wl,-single_module

libtool: link: (cd “.libs” && rm -f “libsqlcipher.dylib” && ln -s “libsqlcipher.0.dylib” “libsqlcipher.dylib”)

libtool: link: ar cru .libs/libsqlcipher.a libcrypto.a sqlite3.o

libtool: link: ranlib .libs/libsqlcipher.a

libtool: link: ( cd “.libs” && rm -f “libsqlcipher.la” && ln -s “…/libsqlcipher.la” “libsqlcipher.la” )

./libtool --mode=link gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -DSQLITE_OS_UNIX=1 -I. -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/rtree -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/icu -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts3 -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/async -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/session -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 libcrypto.a -DHAVE_READLINE=0 -DHAVE_EDITLINE=1 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_INTROSPECTION_PRAGMAS -o sqlcipher \

shell.c sqlite3.c \

-ledit -lz -lcrypto -rpath “/usr/local/lib”

libtool: link: gcc -DSQLITE_HAS_CODEC -fembed-bitcode -DSQLCIPHER_CRYPTO_OPENSSL -DSQLITE_OS_UNIX=1 -I. -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/src -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/rtree -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/icu -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/fts3 -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/async -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/session -I/Customers/branches/3.8.0_GA/MobileCardServices/sqlcipher-master/ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_HAVE_ZLIB=1 -DHAVE_READLINE=0 -DHAVE_EDITLINE=1 -DSQLITE_ENABLE_JSON1 -DSQLITE_ENABLE_FTS4 -DSQLITE_ENABLE_RTREE -DSQLITE_ENABLE_EXPLAIN_COMMENTS -DSQLITE_ENABLE_UNKNOWN_SQL_FUNCTION -DSQLITE_ENABLE_STMTVTAB -DSQLITE_ENABLE_DBPAGE_VTAB -DSQLITE_ENABLE_DBSTAT_VTAB -DSQLITE_ENABLE_OFFSET_SQL_FUNC -DSQLITE_ENABLE_DESERIALIZE -DSQLITE_INTROSPECTION_PRAGMAS -o sqlcipher shell.c sqlite3.c libcrypto.a -ledit -lz -lcrypto

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bio_md.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bio_ndef.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bss_null.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bn_gf2m.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bn_kron.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bn_sqrt.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ec_print.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-p_verify.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_alt.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x_spki.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ocsp_ht.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-asn_mime.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-p12_attr.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-pk7_doit.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_cpols.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_pcons.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_lib.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_conf.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x509name.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x_req.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x509_req.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x509_lu.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x509_trs.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x509_vpm.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-pcy_tree.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-cms_dd.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-pcy_map.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-pcy_data.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-rsaz-x86_64.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bio_asn1.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-bio_b64.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ocsp_asn.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-pk7_attr.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_pmaps.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x509rset.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-pcy_lib.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-x86_64-gf2m.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-pcy_node.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_akey.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_ocsp.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_int.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_enum.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_x509v3.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_admis.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_extku.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_bitst.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_ia5.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_pci.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_pku.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_skey.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_sxnet.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-v3_tlsf.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_sct.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_prn.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_oct.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-f_string.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_log.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_sct_ctx.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_vfy.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

ld: warning: all bitcode will be dropped because ‘libcrypto.a(libcrypto-lib-ct_b64.o)’ was built without bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target.

Can anyone know if I need to ENABLE_BITCODE in the library in order to enable ENABLE_BITCODE in my iOS project or if there is a workaround? and If is required then how to enable bitcode in the library.

Thanks in advance.


#2

@Juan_Carlos_Balderas

It looks like you may be using the old integration instructions for SQLCipher for iOS. We have updated integration instructions here: https://www.zetetic.net/sqlcipher/ios-tutorial/

Would you try those out and let us know if you’re able to resolve the issue?