• Publicidad

Acceso a librería GD

¿Ya sabes lo que es una referencia? Has progresado, el nível básico es cosa del pasado y ahora estás listo para el siguiente nivel.

Acceso a librería GD

Notapor cargarm3 » 2011-01-29 10:35 @483

Tengo un script en Perl (unas 1500 líneas) y en local me funciona perfectamente. Este script hace uso de varias librerías, que he podido subir de forma manual (subiendo las carpetas e incluyendo en @INC la carpeta donde se encuentran).

El problema surge cuando llamo a la librería GD (instrucción use GD), ya que obtengo el error "Can't locate loadable object for module GD in @INC".

Investigando bastante he descubierto que con la librería GD no basta con un copiar y pegar, sino que tengo que hacer la instalación.

El problema es que no tengo acceso a la instalación de módulos en mi hosting (unix), por lo que no puedo instalar GD para Perl. Sin embargo, mi hosting SÍ dispone de GD, ya que en el phpinfo() obtengo que la librería GD está enabled, versión 2.2.1 ....

¿Sabéis cómo puedo llamar desde Perl a la librería GD (instalada para PHP)?

Espero que se haya entendido el problema, un saludo.
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Publicidad

Re: Acceso a librería GD

Notapor explorer » 2011-01-29 11:06 @504

Bienvenido a los foros de Perl en Español, cargarm3.

La teoría dice que si coinciden los números de versión de la librería GD instalada, y la arquitectura de la máquina, con la que necesita el módulo GD.pm, entonces sería posible cargarla con tal de que el módulo sepa dónde encontrar esa librería.

No lo he hecho nunca, pero supongo que, dentro del programa, habría que definir la variable de exportación a la ruta donde se encuentra la librería. Algo así como export LD_LIBRARY_PATH=ruta_al_directorio.

Ya digo que nunca lo he hecho, así que seguro que me estoy equivocando.

De todas maneras, sí que sería posible tener todo instalado en tu propio directorio personal. Viendo el fichero Makefile.PL veo que se puede hacer una compilación indicando el lugar donde se encuentra la librería libgd.

O quizás sea tan sencillo como subir las librerías libgd y libpng y colocarlas dentro de la carpeta que contenga GD.so. Aún así, deben estar compiladas con la misma arquitectura hardware y software que tiene el servidor.

No sé... esto implica hacer unas cuantas pruebas... o buscar mucho por Google :)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Acceso a librería GD

Notapor cargarm3 » 2011-01-29 11:12 @508

Gracias por la bienvenida, la verdad es que he visitado varias veces este foro como visitante, pero hasta ahora no he tenido que reportar ninguna duda.

El problema de lo que me dices es que, al no tener acceso al servidor, no puedo acceder al directorio donde existe el GD.so...

En cuanto a pruebas, créeme que llevo una semana con este reto, y me temo que voy a tener que transcribir las 1500 líneas de Perl a PHP...

De todas formas, trataré de, en primer lugar, preguntar al hosting el directorio donde se encuentra la librería GD y en segundo lugar, incluir esta ruta como export LD_LIBRARY_PATH=ruta_al_directorio.

Ya te comento algo cuando me contesten desde el hosting.

Un saludo y gracias por la respuesta.
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Re: Acceso a librería GD

Notapor explorer » 2011-01-29 13:35 @607

Los proveedores de alojamiento no suelen hacer caso de las demandas de los clientes, ya que, aparte de que el precio de alojamiento cada vez es más bajo, la construcción de los servidores se hace en función de máquinas preconfiguradas (salvo que contrates un alojamiento físico o virtual, y no compartido).

Si vas a trabajar en Perl, es mejor buscar un proveedor que sí dé soporte a Perl. Hay algunos proveedores que te indican qué módulos tienen preinstalados, por lo que en la mayoría de las ocasiones no tienes que hacer nada. O con un panel de control, puedes pedir la instalación de un determinado módulo.

Pero ya digo que eso depende de las facilidades que nos de la empresa. Recuerdo que he visto algunos de ellos, equipados con el panel de control CPanel, y era muy sencillo instalar nuevos módulos (en alojamientos virtuales o dedicados, repito). En Arsys, por ejemplo, sí que tienen un buen soporte de Perl.

Al final, si no queda más remedio, puedes pasar el programa a PHP... o hacer que el programa Perl llame a /usr/bin/php5 cuando necesite generar un gráfico ;)
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Acceso a librería GD

Notapor danimera » 2011-01-30 23:44 @030

¡Qué tristeza tener Perl que usar PHP para algo...! Es inútil hasta ahora no he podido encontrar nada que Perl no pueda hacer y que PHP sí...
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Acceso a librería GD

Notapor explorer » 2011-01-31 05:44 @280

No es culpa de Perl... yo sí he usado muchas veces GD con Perl.

Todo es cuestión de que se trata de una instalación en un alojamiento que no tiene el GD instalado para Perl (pero sí para PHP), así que la preferencia del alojador es clara.

Además, he comentado que llamar a PHP desde Perl sería cuestión de una línea... (llamar a /usr/bin/php5, por ejemplo).
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Re: Acceso a librería GD

Notapor cargarm3 » 2011-01-31 06:48 @325

Aún sigo la respuesta del hosting (PiensaSolutions), en cuanto me digan el directorio del GD en PHP empiezo con las pruebas.

En cuanto a lo de invocar PHP desde Perl, no creo que me valga porque el script no se dedica a la generación simple de gráficas, sino que emplea unos módulos (como por ejemplo, entre otros GD::Text::Wrap) que no están en PHP y sí en Perl.

Ya os cuento los resultados... (si a alguien le ha pasado lo mismo, que no se prive de comentar).

Un saludo.
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Re: Acceso a librería GD

Notapor danimera » 2011-01-31 20:47 @907

Yo de ti si pudiera haría un cambio de servidor, o que lo instalen. Eso no les quita nada.
100% Telch - Perl Web Programming
Cali PerlMongers: http://cali.pm.org
Avatar de Usuario
danimera
Perlero frecuente
Perlero frecuente
 
Mensajes: 871
Registrado: 2005-06-23 19:02 @834
Ubicación: Colombia

Re: Acceso a librería GD

Notapor cargarm3 » 2011-02-05 06:56 @331

La respuesta de Piensa :

En Piensa Solutions no disponemos de cgi preinstalados en nuestro sistema, pero podrás diseñar o adaptar los que encuentres en Internet para tu uso.

Si te decides por esto, debemos aclararte que no podremos ayudarte con su desarrollo, ya que no ofrecemos soporte sobre código.

De cualquier manera, para el uso de cgi en Piensa Solutions debes seguir las siguientes pautas:

- Incluir en el inicio del cgi la ruta del interprete de PERL:

#!/usr/bin/perl

- Si usas Sendmail para enviar correos, ten en cuenta que la ruta del mismo es:

/usr/sbin/sendmail

- Para evitar problemas con las compatibilidades de salto de carro entre Linux y otros Sistemas Operativos, debes subir tus ficheros en modo ASCII. Esta opción suele ser seleccionable en la mayoría de los programas clientes FTP.

-Debes subir tus cgi en el directorio cgi-bin que se encuentra en el raíz del espacio FTP de tu cuenta FTP Principal (Tipo P). Para llamarlos desde tu código usaras la ruta http://www.artesingular.es, donde script.cgi será el nombre de tu script.

-Debes darle permisos de ejecución (755) al cgi con tu programa FTP. Esta opción se encuentra en las propiedades de los archivos de la mayoría de los programas clientes de FTP.

-Por último, recordarte que, el servidor donde alojas tus páginas en Piensa Solutions es Linux, y distingue mayúsculas de minúsculas. Así que, por ejemplo, no será el mismo script.cgi que Script.CgI. Ten cuidado con este particular ya que te puede dar quebraderos de cabeza.

Estamos a tu disposición para cualquier consulta o aclaración al respecto.


En resumen, me han hecho un copiar/pegar sin leerse el e-mail. Desde ya empiezo a buscar otro hosting con soporte para GD de Perl.

Por otro lado, he intentado transcribir el script en PHP, pero hay módulos de Perl que no están en PHP, con lo que lo he descartado.
Última edición por cargarm3 el 2011-09-15 11:08 @505, editado 1 vez en total
cargarm3
Perlero nuevo
Perlero nuevo
 
Mensajes: 10
Registrado: 2011-01-28 11:37 @525

Re: Acceso a librería GD

Notapor explorer » 2011-02-05 07:57 @373

Te han respondido con una carta-modelo porque centenares de personas como tu hacen las mismas preguntas, así que lo que te han mandado es una versión corta de un documento de respuestas a preguntas más frecuentes.

El resumen de la nota es: "por tu nivel de contrato con nosotros, solo podemos ofrecerte un sistema prefabricado de alojamiento virtual en donde, si quieres hacer algo que no es común al resto de las decenas de miles de clientes, tendrás que buscarte la vida".

Es perfectamente lógico: lo que tu quieres no es nada común. Y te dan varias opciones, todas válidas. Pero la principal es que, con lo que tienes contratado con ellos ahora no pueden hacer más que decirte que tienes que resolverlo tu mismo.

Caso distinto es si tuvieras contratado con ellos un servicio mayor. Si tuvieras un servidor físico, entonces toda la máquina estaría a tus órdenes, podrías instalar lo que quisieras (y pudieras). Lo malo es que el precio se dispara, aunque con los servicios en la nube de Amazon, ahora se puede pagar a unos 0,06€ por hora, creo recordar.

Yo puedo ofrecerte mi alojamiento (5€/mes) en donde se pueden instalar los siguientes paquetes:
Sintáxis: [ Descargar ] [ Ocultar ]
Using text Syntax Highlighting
libg20-perl v0.72-1
libgd-barcode-perl v1.15-4
libgd-gd2-noxpm-perl v1:2.39-2+b
libgd-gd2-perl v1:2.39-2+b   <= Paquete
libgd-graph-perl v1.44-3
libgd-graph3d-perl v0.63-5
libgd-securityimage-perl v1.68-1
libgd-svg-perl v0.33-1
libgd-text-perl v0.86-5
Coloreado en 0.000 segundos, usando GeSHi 1.0.8.4

además de otros centenares más. Y si no está en la lista el que necesitas, siempre podemos intentar bajarlo con el comando cpanp :)

El que creo que estás buscando es el GD (libgd-gd2-perl). Según veo en el sistema nuestro, trae soporte para png, jpeg, xpm y truetype.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Intermedio

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 13 invitados

cron