OSX Leopard

From Daya Bay
Jump to navigation Jump to search

This page documents problems with the software under Leopard: that is, Mac OS X 10.5.

Problem: Bindings.py error

For some reason I don't understand, GaudiPython on the mac cannot read properties of objects. This will show up if you have anything like:

 print MyAlg.MyProperty


 myalg.MyProperty += [ 'thing1' ]

The workaround is to comment out any lines like the first. For the second, simply don't use the "+=" operator. For instance, change things like:

 seq.Members = [ "GiGaInputStream/GGInStream" ]
 seq.Members += [ "DsPushKine/PushKine", "DsPullEvent/PullEvent" ]


 seq.Members = [ "GiGaInputStream/GGInStream", "DsPushKine/PushKine", "DsPullEvent/PullEvent" ]

Problem: libutil.dylib

Jan 17, N. Tagg

Discovered that Perl won't run if environment is set up for legacy (and probably gaudi as well). The problem is that Perl uses a library file called "libutil.dylib". Because OSX (or rather, HFS+) is case-insensitive, it picks up libUtil.dylib, from $DYLD_LIBRARY_PATH.

Fix: We should rename our Util packages to be Utility. This is painful but neccessary.

Problem: "ld: cycle in dylib re-exports with /usr/X11R6/lib/libGL.dylib"

Jan 17, N. Tagg

This is a bug in Leopard where there are two libGL libraries, and the wrong one is getting linked.

Fix: Add this line to a requirements file (preferably in a policy file somewhere)

macro_append cpplinkflags  "" \
 mac105 "-Wl,-dylib_file,/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib:/System/Library/Frameworks/OpenGL.framework/Versions/A/Libraries/libGL.dylib"