mkso
mkso

Reputation: 3188

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

Upvotes: 6

Views: 7303

Answers (4)

Mohamed Sadok Krichen
Mohamed Sadok Krichen

Reputation: 11

I did all that, but the thing that worked for me is : brew reinstall openssl, of course you should be the owner of /usr/local, to make sure of that : sudo chown -R username /usr/local.

Hopefully this will help anyone in need.

Upvotes: 0

flaron
flaron

Reputation: 31

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.

Upvotes: 3

r590
r590

Reputation: 736

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"

Upvotes: 1

Harry
Harry

Reputation: 11648

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

 brew link openssl --force

Then try again.

Upvotes: 1

Related Questions