First of all I have to say that I am new to bulk extractor.
I am trying to install it in fresh installed Debian 9 using the following process:
As the process says, I try to install hashdb first from source but when I try to run the ./configure I get the following error:
If I try to install bulk extractor without hasdb, after running the make command I get the following error:
make[2]: se entra en el directorio '/home/jano/bulk_extractor-1.5.5/src'
source='bulk_extractor_api.cpp' object='bulk_extractor_api.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
g++ -DHAVE_CONFIG_H -I. -I.. -I../src/be13_api -I/usr/local/include -DUTC_OFFSET=+0100 -g -pthread -g -O3 -Wall -MD -D_FORTIFY_SOURCE=2 -Wpointer-arith -Wshadow -Wwrite-strings -Wcast-align -Wredundant-decls -Wdisabled-optimization -Wfloat-equal -Wmultichar -Wmissing-noreturn -Woverloaded-virtual -Wsign-promo -funit-at-a-time -Weffc++ -fPIC -D_FORTIFY_SOURCE=2 -c -o bulk_extractor_api.o bulk_extractor_api.cpp
In file included from be13_api/feature_recorder.h:60:0,
from be13_api/bulk_extractor_i.h:92,
from bulk_extractor.h:166,
from bulk_extractor_api.cpp:8:
./dfxml/src/hash_t.h:192:16: error: field ‘mdctx’ has incomplete type ‘EVP_MD_CTX {aka evp_md_ctx_st}’
EVP_MD_CTX mdctx; /* the context for computing the value */
^~~~~
In file included from /usr/include/openssl/evp.h:14:0,
from /usr/include/openssl/hmac.h:15,
from ./dfxml/src/hash_t.h:57,
from be13_api/feature_recorder.h:60,
from be13_api/bulk_extractor_i.h:92,
from bulk_extractor.h:166,
from bulk_extractor_api.cpp:8:
/usr/include/openssl/ossl_typ.h:92:16: note: forward declaration of ‘EVP_MD_CTX {aka struct evp_md_ctx_st}’
typedef struct evp_md_ctx_st EVP_MD_CTX;
^~~~~~~~~~~~~
In file included from be13_api/feature_recorder.h:60:0,
from be13_api/bulk_extractor_i.h:92,
from bulk_extractor.h:166,
from bulk_extractor_api.cpp:8:
./dfxml/src/hash_t.h: In member function ‘void hash_generator__<md, SIZE>::release()’:
./dfxml/src/hash_t.h:211:31: error: there are no arguments to ‘EVP_MD_CTX_cleanup’ that depend on a template parameter, so a declaration of ‘EVP_MD_CTX_cleanup’ must be available [-fpermissive]
EVP_MD_CTX_cleanup(&mdctx);
^
./dfxml/src/hash_t.h:211:31: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
./dfxml/src/hash_t.h: In instantiation of ‘hash_generator__<md, SIZE>::hash_generator__() [with const EVP_MD* (* md)() = EVP_md5; unsigned int SIZE = 16u]’:
./dfxml/src/hash_t.h:253:19: required from ‘static hash__<md, SIZE> hash_generator__<md, SIZE>::hash_buf(const uint8_t*, size_t) [with const EVP_MD* (* md)() = EVP_md5; unsigned int SIZE = 16u; uint8_t = unsigned char; size_t = unsigned int]’
bulk_extractor_api.cpp:53:31: required from here
./dfxml/src/hash_t.h:205:82: error: using invalid field ‘hash_generator__<md, SIZE>::mdctx’
hash_generator__():mdctx(),initialized(false),finalized(false),hashed_bytes(0){ }
^
./dfxml/src/hash_t.h: In instantiation of ‘hash_generator__<md, SIZE>::hash_generator__() [with const EVP_MD* (* md)() = EVP_sha1; unsigned int SIZE = 20u]’:
./dfxml/src/hash_t.h:253:19: required from ‘static hash__<md, SIZE> hash_generator__<md, SIZE>::hash_buf(const uint8_t*, size_t) [with const EVP_MD* (* md)() = EVP_sha1; unsigned int SIZE = 20u; uint8_t = unsigned char; size_t = unsigned int]’
bulk_extractor_api.cpp:56:32: required from here
./dfxml/src/hash_t.h:205:82: error: using invalid field ‘hash_generator__<md, SIZE>::mdctx’
./dfxml/src/hash_t.h: In instantiation of ‘hash_generator__<md, SIZE>::hash_generator__() [with const EVP_MD* (* md)() = EVP_sha256; unsigned int SIZE = 32u]’:
./dfxml/src/hash_t.h:253:19: required from ‘static hash__<md, SIZE> hash_generator__<md, SIZE>::hash_buf(const uint8_t*, size_t) [with const EVP_MD* (* md)() = EVP_sha256; unsigned int SIZE = 32u; uint8_t = unsigned char; size_t = unsigned int]’
bulk_extractor_api.cpp:59:34: required from here
./dfxml/src/hash_t.h:205:82: error: using invalid field ‘hash_generator__<md, SIZE>::mdctx’
./dfxml/src/hash_t.h: In instantiation of ‘void hash_generator__<md, SIZE>::release() [with const EVP_MD* (* md)() = EVP_md5; unsigned int SIZE = 16u]’:
./dfxml/src/hash_t.h:207:9: required from ‘hash_generator__<md, SIZE>::~hash_generator__() [with const EVP_MD* (* md)() = EVP_md5; unsigned int SIZE = 16u]’
./dfxml/src/hash_t.h:253:19: required from ‘static hash__<md, SIZE> hash_generator__<md, SIZE>::hash_buf(const uint8_t*, size_t) [with const EVP_MD* (* md)() = EVP_md5; unsigned int SIZE = 16u; uint8_t = unsigned char; size_t = unsigned int]’
bulk_extractor_api.cpp:53:31: required from here
./dfxml/src/hash_t.h:211:31: error: ‘EVP_MD_CTX_cleanup’ was not declared in this scope
EVP_MD_CTX_cleanup(&mdctx);
^
./dfxml/src/hash_t.h: In instantiation of ‘void hash_generator__<md, SIZE>::release() [with const EVP_MD* (* md)() = EVP_sha1; unsigned int SIZE = 20u]’:
./dfxml/src/hash_t.h:207:9: required from ‘hash_generator__<md, SIZE>::~hash_generator__() [with const EVP_MD* (* md)() = EVP_sha1; unsigned int SIZE = 20u]’
./dfxml/src/hash_t.h:253:19: required from ‘static hash__<md, SIZE> hash_generator__<md, SIZE>::hash_buf(const uint8_t*, size_t) [with const EVP_MD* (* md)() = EVP_sha1; unsigned int SIZE = 20u; uint8_t = unsigned char; size_t = unsigned int]’
bulk_extractor_api.cpp:56:32: required from here
./dfxml/src/hash_t.h:211:31: error: ‘EVP_MD_CTX_cleanup’ was not declared in this scope
./dfxml/src/hash_t.h: In instantiation of ‘void hash_generator__<md, SIZE>::release() [with const EVP_MD* (* md)() = EVP_sha256; unsigned int SIZE = 32u]’:
./dfxml/src/hash_t.h:207:9: required from ‘hash_generator__<md, SIZE>::~hash_generator__() [with const EVP_MD* (* md)() = EVP_sha256; unsigned int SIZE = 32u]’
./dfxml/src/hash_t.h:253:19: required from ‘static hash__<md, SIZE> hash_generator__<md, SIZE>::hash_buf(const uint8_t*, size_t) [with const EVP_MD* (* md)() = EVP_sha256; unsigned int SIZE = 32u; uint8_t = unsigned char; size_t = unsigned int]’
bulk_extractor_api.cpp:59:34: required from here
./dfxml/src/hash_t.h:211:31: error: ‘EVP_MD_CTX_cleanup’ was not declared in this scope
Makefile:1175: fallo en las instrucciones para el objetivo 'bulk_extractor_api.o'
make[2]: *** [bulk_extractor_api.o] Error 1
make[2]: se sale del directorio '/home/jano/bulk_extractor-1.5.5/src'
Makefile:474: fallo en las instrucciones para el objetivo 'all-recursive'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio '/home/jano/bulk_extractor-1.5.5'
Makefile:412: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2