Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Ejecutar programa SDL en linux

Iniciado por NewMac, 16 de Mayo de 2008, 12:33:57 AM

« anterior - próximo »

NewMac

Hola,

Tengo un programita en linux que usa las SDL y me gustaría poder ejecutarlo en otros ordenadores sin que haga falta instalar estas bibliotecas antes, en windows p.e. copio las .dll a la misma altura que el .exe y listo, pues lo mismo me gustaría en linux. He probado a copiar los .so a la misma altura que el ejecutable pero me sigue dando el error de que no encuentra la shared librarie. Me podríais ayudar a solucionar esto?

Gracias.

Tei

Cita de: "NewMac"Hola,

Tengo un programita en linux que usa las SDL y me gustaría poder ejecutarlo en otros ordenadores sin que haga falta instalar estas bibliotecas antes, en windows p.e. copio las .dll a la misma altura que el .exe y listo, pues lo mismo me gustaría en linux. He probado a copiar los .so a la misma altura que el ejecutable pero me sigue dando el error de que no encuentra la shared librarie. Me podríais ayudar a solucionar esto?

Gracias.

Quizas eso te funcione si compilas los ejecutables estaticamente. Luego, lo de poner los so en el directorio..  bueno, ten en cuenta que por razones de seguridad, tener en el path el directorio actual puede ser una bastante mala idea, asi que en linux es posible que solo use esos ficheros si los incluyes en el path adecuado.

Ahora no te se decir ningun juego como preguntas, mira en www.happypenguin.org/

Prompt

Tei despierta!

OldMac, que listanos los ejecutables, dlls y .so que tienes en el directorio del juego.

Luego pon el mensaje de error por favor.

Zaelsius

En Linux los ejecutables no buscan las librerías dinámicas en el directorio actual, sino que solo buscan en aquellos directorios especificados por las variables de entorno LD_LIBRARY_PATH y LD_PRELOAD.

Con esa pista y tito Google seguro que das con la solución, me imagino que para mayor comodidad te tendrás que hacer un script para lanzar el juego o bien cambiar las variables en tiempo de ejecución con alguna llamada al API(ni idea).

davur

En este artículo se aborda el tema de la distribución de binarios en Linux y se discuten varias maneras de resolverlo (desde preparar paquetes para las distribuciones habituales que resuelvan las dependencias automáticamente hasta tocar LD_LIBRARY_PATH - esta opción es la única tratada en detalle-).

Tan interesante, o más aún si cabe, es el hilo de discusión del susodicho artículo donde se plantean los problemas de tocar LD_LIBRARY_PATH y se proponen otras alternativas.

NewMac

Muchas gracias chicos, probaré lo que me habeis comentado y ya comentaré los resultados.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.