problems compiling panda3d on amd64

hi, I’m trying to compile panda3d with makepanda, but I receive this error:

those are the options that I’ve used:

–prefix /usr/local/panda3d --thirdparty ~/panda3d-1.0.4/thirdparty/linux-libs-a --nothing --use-zlib --use-png
–use-jpeg --use-tiff --use-fmod --use-fftw --use-freetype --use-nvidiacg

could anyone help me???
:unamused:

PS.: I use Slamd64 RC4 (based on Slackware 10.1) with kernel 2.6.11.9

That makes me wonder, if anyone figures out how to compile panda for Win XP64, let us know if it makes any differences in performance.

The error message seems to be saying that we should be putting “-fPIC” on the compilation line. I have no idea what this declaration means on an amd64 architecture, or what the implications of supplying it or omitting it are.

Is there any way in makepanda to modify the parameters that are passed to the compiler?

David

No, though it’s trivial to modify makepanda’s “CompileC” subroutine itself.

Not exactly, but I decided to have a look at panda on amd64 tonight. For starters, the “source” package contains a few precompiled libraries (nspr, nvidiacg, fmod). These are compiled for 32 bits, so that’s not going to work for a 64 bits build. Further, the library paths are hard-coded in the build scripts for the /lib location, which should - at least on Fedora 4 - be /lib64. I guess this is where the relocation error comes from.
No idea if that fixes all the problems though. On FC4 there are problems with the gcc4 compiler too, but one thing at a time :wink:

Thank you very much for trying this out!

Sounds like so far, your problems mainly have to do with the precompiled software in the thirdparty tree. Note that much of it can be omitted. For example, if you don’t need networking, use --no-nspr. If you don’t own a head-mount display, try --no-vrpn. You can specify --no-fftw unless you want to create compressed animations (which very few people use anyhow). Etc.

As for the compile options — just edit the routine “CompileC” in makepanda.py, until you figure out the right options. Once we know what the right options are, I can integrate your changes back into the distribution.