[caracas-pm] Obteniendo __errno_location al cargar módulo Perl XS en FreeBSD

Alejandro Imass ait at p2ee.org
Thu Aug 18 08:29:59 PDT 2011


2011/8/18 Ernesto Hernández-Novich <emhnemhn at gmail.com>:
> On Tue, 2011-08-16 at 11:03 -0400, Alejandro Imass wrote:
>> Estoy compilando una librería propietaria en FreeBSD que ofrece un API
>> en Perl mediante XS. El paquete viene con un ar archive para Linux 64

[...]

> No necesariamente. Es perfectamente posible escribir un programa que
> solicite el enlazado a tiempo de *corrida* y no a tiempo de compilación
> (man dlopen).
>

Gracias por la detallada respuesta, Ernesto.
Ja! sabes más que Google my friend! y los amigos en la listas de BSD.

Yo pensaba que linkear contra un so revisaba todos los símbolos que yo
fuese a usar al igual que compilar contra un object file/ statci lib
cualquiera.

> Si mi memoria sirve para algo, __errno_location en Linux es lo mismo que
> __error en BSD. Capaz que con un #define apropiado te basta.

Si, por supuesto. Si tuviese el fuente de la lib no estaría en este aprieto.

Bueno de todas formas resultó más sencillo escribir un correo, y el
soporte de la gente que provee la lib fue extraordinario y ellos me
solicitaron solo un ambiente para compilar y voilá, me dieron mi lib
para BSD y ya.
No hubo que seguir hackeando <alivio>

Uno de los _raros_ casos donde el soporte de la empresa de software
propietario responde con tanta dedicación. Por supuesto, su negocio no
es software sino el servicio de gateway de pagos que proveen con ese
software ;-)

De hecho te digo que en este caso en particular prefiero que el
software sea cerrado y sea _su_ problema en vez de WebServices para
los payment gateways. Al final me di cuenta que los tipos usan cURL
por debajo pero ofrecen un API de alto nivel que enlaza directamente
con tu lenguaje, lo cual me parece mejor que otras cosas que he visto
en esta área. En la desesperación estuve a punto de sniffear el
tráfico http, y bueno te imaginas lo que iba a hacer, pero
afortunadamente los tipos respondieron en menos de 3 días con una
nueva lib.

Gracias de nuevo, y saludes!

--
Alejandro




> --
> Ernesto Hernández-Novich - @iamemhn - Unix: Live free or die!
> Geek by nature, Linux by choice, Debian of course.
> If you can't aptitude it, it isn't useful or doesn't exist.
> GPG Key Fingerprint = 438C 49A2 A8C7 E7D7 1500 C507 96D6 A3D6 2F4C 85E3
>
> _______________________________________________
> caracas-pm mailing list
> caracas-pm at pm.org
> http://mail.pm.org/mailman/listinfo/caracas-pm


More information about the caracas-pm mailing list