Hola, me inscribí en el foro porque vi tu pregunta. Realmente es algo complejo instalar Panda3D en Fedora 17, sin embargo, es posible. Como afirmas, no existe un RPM para ésta versión, con lo que tendrás que construir todo el motor para tenerlo funcionando.
Antes de seguir, todo lo que te diré está documentado en la página principal (
www.panda3d.org), dentro de su manual, además buscando un poco, me topé con una página que es de mucha ayuda (citada en referencias), la cuál es de un videojuego y creo que encontrarás información muy valiosa.
Sin más preámbulo, aquí está cómo logré construir Panda3D en Fedora 17 (ve por un café porque es tardado, por cierto, algunos comandos requerirán privilegios de administrador):
Pre-construcción- Primero, obtén grupo de paquetes de construcción "build essentials".
yum groupinstall "Development Tools"
Aparte, requerirás cMake (para construir Bullet y libRocket).
- Segundo, obtén las dependencias en repositorios, que básicamente son muchas ... MUCHAS, probablemente se me escapan un par de ellas, pero no te preocupes, durante el proceso de construcción (más adelante explicado) te aparecerán mensajes de "XXXX not found, excluding from build". Donde XXX será la librería que tú tendrás que buscar por tu cuenta (Internet o "yum search XXXX"). Aquí está el comando YUM que instala varias de ellas.
yum install ode-devel libXxf86dga-devel gtk2-devel ffmpeg ffmpeg-devel libpng10-devel libjpeg-turbo-devel openssl-devel freetype-devel boost-devel python-devel openal-soft-devel libCg Cg mesa-*-devel
Independientemente, hay viarios componentes que no son requeridos para la construcción. Pueden ser ignorados los siguientes.
- Eigen
- Artoolkit
- FCOLLADA
- fftw
- fmodex
- Opencv
- Squish
- Vrpn
- Con todas las dependencias instaladas, hace falta hacerte de libRocket (útil para GUIs) y BulletPhysics (Personalmente prefiero usarlo antes que ODE). Para hacerlo, sigue las instrucciones explicadas dentro de la siguiente página:
https://github.com/PeteX/friendlyfruit/wiki/Building-Panda3D . Debes tener cuidado, si tu sistema es de 64 o 32 bits la instalación (los argumentos) cambian, aparte tienes que verificar los prefijos de instalación ("DCMAKE_INSTALL_PREFIX") y el número de Hilos ("Threads") de ambas librerías.
Atención: Es importante que pongas adecuadamente el prefijo de instalación, ahí se indica dónde serán puestas las librerías al final. La guía que cité se enfoca a hacerlas visibles sólo para el "building script" de Panda3D, no tu sistema completo.
Construcción- Ya teniendo todo lo anterior, procedemos a ejecutar "makepanda.py" adecuadamente (como dice el manual).
Atención: es realmente importante que ejecutes el comando en la raíz de la descompresión, no en el directorio "makepanda", por ejemplo, si descomprimiste el archivo, debió haberte generado una carpeta llamada "panda3d-1.8.0", es desde esa carpeta donde se debe lanzar el comando:
python makepanda/makepanda.py --installer --no-artoolkit --no-fcollada --no-fftw --no-fmodex --no-opencv --no-squish --no-vrpn --everything
Explicándolo de forma muy básica, "--everything" va a compilar el motor con todas las características disponibles (otorgadas por las dependencias instaladas). Los argumentos "--no-...etc" son para indicar que ignore las librerías indicadas (realmente no pasa nada si se omiten), y finalmente, "--installer" creará un RPM en la carpeta de trabajo.
Una vez ejecutado el comando, puedes ir por un café, ver un programa de T.V., etc. Porque tardará algo (como veinte minutos). Quizá quieras dejarla trabajar sola durante esos minutos, ya que éste proceso consumirá la mayor parte de los recursos y la dejará parcialmente inutilizable; pero es muy importante, de verdad mucho, que no la dejes sin supervisar, ya que deberás atender cualquier error que salga y evitarte de frustraciones.
InstalaciónSólo da doble clic sobre el archivo RPM que genera.
Cuando construí por primera vez Panda3D en Fedora 17, al ejecutar el instalador me lazó un error de dependencias (No hallaba ni Bullet ni libRocket). Tuve que hacer malabares dentro de la carpeta "build" para que me dejase, pero lo logré; si te pasa lo mismo (ya cuando ejecutes el instalador), debes notificarme debido a que la solución es algo compleja para ser escrita aquí, además no siempre sucede.
PruebaEn la Shell.
python
>> from direct.showbase.ShowBase import ShowBase
>> base = ShowBase()
>> base.run()
Si todo sale bien, debería lanzar una ventana. ¡Entonces ya tienes funcionando Panda3D!.
EpígrafeEsa es mi experiencia con el motor en Fedora, espero que te sea de ayuda. Si tienes alguna duda revisa los manuales o pregunta acá, si explicas detalladamente tu error, intentaré ayudarte.
Saludos desde México.
Referencias: