Makepanda and OSX

I wouldn’t know where to find the command line on a Mac. :slight_smile:

That’s what I’d want coaching on.

Of course it couldn’t be that simple…

Now that I am linked correctly to CG, I have full shader support, but instead it crashes dependably at the end of the first frame.

Process:         Python [947]
Path:            /System/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python
Identifier:      org.python.pythonapp
Version:         2.5.0 (2.5.0a0)
Build Info:      python-300000~42
Code Type:       X86 (Native)
Parent Process:  bash [933]

Date/Time:       2008-04-05 16:05:28.395 -0400
OS Version:      Mac OS X 10.5.2 (9C7010)
Report Version:  6

Exception Type:  EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000000000000
Crashed Thread:  0

Thread 0 Crashed:
0   libpandagl.dylib              	0x0561dde2 GLGraphicsStateGuardian::end_frame(Thread*) + 306
1   libpandagl.dylib              	0x0564eda7 osxGraphicsWindow::end_frame(GraphicsOutput::FrameMode, Thread*) + 247
2   libpanda.dylib                	0x028ddeaa GraphicsEngine::draw_bins(ov_set<PointerTo<GraphicsOutput>, IndirectLess<GraphicsOutput> > const&, Thread*) + 650
3   libpanda.dylib                	0x028e2c0a GraphicsEngine::WindowRenderer::do_frame(GraphicsEngine*, Thread*) + 154
4   libpanda.dylib                	0x028e33d0 GraphicsEngine::render_frame() + 912
5   libpanda.dylib                	0x029061e6 Dtool_GraphicsEngine_render_frame_454(_object*, _object*, _object*) + 166
6   org.python.python             	0x0018d806 PyEval_EvalFrameEx + 17116
7   org.python.python             	0x0018f45b PyEval_EvalCodeEx + 1638
8   org.python.python             	0x00139c27 PyFunction_SetClosure + 2646
9   org.python.python             	0x0011fd3d PyObject_Call + 50
10  org.python.python             	0x001285f8 PyMethod_New + 2457
11  org.python.python             	0x0011fd3d PyObject_Call + 50
12  org.python.python             	0x00127c31 _PyInstance_Lookup + 12028
13  org.python.python             	0x0011fd3d PyObject_Call + 50
14  org.python.python             	0x0018dfb8 PyEval_EvalFrameEx + 19086
15  org.python.python             	0x0018d9e8 PyEval_EvalFrameEx + 17598
16  org.python.python             	0x0018d9e8 PyEval_EvalFrameEx + 17598
17  org.python.python             	0x0018d9e8 PyEval_EvalFrameEx + 17598
18  org.python.python             	0x0018d9e8 PyEval_EvalFrameEx + 17598
19  org.python.python             	0x0018d9e8 PyEval_EvalFrameEx + 17598
20  org.python.python             	0x0018f45b PyEval_EvalCodeEx + 1638
21  org.python.python             	0x0018f548 PyEval_EvalCode + 87
22  org.python.python             	0x001a69ec PyErr_Display + 1896
23  org.python.python             	0x001a7016 PyRun_FileExFlags + 135
24  org.python.python             	0x001a8982 PyRun_SimpleFileExFlags + 421
25  org.python.python             	0x001b3c03 Py_Main + 3095
26  org.python.pythonapp          	0x00001fca 0x1000 + 4042

Sorry, that’s a bit out of the scope i can deal with. I have only fixed compile errors by trial and error until now.

I would recommend disabling all features until the error is gone usually. But as you already know that it’s most probably cg. I’d recommend disabling all but cg (especially ffmpeg), to check if its really caused by it (and not cg with some other module causing the problem).

Some thoughts:

  • I doubt that it can cause this sort of problem but i have allways compiled against python2.4.
  • Maybe a different compile optimization?

The console can be found under:
/Applications/Utilities/Terminal

Ja, I just posted on the off chance that you had hit this before :wink:

Roger that, I will give it a shot

Any idea what this is caused by:

:display(warning): FrameBufferProperties available less than requested.

Hey, swiftcoder… I’m ready to integrate your changes. Could you send me an email (jyelon at gmail) with the URL of the tarball?

Just wanted to check that you received my tarball. Anything else you need?

I think I did, many days ago. But I’ve been so swamped with end-of-semester stuff that I haven’t done anythign with it.

No problem, finals here as well.

Can someone give me the status of Panda for OSX? I got swiftcoder’s code from him, but it didn’t build (interrogate had a problem). Others say they are using the binaries form Hypnos but I can’t find exactly where to get them. What are the limitations of getting a binary? Are things in such flux that I’m gonna need to add patched components regularly?

I cant tell you about the makepanda, as i had no chance to build it myself using it. Also im missing the 3th party tools for the makepanda build (which should be included in panda3d afaik).

About the binary, it’s a bit outdated (1.5.0) but works pretty fine. The primary problem is that my webserver has crashed last weekend and im trying to get it fixed in the next days. in the meantime you can check the following thread for more informations.
https://discourse.panda3d.org/viewtopic.php?t=3402

someone also used it to install panda3d on the system (i have not tested it)
https://discourse.panda3d.org/viewtopic.php?t=3592&highlight=p3dapp

You need to be on Leopard, and have the latest version of XCode installed. It should work, but I haven’t had a chance to test the build on another machine.

Hypno’s binaries are 100% full featured, except that they use FMOD instead of OpenAL (Apple’s OpenAL seems to be badly broken).

Since Hypno’s server is down, I mirrored the whole package on mediafire: panda3d-app.dmg
Edit: I see Hypno’s already mirrored it, oh well.

i got latest cvs head on leopard today and for some reason i just get:

:display: loading display module: libpandagl.dylib
:display: Unable to load: No error.
Known pipe types:
(all display modules loaded.)
No graphics pipe is available!
Your Config.prc file must name at least one valid panda display
library via load-display or aux-display.

hm… strange… anyways, cvs head does compile out-of-the-box (after installing the needed libs), which is quite nice…

cheers,
kaweh.

This is a recent change to Panda: you need to add:

plugin-path /usr/local/panda/lib

(or whichever is the correct directory) to your Config.prc file.

David

thanks a lot, david. works fine.

cheers,
kw.

Im a bit confused, i have just checked out a new cvs 11.6.08.

But makepanda doesnt seem to work at all using cvs. 1st the thirdparty-tools for osx are missing (not in cvs, and i didnt find them anywhere else). 2nd the “cp --recursive” error is still around, so it seems not to be in cvs.

@kaweh: have you used makepanda or ppremake to build?

Anybody else got some status of swiftcoder’s changes?

Sorry for the confusion. I’m using ppremake. I didn’t follow he discussion regarding makepanda. Just wanted to let the community know that cvs head is building on OS X without the need for any patches.

But I wouldn’t expect the third-party libraries to be in cvs. Maybe - if feasable - as a downloadable extra package (like for Windows), but definitley not in cvs.

I am happy with MacPorts, it works, and I can control which third-party libraries I want and need (due to packaging and license issues), Panda3d ppremake (and also makepanda as far as I know) do support all kind of library scenarios nicely.

Cheers,
Kaweh

swiftcoder, can you put your changes online somewhere? I’d love to help on making makepanda work on OSX.

panda3d-1.5.0-mac.tgz

That is the complete package for 1.5.0, including the prebuilt dependencies (universal binaries, no less). Someone emailed me for it a few days ago, and tells me it builds with no changes on their Mac as well. I believe they are working on integrating my changes with the CVS head, and are hoping to get permission to add them to CVS.

Be warned that you will probably have to tweak it to run on Tiger though, I only built this for Leopard - but it is a universal binary.

If you just want the dependencies, here are all the ones I managed to build:

darwin-libs-a.zip

Thanks very much for uploading. Yes, indeed it compiles fine, at least the first part. I’m now trying to also get ffmpeg thirdparty libs in there as well, I’ll post when I made progress.