Utilizando WhatsApp via Pidgin no GNU/Linux
Esta dica surgiu de uma dúvida postada no fórum e foi feita com o auxílio do guia apresentado nesta mesma dúvida. Ocorre que precisei fazer apenas algumas adequações em relação às versões defasadas utilizadas no guia.
A distro que utilizo é o
Gentoo , portanto fiz do jeito mais condizente, compilando "tudo".
Primeiramente você precisa ter instalado o
Pidgin , a biblioteca
purple e o
Git :
# emerge pidgin git
Posteriormente você vai precisar do download do source de suporte para o
WhatsApp no Pidgin, compilar o arquivo *.so e copiá-lo para o diretório das libs do Pidgin:
# git clone https://github.com/davidgfnet/whatsapp-purple.git
# cd whatsapp-purple
# make
# cp libwhatsapp.so /usr/lib/pidgin
Em seguida, fazemos o download do programa que nos dará a senha de acesso ao WhatsApp. É como se fizéssemos o processo via celular. Aviso que o programa roda via mono, mas você pode rodar ele no Windows, anotar a senha e colar no Pidgin.
# git clone https://github.com/mgp25/WART.git
# cd WART
# mono WART-*.exe ui
Coloque seu telefone 55DDDNUMBER, sem o mais e ele enviará o código via SMS para seu celular. Insira o código recebido, sem o hífen e aparecerá a senha para ser copiada no Pidgin.
Abra o Pidgin, selecione a adição de conta do tipo WhatsApp, insira novamente 55DDDNUMBER e a senha fornecida no último passo do WART.
Aperte salvar, e pronto!
Considerações: você não necessita estar conectado no celular como no acesso via browser. Você NÃO pode estar conectado no celular, ou vice-versa pelo mesmo IP. Infelizmente, todos seus usuários deverão ser cadastrados novamente no Pidgin utilizando o número de celular deles no mesmo padrão, 55DDDNUMBER. Os grupos que fizer parte aparecerão na sua lista de contatos podendo ser cadastrados os contatos a partir dali.
E é isso. Segue os créditos de onde retirei a maioria das informações com maiores detalhes:
Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada
Um pouco sobre o screen
Pacman 4 com GPG Embarcado
Site com belos papéis de parede
Esconder barra de título do Firefox no GNOME Shell
Corrigindo Tema do Mouse do Root
Comentários
Um aviso que só fui descobrir depois. Ao cadastrar o pidgin, tenha em mente que você estará descadastrando seu celular e vice-versa. Então, a utilização desta dica fica pautada a esta limitação do WhatsApp.
---
Hail Hydra!
Prezado amigo, excelente dica. Funcionou perfeitamente no Ubuntu 14.04 AMD64 LTS. Obrigado pela disposição em contribuir com a comunidade! Aproveito a oportunidade para perguntar se você tem alguma dica para inserir uma imagem e um status de mensagem (inserir uma frase) que fique visível para os contatos, ou seja, uma foto qualquer e uma frase, pois as imagens e as frases inseridas no pidgin não são exibidas para os contatos. Eu somente consegui fazer, usando o celular, mas diretamente no pidgin não deu certo, apesar de ter a opção para as duas ações (imagem e frase). Caso saiba de alguma dica, ficarei grato!
Mensagem
Prezado amigo, excelente dica. Funcionou perfeitamente no Ubuntu 14.04 AMD64 LTS. Obrigado pela disposição em contribuir com a comunidade! Aproveito a oportunidade para perguntar se você tem alguma dica para inserir uma imagem e um status de mensagem (inserir uma frase) que fique visível para os contatos, ou seja, uma foto qualquer e uma frase, pois as imagens e as frases inseridas no pidgin não são exibidas para os contatos. Eu somente consegui fazer, usando o celular, mas diretamente no pidgin não deu certo, apesar de ter a opção para as duas ações (imagem e frase). Caso saiba de alguma dica, ficarei grato!
[2] Comentário enviado por pinguintux em 30/07/2015 - 22:10h
Prezado amigo, excelente dica. Funcionou perfeitamente no Ubuntu 14.04 AMD64 LTS. Obrigado pela disposição em contribuir com a comunidade! Aproveito a oportunidade para perguntar se você tem alguma dica para inserir uma imagem e um status de mensagem (inserir uma frase) que fique visível para os contatos, ou seja, uma foto qualquer e uma frase, pois as imagens e as frases inseridas no pidgin não são exibidas para os contatos. Eu somente consegui fazer, usando o celular, mas diretamente no pidgin não deu certo, apesar de ter a opção para as duas ações (imagem e frase). Caso saiba de alguma dica, ficarei grato!
Encontrei a solução. Basta executar os procedimentos abaixo:
Para inserir uma imagem = Em "Usar este ícone de exibição para esta conta", Insira uma imagem no formato “.jpeg”. Antes, ajuste-a ao formato desejado. Eu utilizei o tamanho 300x300 Pixels.
Para Criar uma mensagem de "Status" = Na parte Inferior da Tela do “Pidgin”, clique em:
- Novo Status;
- Defina um Título para o Status: Ex:. Mensagem;
- Status: Disponível;
- Mensagem: Ex:. Viva o Linux!
- Salvar e Usar
Mensagem
[quote]
[2] Comentário enviado por pinguintux em 30/07/2015 - 22:10h
Prezado amigo, excelente dica. Funcionou perfeitamente no Ubuntu 14.04 AMD64 LTS. Obrigado pela disposição em contribuir com a comunidade! Aproveito a oportunidade para perguntar se você tem alguma dica para inserir uma imagem e um status de mensagem (inserir uma frase) que fique visível para os contatos, ou seja, uma foto qualquer e uma frase, pois as imagens e as frases inseridas no pidgin não são exibidas para os contatos. Eu somente consegui fazer, usando o celular, mas diretamente no pidgin não deu certo, apesar de ter a opção para as duas ações (imagem e frase). Caso saiba de alguma dica, ficarei grato!
[/quote]
Encontrei a solução. Basta executar os procedimentos abaixo:
Para inserir uma imagem = Em "Usar este ícone de exibição para esta conta", Insira uma imagem no formato “.jpeg”. Antes, ajuste-a ao formato desejado. Eu utilizei o tamanho 300x300 Pixels.
Para Criar uma mensagem de "Status" = Na parte Inferior da Tela do “Pidgin”, clique em:
- Novo Status;
- Defina um Título para o Status: Ex:. Mensagem;
- Status: Disponível;
- Mensagem: Ex:. Viva o Linux!
- Salvar e Usar
Boa tarde amigo segui os passos, mas na hora da compilação ta dando um erro... vc pode me ajudar:
root@SRV-:/opt# cd whatsapp-purple
root@SRV-:/opt/whatsapp-purple# make
make[1]: Entering directory `/opt/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â [enabled by default]
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â [enabled by default]
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â [enabled by default]
if ((verifybuf = malloc(msg_len + 64)) == 0) {
^
src/ed25519/additions/curve_sigs.c:87:21: warning: incompatible implicit declaration of built-in function âmallocâ [enabled by default]
if ((verifybuf2 = malloc(msg_len + 64)) == 0) {
^
src/ed25519/additions/curve_sigs.c:129:5: warning: incompatible implicit declaration of built-in function âfreeâ [enabled by default]
free(verifybuf);
^
src/ed25519/additions/curve_sigs.c:133:5: warning: incompatible implicit declaration of built-in function âfreeâ [enabled by default]
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 `/opt/whatsapp-purple/libaxolotl-cpp/libcurve25519'
make -C libaxolotl-cpp
make[1]: Entering directory `/opt/whatsapp-purple/libaxolotl-cpp'
protoc --cpp_out=state protobuf/LocalStorageProtocol.proto
make[1]: protoc: Command not found
make[1]: *** [state/LocalStorageProtocol.pb.h] Error 127
make[1]: Leaving directory `/opt/whatsapp-purple/libaxolotl-cpp'
make: *** [libaxolotl-cpp/libaxolotl.a] Error 2
Mensagem
Boa tarde amigo segui os passos, mas na hora da compilação ta dando um erro... vc pode me ajudar:
root@SRV-:/opt# cd whatsapp-purple
root@SRV-:/opt/whatsapp-purple# make
make[1]: Entering directory `/opt/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â [enabled by default]
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â [enabled by default]
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â [enabled by default]
if ((verifybuf = malloc(msg_len + 64)) == 0) {
^
src/ed25519/additions/curve_sigs.c:87:21: warning: incompatible implicit declaration of built-in function âmallocâ [enabled by default]
if ((verifybuf2 = malloc(msg_len + 64)) == 0) {
^
src/ed25519/additions/curve_sigs.c:129:5: warning: incompatible implicit declaration of built-in function âfreeâ [enabled by default]
free(verifybuf);
^
src/ed25519/additions/curve_sigs.c:133:5: warning: incompatible implicit declaration of built-in function âfreeâ [enabled by default]
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 `/opt/whatsapp-purple/libaxolotl-cpp/libcurve25519'
make -C libaxolotl-cpp
make[1]: Entering directory `/opt/whatsapp-purple/libaxolotl-cpp'
protoc --cpp_out=state protobuf/LocalStorageProtocol.proto
make[1]: protoc: Command not found
make[1]: *** [state/LocalStorageProtocol.pb.h] Error 127
make[1]: Leaving directory `/opt/whatsapp-purple/libaxolotl-cpp'
make: *** [libaxolotl-cpp/libaxolotl.a] Error 2
Mensagem
Procedimentos pelo site superdownloads.com.br e pela dica do amigo não funciona o WhatsApp via Pidgin
http://www.superdownloads.com.br/materias/6960-usando-whatsapp-via-pidgin-no-linux.htm
apt-get update
apt-get install -y pidgin
Para 32 bits
cd /usr/lib/pidgin/
wget http://davidgf.net/nightly/whatsapp-purple/386/last-whatsapp.so
mv last-whatsapp.so whatsapp.so
ls -1l
-rw-r--r-- 1 root root 6125 Abr 15 2016 whatsapp.so
versão do Pidgin: 2.11.0
Em protocolo não aparece o whatsapp
Remover o arquivo whatsapp.so
cd /usr/lib/pidgin/
rm whatsapp.so
Contribuir com comentário
Enviar