fedora 11 and panda3d

Hi
Has anyone tried to install panda3d on fedora 11, I did try rpm for fc 10 ( as advised by pro-soft), dependencies failed also ca n’t bulid t from src. Fc11 has got new compiler and it might be this issue. I need confirmation if it works, or this is related to panda3d ,or fedora 11, or…myself :blush:
on Ubuntu 9.04 I had some problems with graphic card, fc11 has newer kernel and as far works fine, but without panda fedora is useless.

i doubt that fedora’s compiler is too new. if there are any errors while compilng. just post your results on the “compiling or editing panda from source” board. panda definetly does run on fc11.maybe not ouf of the box, maybe requires a few tricks but it certainly is possible.

Hmm, maybe the packages are named differently in Fedora 11.

You can try to download the .src RPM for fc10 and build it - or, download the source tar.gz of Panda3D and build an RPM yourself.
It’s as easy as untarring the source, and then invoking:

python makepanda/makepanda.py --everything --installer

That will, if it succeeds, generate an .rpm file which you can install.

(There are a few dependencies though. Copied from the specfile:)

BuildRequires: python-devel bison flex libtiff-devel libpng-devel gtk2-devel openssl-devel gcc-c++ libstdc++-devel freetype2-devel
BuildRequires: libjpeg-devel mesa-libOSMesa-devel libXft-devel mesa-libGL-devel mesa-libGLU-devel
%ifarch x86_64 amd64 ppc64 s390x
BuildRequires: lib64jpeg62-devel lib64mesagl1-devel lib64mesaglu1-devel lib64openssl0.9.8-devel lib64ssh2-devel
%endif
%ifarch i386 i486 i586 i686
BuildRequires: libjpeg62-devel libmesagl1-devel libmesaglu1-devel libopenssl0.9.8-devel libssh2-devel
%endif

Or you can wait a few days until OBS finished adding Fedora 11 and an RPM will be made for you.

For the record, theres are now a Fedora 11 repo for Panda:
panda3d.org/download.php?distro=fedora11
archive.panda3d.org/rpms/fedora11/

Is it some joke? There is no one packege for Fodora… All repos are EMPTY!

No, I had to shut them down because of legal issues.
Maybe someone around still has a copy, otherwise, you’ll have to build it yourself.

already done…
but before “make” should do “yum install mesa*”

and some bug with make install

Traceback (most recent call last):
File “makepanda/installpanda.py”, line 86, in
InstallPanda(destdir)
File “makepanda/installpanda.py”, line 58, in InstallPanda
DeleteCVS(destdir)
File “/home/wwtlf/panda3d-1.6.2/makepanda/makepandacore.py”, line 536, in DeleteCVS
for entry in os.listdir(dir):
OSError: [Errno 2] No such file or directory: ‘’

hi, I just tried creating the RPM for Fedora 11 (downloaded the source from here). I tried the command above, and everything seems to have compiled correctly (except for some warnings saying that _XOPEN_SOURCE was redefined). But when it gets to the part where it is building the RPM it fails with the following error list:

RPM build errors:
    File not found: /home/scuac/rpmbuild/BUILDROOT/panda3d-1.6.2-1.x86_64/etc/Confauto.prc
    File not found: /home/scuac/rpmbuild/BUILDROOT/panda3d-1.6.2-1.x86_64/etc/Config.prc
    File not found: /home/scuac/rpmbuild/BUILDROOT/panda3d-1.6.2-1.x86_64/usr/share/panda3d
    File not found: /home/scuac/rpmbuild/BUILDROOT/panda3d-1.6.2-1.x86_64/etc/ld.so.conf.d/panda3d.conf
    File not found: /home/scuac/rpmbuild/BUILDROOT/panda3d-1.6.2-1.x86_64/usr/bin
    File not found: /home/scuac/rpmbuild/BUILDROOT/panda3d-1.6.2-1.x86_64/usr/lib
    File not found: /home/scuac/rpmbuild/BUILDROOT/panda3d-1.6.2-1.x86_64/usr/include/panda3d

I checked and /home/scuac/rpmbuild/BUILDROOT is empty. Should I put those files there myself from somewhere else?

Thanks

Hm, that sounds troubling. How did you compile Panda3D? Did you build it via the source RPM, or by running makepanda with --everything --installer ?

???

I downloaded the 1.6.2 tar file for linux 64bit from panda3d.org and used the makepanda with --everything --installer command.

en.opensuse.org/Application_Black_List
The restriction on ffmpeg use is a no-go for me.

Hm, I might get a chance to look at it later. For now, you can install Panda3D like this:

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

That will install Panda3D under the /usr/local/ prefix. After calling that, you just need to invoke “sudo ldconfig” and you should be all set.

Ok, after doing some reading on how rpmbuild works I got it to generate the RPM. I substituted the command that was being used

rpmbuild --define '_rpmdir /home/scuac/Download/panda3d-1.6.2' -bb panda3d.spec

with

rpmbuild --root /home/scuac/panda3d-1.6.2 --buildroot linuxroot -bb panda3d.spec

this generated the file
/home/scuac/rpmbuild/RPMS/x86_64/panda3d-1.6.2-1.x86_64.rpm
which is roughly 37MB in size

I then installed the RPM with no error message. The problem now is that when I try to execute a simple sample it crashes.

The sample file is test.py which contains

import direct.directbase.DirectStart
run()

and the error I get is

$ python test.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>
    Dtool_PreloadDLL("libpandaexpress")
  File "/usr/share/panda3d/pandac/extension_native_helpers.py", line 69, in Dtool_PreloadDLL
    raise ImportError, message
ImportError: DLL loader cannot find libpandaexpress.

Is this related to a malformed RPM or is something else going on here?

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.