leapcode / pysqlcipher

Python bindings for SQLCipher
https://leap.se
Other
131 stars 42 forks source link

Error while installing #29

Open tomerf8 opened 7 years ago

tomerf8 commented 7 years ago

I'm having the same error while trying to install through pip or from sources:

OSX Sierra. Python 2.7.12 openssl-1.0.2j installed via brew

`clang -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -Qunused-arguments -DMODULE_NAME="pysqlcipher.dbapi2" -DSQLITE_ENABLE_FTS3=1 -DSQLITE_ENABLE_FTS5=1 -DSQLITE_ENABLE_RTREE=1 -DSQLITE_ENABLE_LOAD_EXTENSION=1 -DSQLITE_HAS_CODEC=1 -DSQLITE_TEMP_STORE=2 -DHAVE_USLEEP=1 -Iamalgamation -I/usr/local/Cellar/python/2.7.12_2/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c amalgamation/sqlite3.c -o build/temp.macosx-10.12-x86_64-2.7/amalgamation/sqlite3.o amalgamation/sqlite3.c:18280:10: fatal error: 'openssl/rand.h' file not found

include <openssl/rand.h>

         ^
1 error generated.
error: command 'clang' failed with exit status 1`
tomerf8 commented 7 years ago

After some research I was able to installed it successfully. The problem was linking the brew'd openssl headers. (brew-refusing-to-link-openssl)

Anyway:

  1. install brew
  2. brew install openssl
  3. Install via pip with: LDFLAGS=-L/usr/local/opt/openssl/lib CPPFLAGS=-I/usr/local/opt/openssl/include PKG_CONFIG_PATH=/usr/local/opt/openssl/lib/pkgconfig pip install pysqlcipher --install-option="--bundled"
kalikaneko commented 7 years ago

Hi @tomerf8 glad you found the fix, maybe it'd be good to add this in a section of the README, or even adding the extra flags to the setup.py, since I guess brew will be a common way of installing openssl under osx.