Re: Python on Mac OSX

From: <WLavrijsen_at_lbl.gov>
Date: Tue, 17 Jul 2007 11:02:23 -0700 (PDT)


Nathaniel,

> I'm wedded to Python 2.4.4 since it is specified by the GAUDI release we've
> decided to use. Or rather, it's specified by the LCGCMT interfaces - if
> there's any advice for what I SHOULD be using, I'll gladly take it.

there's a request from ATLAS (me) pending that LCGCMT moves on to p2.5. I'm not sure about the status of that. GLAST is also waiting for the move to p2.5.

> Cintex::Enable() fails in the same way, no matter if the library is loaded or
> not. (The library loads fine.)

Just to be sure, so it fails when already when loading into root.exe? If so, I'd prefer debugging it from there, although it would surprise me a little if it fails in the exact same way. Do you have a full traceback?

> This is strange, since reflex didn't seem to complain during the build.

Since it fails during the bootstrap of Cintex, it's not necessarily Reflex yet. It's first resolving the call Cintex::Enable(), and in the python traceback that you gave, it doesn't reach that point yet: the building of the method proxy fails in CINT, which is earlier.

> I don't see why this doesn't work. On the other hand, I can't find any ROOT
> documentation on Reflex, for Mac OSX or otherwise - where does this live?

AFAIK, Cintex is only used interactively within the context of Gaudi, which is not tested/supported on MacOSX. Even if you get beyond PyCintex, you're still going to be in for quite a ride.

> I should add that this is a PPC machine, not an Intel machine. A standard
> installation on an Intel Mac OSX box seems to Cintex:Enable() without a
> problem...

Ah ... it used to be that Cintex had x86 asm in there, making PPC out of the question. That code has since been replaced, even as it is still doing the same ugly thing, and I don't think it has ever been tested on PPC.

Now I see what might go wrong: cintex is not using its Linkdef.h and CINT to build a bootstrap library as I said before. Instead, it is building a Reflex one of itself, then uses itself to fill a CINT dict. That uses the function as data alloc, which fails on PPC.

For unrelated reasons, I'll spent the rest of the week, starting tomorrow, behind a PPC Mac. On that, I'll be able to check whether the above is really the culprit. If so, I'd recommend submitting a savannah bug report and see whether support can be found to have it fixed.

Best regards,

           Wim

--
Wim.Lavrijsen_at_cern.ch   --   WLavrijsen_at_lbl.gov   --   www.lavrijsen.net

"Stop making excuses for your software."    --first step towards quality
   "GIGO is not a valid design pattern."         --corollary
Received on Tue Jul 17 2007 - 20:02:32 CEST

This archive was generated by hypermail 2.2.0 : Tue Jul 17 2007 - 23:50:02 CEST