Como instalar Panda3d en Fedora 17?

Iniciado por Ulianov, 14 Enero 2013, 05:50 AM

0 Miembros y 1 Visitante están viendo este tema.

Ulianov

Hola, saludos amigos. Por favor me podrian ayudar, lo que pasa es que  descarge Panda3d en mi pc con fedora 17, como el sdk no trae el .rpm tenia que ejecutar el programa desde su codigo fuente y entonces me lo bajè (ya descomprimido) entro a la carpeta del programa luego la carpeta makepanda makepanda luego desde terminal escribo:


-su

-contraseña

-python installpanda.py


Luego la terminal me bota esto:

Installing Panda3D into /usr/local
Elapsed Time: 0 sec
Cannot read built/etc/Config.prc
Build terminated.


Pero cuando intento ejecutar alguno de los ejemplos que vienen en la carpeta de panda y luego la carpeta samples no funciona. Que puedo hacer, saludos.

Me acabo de fijar y en la carpeta  usr/local/share se me creo una carpeta llamada panda3d.

Ayuda por favor, gracias de antemano.

EdmundosTown

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).

yum install cmake


- 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.
Citar
- 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ón
Só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.

Prueba

En 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ígrafe

Esa 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:
Citar
http://www.panda3d.org/manual/index.php/Main_Page
https://github.com/PeteX/friendlyfruit/wiki/Building-Panda3D

Ulianov

Muchisimas gracias por tomar el tiempo de explicarlo. Saludos.  ;-)