panda3d on mac os x 10.6 x86_64

Hi,
is t possible to run/compile panda3d 1.7.1 on mac osx 10.6, with python 2.7, using arch x86_64?

If not, what version is currently available for that system?
Thank you for your help,

Ale

I’m not sure whether anyone has tried to compile with arch x86_64 before, but it might work. (You might have to hand-edit some options in makepanda to make it work; try searching the forums for details.) Certainly it will work with that platform using arch i386; it should compile this way out of the box, if you ensure that you run python in i386 mode.

David

I’m trying to compile panda3d 1.7.1 with x86_64. I have the following error:

[ 10%] Building Interrogate database built/pandac/input/libputil.in
built/tmp/libputil_igate.cxx: In function ‘PyObject* Dtool_BitArray_get_word_560(PyObject*, PyObject*, PyObject*)’:
built/tmp/libputil_igate.cxx:39534: error: conversion from ‘BitMaskNative’ to non-scalar type ‘BitMask<unsigned int, 32>’ requested
built/tmp/libputil_igate.cxx: In function ‘PyObject* Dtool_BitArray_set_word_561(PyObject*, PyObject*, PyObject*)’:
built/tmp/libputil_igate.cxx:39612: error: no matching function for call to ‘BitArray::set_word(int, BitMask<unsigned int, 32>&)’
built/include/bitArray.I:396: note: candidates are: void BitArray::set_word(int, BitMaskNative)
Storing dependency cache.
Elapsed Time: 5 min 29 sec

Build terminated.

How can I solve it?

You can’t currently compile for 64-bits OSX. You’ll need to use a 32-bits build instead.

Currently, our OSX SDK is compiled against Python 2.5, which is the default in Leopard. If you really need to use 2.7, you can make your own build of Panda3D using Python 2.7.

This particular error just represents the incorrect arguments being passed to interrogate. That would be easy to correct. Are there further problems with a 64-bit OSX build?

David

The correct arguments are passed, I think something else is wrong. See this bug report:
bugs.launchpad.net/panda3d/+bug/731234
If you know how to correct that easily, then be my guest. :slight_smile: I see that _LP64 is already being defined, so I wouldn’t know what’s wrong.

And the thirdparty libs aren’t compiled with with 64-bits support, so linking libpanda will fail later on.

Hmm, good point about the third-party libs.

I’ll take a closer look at the error. I agree it looks like everything’s getting passed in correctly. Actually, it looks like it’s the gcc command that’s getting the word size wrong, but I guess you already were thinking that based on your follow-up question. Strange.

David