Você já teve problemas ao usar libssh no Mac OSX 10.7.5.? E de alguma forma ele sai com o último erro sendo assim: ** “Erro: Servidor especificou canal inválido 43” **
Se você instalou uma libssh para desenvolvimento com portas e costumava tê-la em seus pacotes implantados, esteja ciente de que esta versão é provavelmente muito antiga, ou pelo menos muito antiga para conter a correção do bug # 39 da libssh ( https: / /red.libssh.org/issues/39 ). Esse bug foi corrigido na última versão do libssh-0.4.8 na série de 0.4
Infelizmente, esta versão não pode ser usada no OSX 10.7.5. quando não é construído com o ponteiro correto para o ambiente; o problema é que em libssh-0.4.8/libssh/socket.c
, isso não é edificável:
extern char **environ;
e você tem que substituir isso por:
#ifdef __APPLE__
#include <crt_externs.h>
#define environ (*_NSGetEnviron())
#else
extern char **environ;
#endif
depois disso, construa a coisa e crie sua libssh de trabalho para 10.7.5.
$ mkdir libssh-0.4.8/build/
$ cd libssh-0.4.8/build/
$ cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release ..
$ make
O resultado é sua libssh de trabalho:
libssh-0.4.8/build/libssh/libssh.4.1.4.dylib.
Use essa biblioteca em suas implantações e pelo menos funciona em 10.7.5. e 10.8.4 até onde posso dizer …
Agradecimentos a Oleksandr Shneyder de http://x2go.org e http://www.phoca-gmbh.com por descobrir isso! Além disso, se você precisa de um verdadeiro Linux Professional, contrate-o!
Tenha um bom dia,
@Kjellski