Installation on OpenSuse 12.1

(Sorry missed the right forum, can an admin move it?)

Just trying to compile panda3d 1.7.2 on Opensuse 12.1

First I got this error:

I solved it modifying the ./makepanda/, changing the line:


But now I have another error:

It seems a problem importing the modules at the ffi directory, but I don’t know how to solve it.

Help will be appreciated.

Finally was able to solve the problem, didn’t noticed that there was two directories called “direct”.

Solved the problem creating two symbolic links:

But panda doesn’t work

Probably due suppressing the VIDEO4LINUX support, not sure what to do …

Welcome to the forums! This is the correct forum for asking this question.

I have no idea why you created those symlinks. You should remove those symlinks and restore the directories to their original state.

Video4Linux is for Webcam support, it has nothing to do with graphics.

The error message indicates that it cannot find your Config.prc file. The problem seems to be that you built Panda3D, but forgot to properly install it onto your system - eg you’re trying to run it from the build directory, which is not supposed to work at all. The recommended way to do this is to run makepanda and add the --installer flag, this will create an installable .rpm file in the same directory.

The other option is to run makepanda/, which will install Panda3D directly onto your system (follow up with a “sudo ldconfig” call). This will make it harder to uninstall Panda3D later, though.

Thanks for the reply, I used the command

Then installed the rpm. Finally launched a small demo application and got the previous error.

The symlinks I created was due the error line

Seems to be indicating that it misses the ffi directory under the direct directory. But to be honest, the same source was compiled on opensuse 11.4 few days ago and worked fine. So it looks like a peculiarity of this version.

BTW is there a way to remove webcam support?


I’m guessing that your build directory somehow got broken. Maybe you should try “rm -rf” on your “built” directory and make a clean build to be sure.

Gonna try again, but the underground problem is that the V4L api has been removed of the linux kernel in the 2.6.38 version. So as soon as each distributions publish a version using a more modern kernel, people will find my initial problem.

More info of the api removal.

When I removed the v4l support in the makefile I found the others problems.

Of course gonna try again with a clean build and without v4l support and see what happens.

Thanks again, I really appreciate your help.

Video4Linux support is certainly there, but only version 2, not 1. We’ve removed the dependency on V4L 1 quite a while ago, so you must be using an old version of Panda3D. Try building latest CVS, or 1.8.0.

I don’t see how a build with or without V4L support could affect the problems you’re having in this specific case, though.

rdb, you are right, the error I got when launching a demo is not related with v4l.

Compiled the version 1.8.0 and the error reproduced.

Investigating a bit more I noticed that if I change the configuration file to use tinydisplay rather than pandagl the application starts ok.

So it seems to be some problem related with the openGL support in my system.

Any suggestion is more than welcome.


What is the exact error message you’re running into with the new version? Is it “Unable to load: No error.”? If so, then that message usually indicates that the display module is simply not there- perhaps you forgot to compile OpenGL support into the build? When you run makepanda, it’ll tell you which packages are missing from the system, but it’ll happily run and build without support for the things you don’t have installed, like development files for OpenGL in this case. (Usually they are available in a package named something like “libgl1-mesa-devel” or so.)

rdb, you are right again. :slight_smile: The problem was some missing libraries. Didn’t read the warning msj careful enough.

Thanks for all your tips and help, now the engine is working fine.

Thanks again.