Closed kevthehermit closed 10 years ago
Rolled ssdeep back to version 2.10 then installed pydeep via pip. - Errors the same but completes install and seems to be useble.
thehermit@viper:~/tmp_build/ssdeep-2.10$ ssdeep -V
2.10
thehermit@viper:~/tmp_build/ssdeep-2.10$ sudo pip install pydeep
Downloading/unpacking pydeep
Downloading pydeep-0.2.tar.gz
Running setup.py (path:/tmp/pip_build_root/pydeep/setup.py) egg_info for package pydeep
Installing collected packages: pydeep
Running setup.py install for pydeep
building 'pydeep' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c pydeep.c -o build/temp.linux-x86_64-2.7/pydeep.o
pydeep.c: In function ‘pydeep_hash_buf’:
pydeep.c:52:15: warning: variable ‘inputStringBuffer’ set but not used [-Wunused-but-set-variable]
PyObject *inputStringBuffer = NULL;
^
x86_64-linux-gnu-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security build/temp.linux-x86_64-2.7/pydeep.o -lfuzzy -o build/lib.linux-x86_64-2.7/pydeep.so
Successfully installed pydeep
Cleaning up...
@kevthehermit thanks for posting this issue.
This issue is very specific to ssdeep-2.11. Previous versions of ssdeep used to build static and shared libraries. ssdeep-2.11 only builds static libraries. pydeep was not able to find the shared library when building. The author of ssdeep was made aware of this issue and will soon update ssdeep's Makefile to build shared libraries as well. (Thanks Jesse!)
Reverting back to ssdeep-2.10 should be avoided. ssdeep-2.10 had a bug in the signature generation code. If you have to revert, I recommend using ssdeep-2.9 instead.
Till ssdeep-2.11 source is updated, you can try this workaround (from Jesse).
In ssdeep-2.11/Makefile.am, remove the '-static' flag from libfuzzy_la_LDFLAGS in :
-libfuzzy_la_LDFLAGS=-static -no-undefined -version-info 2:0:0
+libfuzzy_la_LDFLAGS=-no-undefined -version-info 2:0:0
After that, run:
autoreconf -fvi
Then do
./configure
make
sudo make install
After that, proceed building and installing pydeep as usual.
I will leave this issue open till there is an update to ssdeep.
Thank you for the continued support of this project :) And for the workaround
Have you considered travis for automated testing - http://docs.travis-ci.com/user/getting-started/
a sample for ssdeep on the viper project - https://github.com/botherder/viper/blob/master/.travis.yml
ssdeep-2.11.1 was released last night. It now builds shared libraries. Please update to it. pydeep should work fine with ssdeep-2.11-1
I will surely look into travis-ci. Thanks!
Ubuntu Server 14.04
OS - Ubuntu 14.04 Server Install SSDeep from source
Install from GitHub