[omniORB] Some problems by compiling 3.0.5 on Mac OS X
Markus Hillebrand
ein.wuschel@nexgo.de
Sat Jun 15 12:21:01 2002
Hi all!
By compiling the 3.0.5 source under
Mac OS X (10.1.5) I had several problems:
omniInternal.cc:123: `_OMNIORB_HOST_BYTE_ORDER_' was not declared in this
scope
I think the problem is in CORBA_sysdep.h:
around line 518:
#elif defined(__darwin__)
# define _HAS_SIGNAL 1
...
and later
#elif defined(__powerpc__)
# define _OMNIORB_HOST_BYTE_ORDER_ 0
but with #elif we choose one or the other.
And remember darwin can also be built an x86 systems ...
For my Mac OS X = powerpc-darwin I did:
#elif defined(__darwin__)
# define _HAS_SIGNAL 1
# define _OMNIORB_HOST_BYTE_ORDER_ 0
but I think this should be considered as a temporary hack
to get it compiled.
--- Next one (omniPy1.5):
I had some problems by compiling omniOrbPy-1.5 too:
in modules/dir.mk I had to replace some spaces into
tabs, because I got some
dir.mk: <line> *** missing separator. Stop.
errors from make.
--- Next one (omniPy1.5):
Next error was on linking stage:
/usr/bin/ld: -undefined error must be used when -twolevel_namespace is
in effect
make[1]: *** [_omnipymodule.0.5.so] Error 1
Currently I don't know much about apple specific linkage, so I took
the same parameters as used for omniORB core:
(solution) around line 506 for modules/dir.mk:
$(lib): $(OBJS)
(set -x; \
$(RM) $@; \
$(CXX) -dynamiclib -flat_namespace -undefined suppress -o $@
$(IMPORT_LIBRARY_FLAGS) \
$(filter-out $(LibSuffixPattern),$^) $(OMNIORB_LIB_NODYN) \
)
(original source) instead of:
$(lib): $(OBJS)
(set -x; \
$(RM) $@; \
$(CXX) -bundle -undefined suppress -o $@ $(IMPORT_LIBRARY_FLAGS)
\
$(filter-out $(LibSuffixPattern),$^) $(OMNIORB_LIB_NODYN) \
)
---
So far so good, with that I can compile it and it seems
that omniNames and nameclt are running. I'll see
in the next days if it runs fine with my sources ;)
---
Thanks by the way for this great piece of software.
Keep on going and have a nice weekend out there.
With best regards
M. Hillebrand