# Make: \*\*\* \[sqlcipher\] Error 1 on MacOS Mojave

**URL:** <https://discuss.zetetic.net/t/make-sqlcipher-error-1-on-macos-mojave/3364>\
**Category:** Issues\
**Created:** [January 19, 2019, 10:16pm UTC](https://discuss.zetetic.net/t/make-sqlcipher-error-1-on-macos-mojave/3364 "2019-01-19T22:16:24Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![atirek\_roy](https://avatars.discourse-cdn.com/v4/letter/a/e47c2d/32.png) [@atirek\_roy](https://discuss.zetetic.net/u/atirek_roy)\
**Post date:** [January 19, 2019, 10:16pm UTC](https://discuss.zetetic.net/t/make-sqlcipher-error-1-on-macos-mojave/3364/1 "2019-01-19T22:16:24Z")

</div>

I have gone through all the answers but could not solve the problem.  
I am using mac mojave 10.14.2  
I have used following command to configure `../configure --disable-tcl --disable-shared --enable-static=yes --enable-load-extension --enable-tempstore=yes --with-crypto-lib=commoncrypto CFLAGS="-DSQLITE_HAS_CODEC -DSQLITE_ENABLE_FTS3" LDFLAGS="/usr/local/opt/openssl/lib/libcrypto.a"`

When I ran make command, then I incurred linking problems.  
Here is my complete log  
tclsh8.6 /Users/royatirek/sqlcipher/bld/…/tool/mksqlite3h.tcl /Users/royatirek/sqlcipher/bld/… \>sqlite3.h  
clang -DSQLITE\_HAS\_CODEC -DSQLCIPHER\_CRYPTO\_CC -o mkkeywordhash -DSQLITE\_ENABLE\_FTS3 /Users/royatirek/sqlcipher/bld/…/tool/mkkeywordhash.c  
./mkkeywordhash \>keywordhash.h  
clang -DSQLITE\_HAS\_CODEC -DSQLCIPHER\_CRYPTO\_CC -o lemon /Users/royatirek/sqlcipher/bld/…/tool/lemon.c  
cp /Users/royatirek/sqlcipher/bld/…/tool/lempar.c .  
cp /Users/royatirek/sqlcipher/bld/…/src/parse.y .  
rm -f parse.h  
./lemon -DSQLITE\_ENABLE\_FTS3 parse.y  
mv parse.h parse.h.temp  
tclsh8.6 /Users/royatirek/sqlcipher/bld/…/tool/addopcodes.tcl parse.h.temp \>parse.h  
cat parse.h /Users/royatirek/sqlcipher/bld/…/src/vdbe.c | tclsh8.6 /Users/royatirek/sqlcipher/bld/…/tool/mkopcodeh.tcl \>opcodes.h  
tclsh8.6 /Users/royatirek/sqlcipher/bld/…/tool/mkopcodec.tcl opcodes.h \>opcodes.c  
tclsh8.6 /Users/royatirek/sqlcipher/bld/…/tool/mkshellc.tcl \>shell.c  
cp /Users/royatirek/sqlcipher/bld/…/ext/fts5/fts5parse.y .  
rm -f fts5parse.h  
./lemon fts5parse.y  
tclsh8.6 /Users/royatirek/sqlcipher/bld/…/ext/fts5/tool/mkfts5c.tcl  
cp /Users/royatirek/sqlcipher/bld/…/ext/fts5/fts5.h .  
rm -rf tsrc  
mkdir tsrc  
cp -f /Users/royatirek/sqlcipher/bld/…/src/crypto.h /Users/royatirek/sqlcipher/bld/…/src/sqlcipher.h /Users/royatirek/sqlcipher/bld/…/src/crypto.c /Users/royatirek/sqlcipher/bld/…/src/crypto\_impl.c /Users/royatirek/sqlcipher/bld/…/src/crypto\_libtomcrypt.c /Users/royatirek/sqlcipher/bld/…/src/crypto\_openssl.c /Users/royatirek/sqlcipher/bld/…/src/crypto\_cc.c /Users/royatirek/sqlcipher/bld/…/src/alter.c /Users/royatirek/sqlcipher/bld/…/src/analyze.c /Users/royatirek/sqlcipher/bld/…/src/attach.c /Users/royatirek/sqlcipher/bld/…/src/auth.c /Users/royatirek/sqlcipher/bld/…/src/backup.c /Users/royatirek/sqlcipher/bld/…/src/bitvec.c /Users/royatirek/sqlcipher/bld/…/src/btmutex.c /Users/royatirek/sqlcipher/bld/…/src/btree.c /Users/royatirek/sqlcipher/bld/…/src/btree.h /Users/royatirek/sqlcipher/bld/…/src/btreeInt.h /Users/royatirek/sqlcipher/bld/…/src/build.c /Users/royatirek/sqlcipher/bld/…/src/callback.c /Users/royatirek/sqlcipher/bld/…/src/complete.c /Users/royatirek/sqlcipher/bld/…/src/ctime.c /Users/royatirek/sqlcipher/bld/…/src/date.c /Users/royatirek/sqlcipher/bld/…/src/dbpage.c /Users/royatirek/sqlcipher/bld/…/src/dbstat.c /Users/royatirek/sqlcipher/bld/…/src/delete.c /Users/royatirek/sqlcipher/bld/…/src/expr.c /Users/royatirek/sqlcipher/bld/…/src/fault.c /Users/royatirek/sqlcipher/bld/…/src/fkey.c /Users/royatirek/sqlcipher/bld/…/src/func.c /Users/royatirek/sqlcipher/bld/…/src/global.c /Users/royatirek/sqlcipher/bld/…/src/hash.c /Users/royatirek/sqlcipher/bld/…/src/hash.h /Users/royatirek/sqlcipher/bld/…/src/hwtime.h /Users/royatirek/sqlcipher/bld/…/src/insert.c /Users/royatirek/sqlcipher/bld/…/src/legacy.c /Users/royatirek/sqlcipher/bld/…/src/loadext.c /Users/royatirek/sqlcipher/bld/…/src/main.c /Users/royatirek/sqlcipher/bld/…/src/malloc.c /Users/royatirek/sqlcipher/bld/…/src/mem0.c /Users/royatirek/sqlcipher/bld/…/src/mem1.c /Users/royatirek/sqlcipher/bld/…/src/mem2.c /Users/royatirek/sqlcipher/bld/…/src/mem3.c /Users/royatirek/sqlcipher/bld/…/src/mem5.c /Users/royatirek/sqlcipher/bld/…/src/memdb.c /Users/royatirek/sqlcipher/bld/…/src/memjournal.c /Users/royatirek/sqlcipher/bld/…/src/msvc.h /Users/royatirek/sqlcipher/bld/…/src/mutex.c /Users/royatirek/sqlcipher/bld/…/src/mutex.h /Users/royatirek/sqlcipher/bld/…/src/mutex\_noop.c /Users/royatirek/sqlcipher/bld/…/src/mutex\_unix.c /Users/royatirek/sqlcipher/bld/…/src/mutex\_w32.c /Users/royatirek/sqlcipher/bld/…/src/notify.c /Users/royatirek/sqlcipher/bld/…/src/os.c /Users/royatirek/sqlcipher/bld/…/src/os.h /Users/royatirek/sqlcipher/bld/…/src/os\_common.h /Users/royatirek/sqlcipher/bld/…/src/os\_setup.h /Users/royatirek/sqlcipher/bld/…/src/os\_unix.c /Users/royatirek/sqlcipher/bld/…/src/os\_win.c /Users/royatirek/sqlcipher/bld/…/src/os\_win.h /Users/royatirek/sqlcipher/bld/…/src/pager.c /Users/royatirek/sqlcipher/bld/…/src/pager.h /Users/royatirek/sqlcipher/bld/…/src/parse.y /Users/royatirek/sqlcipher/bld/…/src/pcache.c /Users/royatirek/sqlcipher/bld/…/src/pcache.h /Users/royatirek/sqlcipher/bld/…/src/pcache1.c /Users/royatirek/sqlcipher/bld/…/src/pragma.c /Users/royatirek/sqlcipher/bld/…/src/pragma.h /Users/royatirek/sqlcipher/bld/…/src/prepare.c /Users/royatirek/sqlcipher/bld/…/src/printf.c /Users/royatirek/sqlcipher/bld/…/src/random.c /Users/royatirek/sqlcipher/bld/…/src/resolve.c /Users/royatirek/sqlcipher/bld/…/src/rowset.c /Users/royatirek/sqlcipher/bld/…/src/select.c /Users/royatirek/sqlcipher/bld/…/src/status.c /Users/royatirek/sqlcipher/bld/…/src/shell.c.in /Users/royatirek/sqlcipher/bld/…/src/sqlite.h.in /Users/royatirek/sqlcipher/bld/…/src/sqlite3ext.h /Users/royatirek/sqlcipher/bld/…/src/sqliteInt.h /Users/royatirek/sqlcipher/bld/…/src/sqliteLimit.h /Users/royatirek/sqlcipher/bld/…/src/table.c /Users/royatirek/sqlcipher/bld/…/src/tclsqlite.c /Users/royatirek/sqlcipher/bld/…/src/threads.c /Users/royatirek/sqlcipher/bld/…/src/tokenize.c /Users/royatirek/sqlcipher/bld/…/src/treeview.c /Users/royatirek/sqlcipher/bld/…/src/trigger.c /Users/royatirek/sqlcipher/bld/…/src/utf.c /Users/royatirek/sqlcipher/bld/…/src/update.c /Users/royatirek/sqlcipher/bld/…/src/upsert.c /Users/royatirek/sqlcipher/bld/…/src/util.c /Users/royatirek/sqlcipher/bld/…/src/vacuum.c /Users/royatirek/sqlcipher/bld/…/src/vdbe.c /Users/royatirek/sqlcipher/bld/…/src/vdbe.h /Users/royatirek/sqlcipher/bld/…/src/vdbeapi.c /Users/royatirek/sqlcipher/bld/…/src/vdbeaux.c /Users/royatirek/sqlcipher/bld/…/src/vdbeblob.c /Users/royatirek/sqlcipher/bld/…/src/vdbemem.c /Users/royatirek/sqlcipher/bld/…/src/vdbesort.c /Users/royatirek/sqlcipher/bld/…/src/vdbetrace.c /Users/royatirek/sqlcipher/bld/…/src/vdbeInt.h /Users/royatirek/sqlcipher/bld/…/src/vtab.c /Users/royatirek/sqlcipher/bld/…/src/vxworks.h /Users/royatirek/sqlcipher/bld/…/src/wal.c /Users/royatirek/sqlcipher/bld/…/src/wal.h /Users/royatirek/sqlcipher/bld/…/src/walker.c /Users/royatirek/sqlcipher/bld/…/src/where.c /Users/royatirek/sqlcipher/bld/…/src/wherecode.c /Users/royatirek/sqlcipher/bld/…/src/whereexpr.c /Users/royatirek/sqlcipher/bld/…/src/whereInt.h /Users/royatirek/sqlcipher/bld/…/src/window.c /Users/royatirek/sqlcipher/bld/…/ext/fts1/fts1.c /Users/royatirek/sqlcipher/bld/…/ext/fts1/fts1.h /Users/royatirek/sqlcipher/bld/…/ext/fts1/fts1\_hash.c /Users/royatirek/sqlcipher/bld/…/ext/fts1/fts1\_hash.h /Users/royatirek/sqlcipher/bld/…/ext/fts1/fts1\_porter.c /Users/royatirek/sqlcipher/bld/…/ext/fts1/fts1\_tokenizer.h /Users/royatirek/sqlcipher/bld/…/ext/fts1/fts1\_tokenizer1.c /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2.c /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2.h /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2\_hash.c /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2\_hash.h /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2\_icu.c /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2\_porter.c /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2\_tokenizer.h /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2\_tokenizer.c /Users/royatirek/sqlcipher/bld/…/ext/fts2/fts2\_tokenizer1.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3.h /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3Int.h /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_aux.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_expr.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_hash.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_hash.h /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_icu.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_porter.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_snippet.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_tokenizer.h /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_tokenizer.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_tokenizer1.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_tokenize\_vtab.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_unicode.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_unicode2.c /Users/royatirek/sqlcipher/bld/…/ext/fts3/fts3\_write.c /Users/royatirek/sqlcipher/bld/…/ext/icu/sqliteicu.h /Users/royatirek/sqlcipher/bld/…/ext/icu/icu.c /Users/royatirek/sqlcipher/bld/…/ext/rtree/rtree.h /Users/royatirek/sqlcipher/bld/…/ext/rtree/rtree.c /Users/royatirek/sqlcipher/bld/…/ext/rtree/geopoly.c /Users/royatirek/sqlcipher/bld/…/ext/session/sqlite3session.c /Users/royatirek/sqlcipher/bld/…/ext/session/sqlite3session.h /Users/royatirek/sqlcipher/bld/…/ext/userauth/userauth.c /Users/royatirek/sqlcipher/bld/…/ext/userauth/sqlite3userauth.h /Users/royatirek/sqlcipher/bld/…/ext/rbu/sqlite3rbu.h /Users/royatirek/sqlcipher/bld/…/ext/rbu/sqlite3rbu.c /Users/royatirek/sqlcipher/bld/…/ext/misc/json1.c /Users/royatirek/sqlcipher/bld/…/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.6 /Users/royatirek/sqlcipher/bld/…/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.6 /Users/royatirek/sqlcipher/bld/…/tool/mksqlite3c.tcl  
cp tsrc/sqlite3ext.h .  
cp /Users/royatirek/sqlcipher/bld/…/ext/session/sqlite3session.h .  
./libtool --mode=compile --tag=CC clang -I/usr/local/opt/openssl/include -DSQLITE\_HAS\_CODEC -DSQLCIPHER\_CRYPTO\_CC -DSQLITE\_OS\_UNIX=1 -I. -I/Users/royatirek/sqlcipher/bld/…/src -I/Users/royatirek/sqlcipher/bld/…/ext/rtree -I/Users/royatirek/sqlcipher/bld/…/ext/icu -I/Users/royatirek/sqlcipher/bld/…/ext/fts3 -I/Users/royatirek/sqlcipher/bld/…/ext/async -I/Users/royatirek/sqlcipher/bld/…/ext/session -I/Users/royatirek/sqlcipher/bld/…/ext/userauth -D\_HAVE\_SQLITE\_CONFIG\_H -DBUILD\_sqlite -DNDEBUG -DSQLITE\_THREADSAFE=1 -DSQLITE\_ENABLE\_FTS3 -DSQLITE\_HAVE\_ZLIB=1 -DSQLITE\_TEMP\_STORE=2 -c sqlite3.c  
libtool: compile: clang -I/usr/local/opt/openssl/include -DSQLITE\_HAS\_CODEC -DSQLCIPHER\_CRYPTO\_CC -DSQLITE\_OS\_UNIX=1 -I. -I/Users/royatirek/sqlcipher/bld/…/src -I/Users/royatirek/sqlcipher/bld/…/ext/rtree -I/Users/royatirek/sqlcipher/bld/…/ext/icu -I/Users/royatirek/sqlcipher/bld/…/ext/fts3 -I/Users/royatirek/sqlcipher/bld/…/ext/async -I/Users/royatirek/sqlcipher/bld/…/ext/session -I/Users/royatirek/sqlcipher/bld/…/ext/userauth -D\_HAVE\_SQLITE\_CONFIG\_H -DBUILD\_sqlite -DNDEBUG -DSQLITE\_THREADSAFE=1 -DSQLITE\_ENABLE\_FTS3 -DSQLITE\_HAVE\_ZLIB=1 -DSQLITE\_TEMP\_STORE=2 -c sqlite3.c -o sqlite3.o  
./libtool --mode=link clang -I/usr/local/opt/openssl/include -DSQLITE\_HAS\_CODEC -DSQLCIPHER\_CRYPTO\_CC -DSQLITE\_OS\_UNIX=1 -I. -I/Users/royatirek/sqlcipher/bld/…/src -I/Users/royatirek/sqlcipher/bld/…/ext/rtree -I/Users/royatirek/sqlcipher/bld/…/ext/icu -I/Users/royatirek/sqlcipher/bld/…/ext/fts3 -I/Users/royatirek/sqlcipher/bld/…/ext/async -I/Users/royatirek/sqlcipher/bld/…/ext/session -I/Users/royatirek/sqlcipher/bld/…/ext/userauth -D\_HAVE\_SQLITE\_CONFIG\_H -DBUILD\_sqlite -DNDEBUG -DSQLITE\_THREADSAFE=1 -DSQLITE\_ENABLE\_FTS3 -DSQLITE\_HAVE\_ZLIB=1 /usr/local/opt/openssl/lib/libcrypto.a -no-undefined -o libsqlcipher.la sqlite3.lo -lz   
-rpath “/usr/local/lib” -version-info “8:6:8”

```
*** Warning: Linking the shared library libsqlcipher.la against the
*** static library /usr/local/opt/openssl/lib/libcrypto.a is not portable!
libtool: link: /Users/royatirek/anaconda3/bin/x86_64-apple-darwin13.4.0-ar cru .libs/libsqlcipher.a /usr/local/opt/openssl/lib/libcrypto.a sqlite3.o
libtool: link: /Users/royatirek/anaconda3/bin/x86_64-apple-darwin13.4.0-ranlib .libs/libsqlcipher.a
libtool: link: ( cd ".libs" && rm -f "libsqlcipher.la" && ln -s "../libsqlcipher.la" "libsqlcipher.la" )
./libtool --mode=link clang -I/usr/local/opt/openssl/include -DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_CC -DSQLITE_OS_UNIX=1 -I. -I/Users/royatirek/sqlcipher/bld/../src -I/Users/royatirek/sqlcipher/bld/../ext/rtree -I/Users/royatirek/sqlcipher/bld/../ext/icu -I/Users/royatirek/sqlcipher/bld/../ext/fts3 -I/Users/royatirek/sqlcipher/bld/../ext/async -I/Users/royatirek/sqlcipher/bld/../ext/session -I/Users/royatirek/sqlcipher/bld/../ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -DSQLITE_HAVE_ZLIB=1 /usr/local/opt/openssl/lib/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 -rpath "/usr/local/lib"
libtool: link: clang -I/usr/local/opt/openssl/include -DSQLITE_HAS_CODEC -DSQLCIPHER_CRYPTO_CC -DSQLITE_OS_UNIX=1 -I. -I/Users/royatirek/sqlcipher/bld/../src -I/Users/royatirek/sqlcipher/bld/../ext/rtree -I/Users/royatirek/sqlcipher/bld/../ext/icu -I/Users/royatirek/sqlcipher/bld/../ext/fts3 -I/Users/royatirek/sqlcipher/bld/../ext/async -I/Users/royatirek/sqlcipher/bld/../ext/session -I/Users/royatirek/sqlcipher/bld/../ext/userauth -D_HAVE_SQLITE_CONFIG_H -DBUILD_sqlite -DNDEBUG -DSQLITE_THREADSAFE=1 -DSQLITE_ENABLE_FTS3 -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 /usr/local/opt/openssl/lib/libcrypto.a -ledit -lz
Undefined symbols for architecture x86_64:
  "_CFBundleGetBundleWithIdentifier", referenced from:
      _sqlcipher_cc_get_provider_version in sqlite3-0bc8f1.o
  "_CFBundleGetValueForInfoDictionaryKey", referenced from:
      _sqlcipher_cc_get_provider_version in sqlite3-0bc8f1.o
  "_CFStringGetCStringPtr", referenced from:
      _sqlcipher_cc_get_provider_version in sqlite3-0bc8f1.o
  "_SecRandomCopyBytes", referenced from:
      _sqlcipher_cc_random in sqlite3-0bc8f1.o
  "___CFConstantStringClassReference", referenced from:
      CFString in sqlite3-0bc8f1.o
      CFString in sqlite3-0bc8f1.o
  "_kSecRandomDefault", referenced from:
      _sqlcipher_cc_random in sqlite3-0bc8f1.o
ld: symbol(s) not found for architecture x86_64
clang-4.0: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [sqlcipher] Error 1
```
