RSS

Compilando libssh (Snow Leopard)

06 Dic

Hoy por una de esas me he visto obligado a instalar y compilar para mi Snow Leopard las librerías de “libssh” (no confundir con “libssh2”). Para mi sorpresa, o quizás no tan sorpresa a estas alturas, al lanzar la compilación daba un error en el código porque no encontraba una de las variables que utilizaba. Dicha variable era:

extern char **environ;

Buscando un poco en Google, he llegado a la conclusión de que esta variable no está disponible en sistemas MAC OS X, con lo cual me ha tocado hacerle un pequeño parche al código fuente para poder compilarlo.

El fichero que daba el error era: “libssh/socket.c“, donde podemos encontrar las dos siguientes lineas:

extern char **environ;

execve(args[0],(char * const *)args,(char * const *)environ);

Lo que tenemos que hacer es sustituir ese parte del código por la siguiente:

//extern char **environ;

#include <ctr_externs.h>;

char **__hscore_environ(void) { return (*_NSGetEnviron()); }

//execve(args[0],(char * const *)args,(char * const *)environ);

execve(args[0],(char * const *)args,(char * const *)__hscore_environ());

Con esto podremos compilar e instalar perfectamente. Os lo dejo aquí por si alguien tiene el mismo problema, y para que engañarnos, por que a mi seguro que para la próxima vez se me ha olvidado.

Y como final una pequeña reflexión. ¿por qué siendo MAC OS X un sistema basado en UNIX, esto pasa tan a menudo? ¿No deberían intentar mantener un poco más la homogeneidad con los sistemas *Unix? De esta forma tendrían muchísimo más software a su disposición y nos harían la vida más fácil a algunos usuarios. Nos vemos.

Fuente: GHC

Anuncios
 
Deja un comentario

Publicado por en 6 diciembre, 2010 en técnicos

 

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: