[omniORB] omniORBpy 2.3, Mac OSX 10.3 and static initializers

Eric Noyau eric at tideway.com
Mon Nov 29 13:10:24 GMT 2004


I'm using the latest omniORB and omniORBpy under Mac OS X 10.3.x. It  
works fine but you have to do some tuning to get it to work.

First of all you have to recompile your own version of python. The  
version shipping with the OS was not compiled with C++ support, and as  
such cannot work with omniORBpy. To do so just download the latest  
python and configure it with the following arguments:

configure --enable-framework --enable-shared --with-cxx=g++
make
sudo make frameworkinstall

This will install a properly configured /usr/local/bin/python. The  
framework install is not mandatory, but I like it that way, YMMV. The  
important part is the '--with-cxx=g++'. Once this is installed  
recompile omniORBpy with this version of python in your path.

The second issue is the static initializer bug: There is some weird  
interaction between between lazy loading and C++ bundles when the main  
of the application is not in C++. The net effect is that the static  
initializers are not run when they should. It's a bug in the linker and  
Apple is aware of it. Hopefully it will get fixed in 10.4 (cross my  
fingers...).

To work around the issue you have to disable lazy loading, aka force  
the linker to resolve all the symbols at launch time. In that case the  
static initializers are run properly. To do so you have to

export DYLD_BIND_AT_LAUNCH=1

before launching python. Be aware that this has a cost in launch time  
performance, you don't want to turn this on for the whole system.

With those two things out of the way everything works fine. Almost.  
There is still an issue I haven't looked at, which is that for some  
reason omniORB fail to work properly with named sockets. I'm sure it's  
something simple, but I took the lazy route and used TCP instead.

Regards,
-- Eric

On 29 Nov 2004, at 6:27, Alan Sill wrote:

> Hi,
>
> Regarding the problem with the thread subject listed above in December  
> 2003, has anyone solved the double free with omniORB and omniORBpy on  
> Mac OS X?
>
> Running into this using older versions, but wanted to see if it has  
> been fixed in newer ones.
>
> Reference: most recent post to date:
> http://www.omniorb-support.com/pipermail/omniorb-list/2003-December/ 
> 024780.html
>
> Alan Sill, TTU
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2361 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20041129/50e4a4fd/smime.bin


More information about the omniORB-list mailing list