Closed natanfelles closed 8 years ago
I have the same error, any solution?
Need to install protobuf devel packages. You should have a "protoc" command on your system, if you don't go and install it.
Thanks it worked sudo apt-get install protobuf-compiler
Stay resulting:
Makefile:77: recipe for target 'identitykeypair.o' failed make[1]: *** [identitykeypair.o] Error 1 make[1]: Leaving directory '/home/user/desktop/whatsapp-purple/libaxolotl-cpp' Makefile:65: recipe for target 'libaxolotl-cpp/libaxolotl.a' failed make: *** [libaxolotl-cpp/libaxolotl.a] Error 2
Don't cut the log, paste the complete error message. Have you installed the protobuffers devel package?
Ok. Thanks for help! All logs after the make command: `make -C libaxolotl-cpp/libcurve25519 make[1]: Entering directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp/libcurve25519' gcc -o src/curve25519-donna.o -c src/curve25519-donna.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_neg.o -c src/ed25519/fe_neg.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p1p1_to_p2.o -c src/ed25519/ge_p1p1_to_p2.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_cmov.o -c src/ed25519/fe_cmov.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_dbl.o -c src/ed25519/ge_p3_dbl.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_0.o -c src/ed25519/ge_p3_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_pow22523.o -c src/ed25519/fe_pow22523.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_copy.o -c src/ed25519/fe_copy.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_msub.o -c src/ed25519/ge_msub.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_1.o -c src/ed25519/fe_1.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_frombytes.o -c src/ed25519/fe_frombytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_sub.o -c src/ed25519/ge_sub.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_tobytes.o -c src/ed25519/ge_tobytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_add.o -c src/ed25519/ge_add.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/open.o -c src/ed25519/open.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p1p1_to_p3.o -c src/ed25519/ge_p1p1_to_p3.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_invert.o -c src/ed25519/fe_invert.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_add.o -c src/ed25519/fe_add.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_mul.o -c src/ed25519/fe_mul.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/sc_muladd.o -c src/ed25519/sc_muladd.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_frombytes.o -c src/ed25519/ge_frombytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_sub.o -c src/ed25519/fe_sub.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_to_cached.o -c src/ed25519/ge_p3_to_cached.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p2_dbl.o -c src/ed25519/ge_p2_dbl.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_scalarmult_base.o -c src/ed25519/ge_scalarmult_base.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_madd.o -c src/ed25519/ge_madd.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_sq2.o -c src/ed25519/fe_sq2.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/sign_modified.o -c src/ed25519/additions/sign_modified.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/zeroize.o -c src/ed25519/additions/zeroize.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/compare.o -c src/ed25519/additions/compare.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/curve_sigs.o -c src/ed25519/additions/curve_sigs.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 src/ed25519/additions/curve_sigs.c: In function ‘curve25519_sign’: src/ed25519/additions/curve_sigs.c:46:3: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration] if ((sigbuf = malloc(msg_len + 128)) == 0) { ^ src/ed25519/additions/curve_sigs.c:46:17: warning: incompatible implicit declaration of built-in function ‘malloc’ if ((sigbuf = malloc(msg_len + 128)) == 0) { ^ src/ed25519/additions/curve_sigs.c:65:4: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration] free(sigbuf); ^ src/ed25519/additions/curve_sigs.c:65:4: warning: incompatible implicit declaration of built-in function ‘free’ src/ed25519/additions/curve_sigs.c: In function ‘curve25519_verify’: src/ed25519/additions/curve_sigs.c:82:20: warning: incompatible implicit declaration of built-in function ‘malloc’ if ((verifybuf = malloc(msg_len + 64)) == 0) { ^ src/ed25519/additions/curve_sigs.c:87:21: warning: incompatible implicit declaration of built-in function ‘malloc’ if ((verifybuf2 = malloc(msg_len + 64)) == 0) { ^ src/ed25519/additions/curve_sigs.c:129:5: warning: incompatible implicit declaration of built-in function ‘free’ free(verifybuf); ^ src/ed25519/additions/curve_sigs.c:133:5: warning: incompatible implicit declaration of built-in function ‘free’ free(verifybuf2); ^ gcc -o src/ed25519/fe_tobytes.o -c src/ed25519/fe_tobytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_precomp_0.o -c src/ed25519/ge_precomp_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_isnonzero.o -c src/ed25519/fe_isnonzero.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p2_0.o -c src/ed25519/ge_p2_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_isnegative.o -c src/ed25519/fe_isnegative.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/nacl_sha512/blocks.o -c src/ed25519/nacl_sha512/blocks.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/nacl_sha512/hash.o -c src/ed25519/nacl_sha512/hash.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_0.o -c src/ed25519/fe_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_tobytes.o -c src/ed25519/ge_p3_tobytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/sign.o -c src/ed25519/sign.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_double_scalarmult.o -c src/ed25519/ge_double_scalarmult.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/sc_reduce.o -c src/ed25519/sc_reduce.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_to_p2.o -c src/ed25519/ge_p3_to_p2.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_sq.o -c src/ed25519/fe_sq.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 g++ -o curve.o -c curve.cpp -DLIBCURVE25519_LIBRARY -O2 -fPIC ar rcs libcurve25519.a src/curve25519-donna.o src/ed25519/fe_neg.o src/ed25519/ge_p1p1_to_p2.o src/ed25519/fe_cmov.o src/ed25519/ge_p3_dbl.o src/ed25519/ge_p3_0.o src/ed25519/fe_pow22523.o src/ed25519/fe_copy.o src/ed25519/ge_msub.o src/ed25519/fe_1.o src/ed25519/fe_frombytes.o src/ed25519/ge_sub.o src/ed25519/ge_tobytes.o src/ed25519/ge_add.o src/ed25519/open.o src/ed25519/ge_p1p1_to_p3.o src/ed25519/fe_invert.o src/ed25519/fe_add.o src/ed25519/fe_mul.o src/ed25519/sc_muladd.o src/ed25519/ge_frombytes.o src/ed25519/fe_sub.o src/ed25519/ge_p3_to_cached.o src/ed25519/ge_p2_dbl.o src/ed25519/ge_scalarmult_base.o src/ed25519/ge_madd.o src/ed25519/fe_sq2.o src/ed25519/additions/sign_modified.o src/ed25519/additions/zeroize.o src/ed25519/additions/compare.o src/ed25519/additions/curve_sigs.o src/ed25519/fe_tobytes.o src/ed25519/ge_precomp_0.o src/ed25519/fe_isnonzero.o src/ed25519/ge_p2_0.o src/ed25519/fe_isnegative.o src/ed25519/nacl_sha512/blocks.o src/ed25519/nacl_sha512/hash.o src/ed25519/fe_0.o src/ed25519/ge_p3_tobytes.o src/ed25519/sign.o src/ed25519/ge_double_scalarmult.o src/ed25519/sc_reduce.o src/ed25519/ge_p3_to_p2.o src/ed25519/fe_sq.o curve.o make[1]: Leaving directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp/libcurve25519' make -C libaxolotl-cpp make[1]: Entering directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp' protoc --cpp_out=state protobuf/LocalStorageProtocol.proto cp state/protobuf/LocalStorageProtocol.pb.cc state/LocalStorageProtocol.pb.cc cp state/protobuf/LocalStorageProtocol.pb.h state/LocalStorageProtocol.pb.h protoc --cpp_out=protocol protobuf/WhisperTextProtocol.proto cp protocol/protobuf/WhisperTextProtocol.pb.cc protocol/WhisperTextProtocol.pb.cc cp protocol/protobuf/WhisperTextProtocol.pb.h protocol/WhisperTextProtocol.pb.h g++ -o identitykey.o -c identitykey.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o identitykeypair.o -c identitykeypair.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC In file included from ./state/sessionstate.h:4:0, from identitykeypair.cpp:3: ./state/LocalStorageProtocol.pb.h:9:42: fatal error: google/protobuf/stubs/common.h: Arquivo ou diretório não encontrado
^
compilation terminated. Makefile:77: recipe for target 'identitykeypair.o' failed make[1]: [identitykeypair.o] Error 1 make[1]: Leaving directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp' Makefile:65: recipe for target 'libaxolotl-cpp/libaxolotl.a' failed make: [libaxolotl-cpp/libaxolotl.a] Error 2 `
@natanfelles You need the protobuffer development files (you are missing google/protobuf/stubs/common.h). Install libprotobuf-dev (or similar, I don't know the Debian name for the package).
Ok. After instal libprotobuf-dev: `make -C libaxolotl-cpp/libcurve25519 make[1]: Entering directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp/libcurve25519' gcc -o src/curve25519-donna.o -c src/curve25519-donna.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_neg.o -c src/ed25519/fe_neg.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p1p1_to_p2.o -c src/ed25519/ge_p1p1_to_p2.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_cmov.o -c src/ed25519/fe_cmov.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_dbl.o -c src/ed25519/ge_p3_dbl.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_0.o -c src/ed25519/ge_p3_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_pow22523.o -c src/ed25519/fe_pow22523.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_copy.o -c src/ed25519/fe_copy.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_msub.o -c src/ed25519/ge_msub.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_1.o -c src/ed25519/fe_1.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_frombytes.o -c src/ed25519/fe_frombytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_sub.o -c src/ed25519/ge_sub.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_tobytes.o -c src/ed25519/ge_tobytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_add.o -c src/ed25519/ge_add.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/open.o -c src/ed25519/open.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p1p1_to_p3.o -c src/ed25519/ge_p1p1_to_p3.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_invert.o -c src/ed25519/fe_invert.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_add.o -c src/ed25519/fe_add.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_mul.o -c src/ed25519/fe_mul.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/sc_muladd.o -c src/ed25519/sc_muladd.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_frombytes.o -c src/ed25519/ge_frombytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_sub.o -c src/ed25519/fe_sub.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_to_cached.o -c src/ed25519/ge_p3_to_cached.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p2_dbl.o -c src/ed25519/ge_p2_dbl.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_scalarmult_base.o -c src/ed25519/ge_scalarmult_base.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_madd.o -c src/ed25519/ge_madd.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_sq2.o -c src/ed25519/fe_sq2.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/sign_modified.o -c src/ed25519/additions/sign_modified.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/zeroize.o -c src/ed25519/additions/zeroize.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/compare.o -c src/ed25519/additions/compare.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/additions/curve_sigs.o -c src/ed25519/additions/curve_sigs.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 src/ed25519/additions/curve_sigs.c: In function ‘curve25519_sign’: src/ed25519/additions/curve_sigs.c:46:3: warning: implicit declaration of function ‘malloc’ [-Wimplicit-function-declaration] if ((sigbuf = malloc(msg_len + 128)) == 0) { ^ src/ed25519/additions/curve_sigs.c:46:17: warning: incompatible implicit declaration of built-in function ‘malloc’ if ((sigbuf = malloc(msg_len + 128)) == 0) { ^ src/ed25519/additions/curve_sigs.c:65:4: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration] free(sigbuf); ^ src/ed25519/additions/curve_sigs.c:65:4: warning: incompatible implicit declaration of built-in function ‘free’ src/ed25519/additions/curve_sigs.c: In function ‘curve25519_verify’: src/ed25519/additions/curve_sigs.c:82:20: warning: incompatible implicit declaration of built-in function ‘malloc’ if ((verifybuf = malloc(msg_len + 64)) == 0) { ^ src/ed25519/additions/curve_sigs.c:87:21: warning: incompatible implicit declaration of built-in function ‘malloc’ if ((verifybuf2 = malloc(msg_len + 64)) == 0) { ^ src/ed25519/additions/curve_sigs.c:129:5: warning: incompatible implicit declaration of built-in function ‘free’ free(verifybuf); ^ src/ed25519/additions/curve_sigs.c:133:5: warning: incompatible implicit declaration of built-in function ‘free’ free(verifybuf2); ^ gcc -o src/ed25519/fe_tobytes.o -c src/ed25519/fe_tobytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_precomp_0.o -c src/ed25519/ge_precomp_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_isnonzero.o -c src/ed25519/fe_isnonzero.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p2_0.o -c src/ed25519/ge_p2_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_isnegative.o -c src/ed25519/fe_isnegative.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/nacl_sha512/blocks.o -c src/ed25519/nacl_sha512/blocks.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/nacl_sha512/hash.o -c src/ed25519/nacl_sha512/hash.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_0.o -c src/ed25519/fe_0.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_tobytes.o -c src/ed25519/ge_p3_tobytes.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/sign.o -c src/ed25519/sign.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_double_scalarmult.o -c src/ed25519/ge_double_scalarmult.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/sc_reduce.o -c src/ed25519/sc_reduce.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/ge_p3_to_p2.o -c src/ed25519/ge_p3_to_p2.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 gcc -o src/ed25519/fe_sq.o -c src/ed25519/fe_sq.c -DLIBCURVE25519_LIBRARY -O2 -fPIC -std=c99 g++ -o curve.o -c curve.cpp -DLIBCURVE25519_LIBRARY -O2 -fPIC ar rcs libcurve25519.a src/curve25519-donna.o src/ed25519/fe_neg.o src/ed25519/ge_p1p1_to_p2.o src/ed25519/fe_cmov.o src/ed25519/ge_p3_dbl.o src/ed25519/ge_p3_0.o src/ed25519/fe_pow22523.o src/ed25519/fe_copy.o src/ed25519/ge_msub.o src/ed25519/fe_1.o src/ed25519/fe_frombytes.o src/ed25519/ge_sub.o src/ed25519/ge_tobytes.o src/ed25519/ge_add.o src/ed25519/open.o src/ed25519/ge_p1p1_to_p3.o src/ed25519/fe_invert.o src/ed25519/fe_add.o src/ed25519/fe_mul.o src/ed25519/sc_muladd.o src/ed25519/ge_frombytes.o src/ed25519/fe_sub.o src/ed25519/ge_p3_to_cached.o src/ed25519/ge_p2_dbl.o src/ed25519/ge_scalarmult_base.o src/ed25519/ge_madd.o src/ed25519/fe_sq2.o src/ed25519/additions/sign_modified.o src/ed25519/additions/zeroize.o src/ed25519/additions/compare.o src/ed25519/additions/curve_sigs.o src/ed25519/fe_tobytes.o src/ed25519/ge_precomp_0.o src/ed25519/fe_isnonzero.o src/ed25519/ge_p2_0.o src/ed25519/fe_isnegative.o src/ed25519/nacl_sha512/blocks.o src/ed25519/nacl_sha512/hash.o src/ed25519/fe_0.o src/ed25519/ge_p3_tobytes.o src/ed25519/sign.o src/ed25519/ge_double_scalarmult.o src/ed25519/sc_reduce.o src/ed25519/ge_p3_to_p2.o src/ed25519/fe_sq.o curve.o make[1]: Leaving directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp/libcurve25519' make -C libaxolotl-cpp make[1]: Entering directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp' protoc --cpp_out=state protobuf/LocalStorageProtocol.proto cp state/protobuf/LocalStorageProtocol.pb.cc state/LocalStorageProtocol.pb.cc cp state/protobuf/LocalStorageProtocol.pb.h state/LocalStorageProtocol.pb.h protoc --cpp_out=protocol protobuf/WhisperTextProtocol.proto cp protocol/protobuf/WhisperTextProtocol.pb.cc protocol/WhisperTextProtocol.pb.cc cp protocol/protobuf/WhisperTextProtocol.pb.h protocol/WhisperTextProtocol.pb.h g++ -o identitykey.o -c identitykey.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o identitykeypair.o -c identitykeypair.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o sessionbuilder.o -c sessionbuilder.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o sessioncipher.o -c sessioncipher.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ecc/curve.o -c ecc/curve.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ecc/eckeypair.o -c ecc/eckeypair.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ecc/djbec.o -c ecc/djbec.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o kdf/derivedmessagesecrets.o -c kdf/derivedmessagesecrets.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o kdf/derivedrootsecrets.o -c kdf/derivedrootsecrets.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o kdf/hkdf.o -c kdf/hkdf.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o groups/group_session_builder.o -c groups/group_session_builder.cc -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o groups/state/senderkeystate.o -c groups/state/senderkeystate.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o groups/state/senderkeyrecord.o -c groups/state/senderkeyrecord.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o groups/ratchet/senderchainkey.o -c groups/ratchet/senderchainkey.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o groups/ratchet/sendermessagekey.o -c groups/ratchet/sendermessagekey.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ratchet/bobaxolotlparameters.o -c ratchet/bobaxolotlparameters.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ratchet/aliceaxolotlparameters.o -c ratchet/aliceaxolotlparameters.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ratchet/messagekeys.o -c ratchet/messagekeys.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ratchet/ratchetingsession.o -c ratchet/ratchetingsession.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ratchet/chainkey.o -c ratchet/chainkey.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ratchet/rootkey.o -c ratchet/rootkey.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o ratchet/symmetricaxolotlparameters.o -c ratchet/symmetricaxolotlparameters.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o state/signedprekeyrecord.o -c state/signedprekeyrecord.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o state/prekeybundle.o -c state/prekeybundle.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o state/prekeyrecord.o -c state/prekeyrecord.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o state/sessionrecord.o -c state/sessionrecord.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o state/sessionstate.o -c state/sessionstate.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o util/byteutil.o -c util/byteutil.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o util/keyhelper.o -c util/keyhelper.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o protocol/keyexchangemessage.o -c protocol/keyexchangemessage.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o protocol/senderkeydistributionmessage.o -c protocol/senderkeydistributionmessage.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o protocol/whispermessage.o -c protocol/whispermessage.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o protocol/prekeywhispermessage.o -c protocol/prekeywhispermessage.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o protocol/senderkeymessage.o -c protocol/senderkeymessage.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o protocol/ciphertextmessage.o -c protocol/ciphertextmessage.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o mem-store/inmemoryaxolotlstore.o -c mem-store/inmemoryaxolotlstore.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o mem-store/inmemoryidentitykeystore.o -c mem-store/inmemoryidentitykeystore.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o mem-store/inmemoryprekeystore.o -c mem-store/inmemoryprekeystore.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o mem-store/inmemorysignedprekeystore.o -c mem-store/inmemorysignedprekeystore.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o mem-store/inmemorysessionstore.o -c mem-store/inmemorysessionstore.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o mem-store/inmemorysenderkeystore.o -c mem-store/inmemorysenderkeystore.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o mem-store/serializer.o -c mem-store/serializer.cpp -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o state/LocalStorageProtocol.pb.o -c state/LocalStorageProtocol.pb.cc -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC g++ -o protocol/WhisperTextProtocol.pb.o -c protocol/WhisperTextProtocol.pb.cc -I./ecc -I./exception -I./util -I./state -I./groups/ratchet -I./groups/state -I./kdf -I./ratchet -I./protocol -I./ -std=c++11 -O2 -fPIC ar rcs libaxolotl.a identitykey.o identitykeypair.o sessionbuilder.o sessioncipher.o ecc/curve.o ecc/eckeypair.o ecc/djbec.o kdf/derivedmessagesecrets.o kdf/derivedrootsecrets.o kdf/hkdf.o groups/group_session_builder.o groups/state/senderkeystate.o groups/state/senderkeyrecord.o groups/ratchet/senderchainkey.o groups/ratchet/sendermessagekey.o ratchet/bobaxolotlparameters.o ratchet/aliceaxolotlparameters.o ratchet/messagekeys.o ratchet/ratchetingsession.o ratchet/chainkey.o ratchet/rootkey.o ratchet/symmetricaxolotlparameters.o state/signedprekeyrecord.o state/prekeybundle.o state/prekeyrecord.o state/sessionrecord.o state/sessionstate.o util/byteutil.o util/keyhelper.o protocol/keyexchangemessage.o protocol/senderkeydistributionmessage.o protocol/whispermessage.o protocol/prekeywhispermessage.o protocol/senderkeymessage.o protocol/ciphertextmessage.o mem-store/inmemoryaxolotlstore.o mem-store/inmemoryidentitykeystore.o mem-store/inmemoryprekeystore.o mem-store/inmemorysignedprekeystore.o mem-store/inmemorysessionstore.o mem-store/inmemorysenderkeystore.o mem-store/serializer.o state/LocalStorageProtocol.pb.o protocol/WhisperTextProtocol.pb.o make[1]: Leaving directory '/home/natanfelles/Área de trabalho/whatsapp-purple/libaxolotl-cpp' gcc -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c99 -o tinfl.o tinfl.c gcc -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c99 -o imgutil.o imgutil.c imgutil.c:2:23: fatal error: FreeImage.h: Arquivo ou diretório não encontrado
^
compilation terminated. Makefile:73: recipe for target 'imgutil.o' failed make: *** [imgutil.o] Error 1 `
Install libfreeimage-devel, isn't it abvious? :D Dup #285
gcc -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c99 -o imgutil.o imgutil.c imgutil.c: In function ‘imgProfile’: imgutil.c:10:45: warning: passing argument 1 of ‘FreeImage_OpenMemory’ discards ‘const’ qualifier from pointer target type FIMEMORY * inimgmem = FreeImage_OpenMemory(data, size); ^ In file included from imgutil.c:2:0: /usr/include/FreeImage.h:798:32: note: expected ‘BYTE *’ but argument is of type ‘const unsigned char *’ DLL_API FIMEMORY *DLL_CALLCONV FreeImage_OpenMemory(BYTE *data FI_DEFAULT(0), DWORD size_in_bytes FI_DEFAULT(0)); ^ imgutil.c: In function ‘imgThumbnail’: imgutil.c:53:45: warning: passing argument 1 of ‘FreeImage_OpenMemory’ discards ‘const’ qualifier from pointer target type FIMEMORY * inimgmem = FreeImage_OpenMemory(data, size); ^ In file included from imgutil.c:2:0: /usr/include/FreeImage.h:798:32: note: expected ‘BYTE *’ but argument is of type ‘const unsigned char *’ DLL_API FIMEMORY *DLL_CALLCONV FreeImage_OpenMemory(BYTE *data FI_DEFAULT(0), DWORD size_in_bytes FI_DEFAULT(0)); ^ gcc -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c99 -o aes.o aes.c protoc --cpp_out=. AxolotlMessages.proto g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o whatsapp-protocol.o whatsapp-protocol.cc g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o wa_util.o wa_util.cc g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o rc4.o rc4.cc g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o keygen.o keygen.cc g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o tree.o tree.cc g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o databuffer.o databuffer.cc g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o message.o message.cc g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o wa_purple.o wa_purple.cc wa_purple.cc: In function ‘void waprpl_tooltip_text(PurpleBuddy*, PurpleNotifyUserInfo*, gboolean)’: wa_purple.cc:151:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] else if (lseen == ~0) ^ wa_purple.cc: In function ‘int hasht_cmp_convo(GHashTable*, void*)’: wa_purple.cc:350:67: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] return (chatid_to_convo((char*)g_hash_table_lookup(hasht, "id")) == *((int *)data)); ^ wa_purple.cc: In function ‘void query_icon(PurpleConnection*)’: wa_purple.cc:521:6: warning: unused variable ‘len’ [-Wunused-variable] int len; ^ wa_purple.cc: In function ‘void waprpl_remove_buddy(PurpleConnection*, PurpleBuddy*, PurpleGroup*)’: wa_purple.cc:969:23: warning: unused variable ‘wconn’ [-Wunused-variable] whatsapp_connection *wconn = (whatsapp_connection*)purple_connection_get_protocol_data(gc); ^ wa_purple.cc:970:14: warning: unused variable ‘name’ [-Wunused-variable] const char *name = purple_buddy_get_name(buddy); ^ wa_purple.cc: In function ‘void http_download_cb(PurpleUtilFetchUrlData*, gpointer, const gchar*, gsize, const gchar*)’: wa_purple.cc:1447:65: warning: format ‘%d’ expects argument of type ‘int’, but argument 3 has type ‘gsize {aka long unsigned int}’ [-Wformat=] purple_debug_info(WHATSAPP_ID, "Got some HTTP data! %d\n", len); ^ wa_purple.cc: In function ‘void waprpl_xfer_init_receiveimg(PurpleXfer*)’: wa_purple.cc:1481:23: warning: unused variable ‘wconn’ [-Wunused-variable] whatsapp_connection *wconn = (whatsapp_connection*)xinfo->wconn; ^ wa_purple.cc:1486:26: warning: unused variable ‘url_fetch’ [-Wunused-variable] PurpleUtilFetchUrlData* url_fetch = purple_util_fetch_url_request_len_with_account( ^ wa_purple.cc: At global scope: wa_purple.cc:1670:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] }; ^ wa_purple.cc:1749:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] }; ^ wa_purple.cc:1749:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] wa_purple.cc:1749:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] wa_purple.cc:1749:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] wa_purple.cc:1749:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] wa_purple.cc:1749:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] wa_purple.cc:1749:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings] g++ -c -O2 -Wall -Wno-unused-function -fPIC -DPURPLE_PLUGINS -DPIC -I./libaxolotl-cpp/ecc -I./libaxolotl-cpp/exception -I./libaxolotl-cpp/util -I./libaxolotl-cpp/state -I./libaxolotl-cpp/protocol -I./libaxolotl-cpp/groups/ratchet -I./libaxolotl-cpp/groups/state -I./libaxolotl-cpp/groups -I./libaxolotl-cpp/kdf -I./libaxolotl-cpp/ratchet -I./libaxolotl-cpp/mem-store -I./libaxolotl-cpp -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/libpurple -std=c++11 -o AxolotlMessages.pb.o AxolotlMessages.pb.cc g++ -shared -pipe -o libwhatsapp.so tinfl.o imgutil.o aes.o whatsapp-protocol.o wa_util.o rc4.o keygen.o tree.o databuffer.o message.o wa_purple.o AxolotlMessages.pb.o -lpurple -lglib-2.0 -lfreeimage ./libaxolotl-cpp/libaxolotl.a -lprotobuf ./libaxolotl-cpp/libcurve25519/libcurve25519.a
Sorry, but... at the momment it's aren't so obvious to me... Perhaps you can post the necessary librarys on the readme file.
@davidgfnet thx man! this is worked for me!
Hello! When I do make (root), return it:
make -C libaxolotl-cpp make[1]: Entering directory '/home/user/desktop/whatsapp-purple/libaxolotl-cpp' protoc --cpp_out=state protobuf/LocalStorageProtocol.proto make[1]: protoc: Comando não encontrado Makefile:72: recipe for target 'state/LocalStorageProtocol.pb.h' failed make[1]: *** [state/LocalStorageProtocol.pb.h] Error 127 make[1]: Leaving directory '/home/user/desktop/whatsapp-purple/libaxolotl-cpp' Makefile:65: recipe for target 'libaxolotl-cpp/libaxolotl.a' failed make: *** [libaxolotl-cpp/libaxolotl.a] Error 2
Any idea?