Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Fatal error in building SQLCipher ('openssl/rand.h' file not found)

I am trying to build SQLCipher on my mac and getting fatal error after running make.

System : OS X El Capitan I installed openssl after following this instruction.

Before running make I statically linked libcrypto.a with command

./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
    LDFLAGS="/usr/local/opt/openssl/lib/libcrypto.a"

Error I got

sqlite3.c:18280:10: fatal error: 'openssl/rand.h' file not found
#include <openssl/rand.h>
         ^
1 error generated.
make: *** [sqlite3.lo] Error 1
like image 755
mkso Avatar asked Apr 11 '16 17:04

mkso


3 Answers

I encountered this specifically for a golang library I was trying to install. I was getting the following error when I tried to run go get github.com/xeodou/go-sqlcipher:

# github.com/xeodou/go-sqlcipher
project/src/github.com/xeodou/go-sqlcipher/sqlite3-binding.c:18280:10: fatal error: 'openssl/rand.h' file not found

I fixed this by adding the following to my bash profile:

export CGO_LDFLAGS="-L/usr/local/opt/openssl/lib"
export CGO_CPPFLAGS="-I/usr/local/opt/openssl/include"

Hopefully this helps.

like image 158
flaron Avatar answered Nov 02 '22 01:11

flaron


Make sure that brew has linked to openssl libraries correctly. Run this command

 brew link openssl --force

Then try again.

like image 38
Harry Avatar answered Nov 02 '22 02:11

Harry


I didn't have brew on my machine, but I fixed this error a different way. In Xcode, I went to Preferences->locations->"source trees"-> Click +, set OPENSSL_SRC to "full-path-to-openssl-source"

like image 1
r590 Avatar answered Nov 02 '22 01:11

r590