[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