[omniORB] Re: OmniORB4 on Mac OSX

Travis tflist@mac.com
Wed, 30 Jan 2002 09:26:44 -0800


This is with the OmniORB4 snapshot code.

1.  Uncomment line 66(?) of the ./config/config.mk file.  This is the 
one that says "platform = powerpc_darwin_1.3" or thereabouts.
2.  Install python ( I just grabbed the latest package from 
Versiontracker, the one called "python2.1_macosx.tgz"
3.  In the file ./mk/platforms/powerpc_darwin_1.3.mk, and uncomment the 
python line.
4.  Also(same file), make CXXLINKOPTIONS reflect:
	CXXLINKOPTIONS  = $(CXXDEBUGFLAGS) $(CXXOPTIONS) -flat_namespace
4.  Also (same file) make CXXOPTIONS say this:
	CXXOPTIONS      = -Wall -Wno-unused -Wno-long-double
5.  Make CLINKOPTIONS says this:
	CLINKOPTIONS = $(CDEBUGFLAGS) $(COPTIONS) -flat_namespace
6.  And farther down in the file, SharedLibraryPlatformLinkFlagsTemplate 
to be:
	SharedLibraryPlatformLinkFlagsTemplate = -dynamiclib -undefined 
suppress -flat_namespace
7.  In the file ./src/tool/omniidl/cxx/dir.mk, add -flat_namespace to 
the darwin build commands at the end of the file:
	         $(CXX) -bundle -undefined suppress -flat_namespace -o $@ 
$(IMPORT_LIBRARY_FLAGS) \

Basically, OmniORB was building under Darwin 1.3 (OSX 10.0) before.  
With 10.1, Apple changed the default behavior of the linker, so we have 
to add all the -flat_namespace flags to simulate the 10.0 building 
environment.  the -Wno_long_double is just a preference of mine to turn 
that warning off.

This is the first time I compiled all the changes into one place, so if 
you find that I left something out, please tell me.

Travis

On Tuesday, January 29, 2002, at 11:00 PM, omniorb-list-digest wrote:

> Date: Tue, 29 Jan 2002 18:53:30 -0500
> From: William Noon <noon@snow.nrcc.cornell.edu>
> Subject: [omniORB] OmniORB4 on Mac OSX
>
> Is there anyone else working on getting OmniOrb4 running on Mac OSX?
>
> I had no problems getting 3.0.4 running with Python 2.1.1 and 2.2.
>
> However, I have run into several issues getting v4 from cvs running
> on 10.1.x.  I will send along a couple of small patches for pthread_self
> and discovering all network addresses, but the biggest problem seems to
> be a compiler issue.
>
> Several of the static initialisers are not being called so the option
> handlers are not being loaded.  This results in a 'omniORB: ORB_init
> failed: unknown option (poaHoldRequestTimeout) in configuration file'
> exception when running the 'echo' example.
>
> This same code runs fine under linux w/ gcc 2.96.
>
> Anyone else seeing this?
>
> - --Bill Noon
> Northeast Regional Climate Center
> Cornell University