Errors compiling in Fedora 13


#1

I’m trying to use SQLCipher.
I started by compiling OpenSSL to obtain libcrypto.a.
I them compiled SQLCipher with success configuring it like

./configure --enable-tempstore=yes
CFLAGS="-DSQLITE_HAS_CODEC"
LDFLAGS="…/…/extref/libopenssl_bin/X86/release/libcrypto.a"

I them compiled my application but I got the folowing errors.

/extref/libsqlcipher_bin/X86/release/libsqlcipher.a(sqlite3.o): In function sqlcipher_openssl_activate': sqlite3.c:(.text+0x3f82): undefined reference toOPENSSL_add_all_algorithms_noconf’
./extref/libsqlcipher_bin/X86/release/libsqlcipher.a(sqlite3.o): In function sqlcipher_openssl_deactivate': sqlite3.c:(.text+0x4002): undefined reference toEVP_cleanup’
./extref/libsqlcipher_bin/X86/release/libsqlcipher.a(sqlite3.o): In function sqlcipher_openssl_hmac': sqlite3.c:(.text+0x40a7): undefined reference toHMAC_CTX_init’
sqlite3.c:(.text+0x4139): undefined reference to HMAC_CTX_cleanup' ./extref/libsqlcipher_bin/X86/release/libsqlcipher.a(sqlite3.o): In functionsqlcipher_openssl_cipher’:
sqlite3.c:(.text+0x426f): undefined eference to `EVP_CIPHER_CTX_cleanup’.

After searching the internet, I’ve tried to compile SQLCipher by indicating the locatioin of the include files by configuring it like:

./configure --enable-tempstore=yes
CFLAGS="-DSQLITE_HAS_CODEC -I…/…/extref/libopenssl_bin/include"
LDFLAGS="…/…/extref/libopenssl_bin/X86/release/libcrypto.a"

But them I got these errors compiling SQLCypher:
sqlite3.c: In function ‘sqlcipher_openssl_hmac’:
sqlite3.c:18401: error: storage size of ‘hctx’ isn’t known
sqlite3.c: In function ‘sqlcipher_openssl_cipher’:
sqlite3.c:18418: error: storage size of ‘ectx’ isn’t known

Can someone help me solving these errors?
Thanks


#2

Hi @Rui_Goncalves

What steps are you performing to build OpenSSL, and also what version are you attempting to build?


#3

Hi.
The OpenSSL version stated in the RAEDME file is “OpenSSL 1.1.0-pre6-dev”

My steps for building are
./configures_x86.sh make
make test make install

The file configure_x86.sh file is:
./config
–prefix=/home/geral/work/projects/lib_openssl/compilation/build/X86
–openssldir=/home/geral/work/projects/lib_openssl/compilation/build/X86/ssl

Thanks for your interest.


#4

Hi @Rui_Goncalves

OpenSSL 1.1.0 is still in beta, have you tried the current 1.0.2h release instead?


#5

Hi.
I tried OpenSSL 1.0.2h as you sugested and it works fine.
Thanks for the help.


#6

Hi @Rui_Goncalves

I’m glad to hear that worked, thanks for letting us know!