fedora 11 and panda3d


A few checks to verify:
(1) Does the file /usr/lib/panda3d/libpandaexpress.so exist?
(2) Does the file /etc/ld.so.conf.d/panda3d.conf exist and contain the right path to the Panda3D libraries?
(3) Is the LD cache updated (e.g. does “sudo ldconfig” fix the problems)?


If ffmpeg is a requirement but not included in your repo, isn’t that ok? I haven’t installed it, I’m waiting for 1.7 before I jump in, but if compiling from source wouldn’t you need ffmpeg anyway?

I guess I’m confused what the legal issue is if your repo does not include ffmpeg but simply requires it the same as compiling from source. Or is the issue that panda3d is compiled using ffmpeg source files not separately installed libs/binaries?


We’re linking to ffmpeg and including it’s header files, so that means that the Panda3D library is a derivative work of ffmpeg.


Ah, ok, makes sense.

It makes me wonder how this will affect any/all future binary distributions including windows and such, as well as commercial games. For example, what does Disney do?


(1) No.
(2) Yes, it exists. However it points to /usr/lib64/panda3d a folder that does not exist.
(3) Updated it. Does not help.

Well I think problem (1) pretty much says it all. I checked and libpandaexpress.so is nowhere to be found in either /usr/lib or /usr/lib64

I guess that RPM was not built correctly. I am going to uninstall it now, and try a make-install from source.


Uh, you shouldn’t worry about that, we’re still going to ship the official releases with ffmpeg, just not through the OBS. I’ve already found a build farm service for ubuntu and opensuse that does allow use of ffmpeg.
The windows and mac releases are entirely unaffected by all this.

Disney VR Studio does not use ffmpeg, as far as I know.


Ah, ok, thanks. I was just worried that binary installs may be going away.


hmm; may I suggest submitting panda3d to rpmfusion.org/ ?


Now that’s what I was looking for. Awesome, thanks for the link! I’ll look into it.

Sounds like it serves a similar purpose as packman, which I’m now using to host the openSUSE builds.


Same problem here under Ferdora 11 64bit

I’ve also tried to run the samples before installing as suggested into the readme (adding the foldet inyo my path) but with no luck

[madbad@localhost Fireflies]$ echo $PATH

[madbad@localhost Fireflies]$ python ./Tut-Fireflies.py
Traceback (most recent call last):
  File "./Tut-Fireflies.py", line 6, in <module>
    import direct.directbase.DirectStart
ImportError: No module named direct.directbase.DirectStart
[madbad@localhost Fireflies]$ 



here I am again, today I decided to give panda a second shot. This time I tried following the instructions in INSTALL-MK to the letter. So the first step was building the entire thing using the command:

makepanda/makepanda.py --everything

everything seems to work fine, just as before (there is only some warnings about _XOPEN_SOURCE being redefined). The next step in the instructions is to test the build before installing, this is where things fail. I add built/bin to the path and built/lib to LD_LIBRARY_PATH, and test any sample program. I always get the same error (this e.g. for the Carousel sample):

$ python Tut-Carousel.py 
Traceback (most recent call last):
  File "Tut-Carousel.py", line 18, in <module>
    import direct.directbase.DirectStart
ImportError: No module named direct.directbase.DirectStart

The error is the same for all samples. What am I missing?

BTW there is no ppython anywhere to be seen in my system. From what I saw around the forums it is not necessary for linux and I should be ok to use simply python, right?


Hum, the instructions in INSTALL-MK are a bit outdated. You shouldn’t put “built” anywhere in the system paths.

Instead, invoke makepanda with the --installer option. Alternatively, you can invoke installpanda (which works like “make install”):

python makepanda/installpanda.py --prefix /usr/local

Then, invoke “ldconfig” as root and you should be all set.


Ok, I will try that again. The last time around I tried using the --prefix part but I ended up with a weird directory structure, with stuff in places like:
and things did not work. It was a few weeks ago, but I will try again.

does the makepanda --installer need to be run as root?


wow, ok, I got something new this time trying to generate the installer:

$ makepanda/makepanda.py --installer
Storing dependency cache.
Elapsed Time: 0 sec
Cannot build installer without python

but python is there

$ python
Python 2.6 (r26:66714, Jun  8 2009, 16:07:29) 
[GCC 4.4.0 20090506 (Red Hat 4.4.0-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.


Just to make you know that I’ve been able to install Panda on Fedora 11 64bit.
Thats a sort of pro-noob guide (or at least that’s what I’ve done) ^^
1) Check out svn

2) Build the source (from the main panda3d folder)

(this terminate with errors because of something wrong whit the rpm build process)

3) Generate myself the rpm

The red part should be something different depending in wich directory you done the 1) step

4) Install the generated rpm

Give your root password

The red part could be something different

5) Than you have panda installed but not working because he can’t find the libraries (that’s due to 64bit arch)

To resolve this there is something you must put into a panda config file
The file is:

you must add into it this line at the end of the file to tell panda where to find the libs

ps.: Sorry for my bad english.


I had no idea fixing the RPM issue was as simple as adding a --root argument to rpmbuild. Just checked in a fix for that to makepanda, so step 3 should no longer be necessary. (Can anyone test it for me?)


Thank you, I tried your steps and generated an RPM. However, after installing it I still cannot run the samples.

$ python test1.py 
DirectStart: Starting the game.
Traceback (most recent call last):
  File "test1.py", line 1, in <module>
    import direct.directbase.DirectStart
  File "/usr/share/panda3d/direct/directbase/DirectStart.py", line 3, in <module>
    from direct.showbase import ShowBase
  File "/usr/share/panda3d/direct/showbase/ShowBase.py", line 10, in <module>
    from pandac.PandaModules import *
  File "/usr/share/panda3d/pandac/PandaModules.py", line 1, in <module>
    from libpandaexpressModules import *
  File "/usr/share/panda3d/pandac/libpandaexpressModules.py", line 1, in <module>
    from extension_native_helpers import *
  File "/usr/share/panda3d/pandac/extension_native_helpers.py", line 75, in <module>
  File "/usr/share/panda3d/pandac/extension_native_helpers.py", line 69, in Dtool_PreloadDLL
    raise ImportError, message
ImportError: DLL loader cannot find libpandaexpress.

I did modify Config.prc and also run ldconfig just in case.
Upon further investigation, I saw that there is no libpandaexpress.so anywhere on the system under /usr/*
However, I did find the file in built/lib in the source tree. After checking, I saw that this file was NOT included in the RPM for some reason.


Checked and works for me!

No idea why this appen.
For me the lib exist (also in the rpm) and after the installation is located in

Maybe some developer can give you some better help than me


Huh, that’s weird. I don’t see a reason why it wouldn’t have installed the libraries. Did you see an error when the RPM was created?


When I first tried it, I got:

$ rpmbuild --root /home/scuac/Download/panda3d-1.6.2 --buildroot linuxroot -bb panda3d.spec 
Processing files: panda3d-1.6.2-1.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /linuxroot
error: cannot create /home/scuac/rpmbuild/RPMS/x86_64: No such file or directory
error: Could not open /home/scuac/rpmbuild/RPMS/x86_64/panda3d-1.6.2-1.x86_64.rpm: No such file or directory

RPM build errors:
    cannot create /home/scuac/rpmbuild/RPMS/x86_64: No such file or directory
    Could not open /home/scuac/rpmbuild/RPMS/x86_64/panda3d-1.6.2-1.x86_64.rpm: No such file or directory

so I created the folder ~/rpmbuild/RPMS/x86_64 manually, I tried again and got

$ rpmbuild --root /home/scuac/Download/panda3d-1.6.2/ --buildroot linuxroot -bb panda3d.spec 
Processing files: panda3d-1.6.2-1.x86_64
Checking for unpackaged file(s): /usr/lib/rpm/check-files /linuxroot
Wrote: /home/scuac/rpmbuild/RPMS/x86_64/panda3d-1.6.2-1.x86_64.rpm

EDIT: I want to add that libpandaexpress.so (which is missing from the RPM) is present in both built/lib and in linuxroot/usr/lib64/panda3d