I've just downloaded the omniOrb 4.14 and have tried to cross compile<br>
it for a PowerPC 405 with linux installed. I succeeded one time,<br>
however by mistake, I accidently deleted the <platform-config>.mk file<br>
that I used. So far i haven't had any luck deploying it on the<br>
PowerPC. I am using the following script:<br>
<br>
#<br>
#<br>
<br>
Linux = 1<br>
PowerPCProcessor = 1<br>
EmbeddedSystem = 1<br>
<br>
#<br>
# Python set-up<br>
#<br>
# You must set a path to a Python 1.5.2 interpreter.<br>
<br>
PYTHON = /usr/local/bin/python<br>
<br>
<br>
#<br>
# Include general unix things<br>
#<br>
<br>
include $(THIS_IMPORT_TREE)/mk/<a href="http://unix.mk/" target="_blank">unix.mk</a><br>
<br>
<br>
#<br>
# Standard programs<br>
#<br>
<br>
<br>
AS = /opt/gnutools/powerpc-440-<div id=":a8" class="ii gt">linux-gnu/bin/powerpc-440-linux-gnu-as<br>
CC = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-linux-gnu-gcc<br>
LD = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-linux-gnu-ld<br>
OD = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-linux-gnu-<br>
objdump<br>
OC = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-linux-gnu-<br>
objcopy<br>
<br>
AR = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-linux-gnu-ar<br>
cq<br>
<br>
CPP = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-linux-gnu-<br>
cpp<br>
<br>
CXX = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-linux-gnu-g+<br>
+<br>
CXXMAKEDEPEND = -D__cplusplus -D__GNUG__ -D__GNUC__<br>
CXXDEBUGFLAGS =<br>
CXXOPTIONS = -Wall -Wno-unused<br>
<br>
CXXLINK = $(CXX)<br>
CXXLINKOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) \<br>
$(patsubst<br>
%,-Wl$(comma)-rpath$(comma)%,$(IMPORT_LIBRARY_DIRS))<br>
<br>
CC = /opt/gnutools/powerpc-440-linux-gnu/bin/powerpc-440-<br>
linux-gnu-gcc<br>
CMAKEDEPEND += -D__GNUC__<br>
CDEBUGFLAGS = -O<br>
<br>
CLINK = $(CC)<br>
CLINKOPTIONS = $(CDEBUGFLAGS) $(COPTIONS) \<br>
$(patsubst %,-Wl$(comma)-rpath$(comma)%,$<br>
(IMPORT_LIBRARY_DIRS))<br>
<br>
INSTALL = install -c<br>
<br>
IMPORT_CPPFLAGS += -D__powerpc__ -D__linux__ -D__OSVERSION__=2<br>
<br>
<br>
#<br>
# CORBA stuff<br>
#<br>
<br>
CorbaImplementation = OMNIORB<br>
<br>
#<br>
# OMNI thread stuff<br>
#<br>
<br>
ThreadSystem = Posix<br>
OMNITHREAD_POSIX_CPPFLAGS = -DNoNanoSleep<br>
OMNITHREAD_CPPFLAGS = -D_REENTRANT<br>
OMNITHREAD_LIB = $(patsubst %,$(LibSearchPattern),omnithread)<br>
<br>
ifndef UseMITthreads<br>
OMNITHREAD_POSIX_CPPFLAGS += -DPthreadDraftVersion=10<br>
OMNITHREAD_LIB += -lpthread<br>
else<br>
OMNITHREAD_POSIX_CPPFLAGS += -DPthreadDraftVersion=8<br>
OMNITHREAD_CPPFLAGS += -D_MIT_POSIX_THREADS<br>
OMNITHREAD_LIB += -lpthreads<br>
endif<br>
<br>
lib_depend := $(patsubst %,$(LibPattern),omnithread)<br>
OMNITHREAD_LIB_DEPEND := $(GENERATE_LIB_DEPEND)<br>
<br>
# Default location of the omniORB configuration file [falls back to<br>
this if<br>
# the environment variable OMNIORB_CONFIG is not set] :<br>
<br>
OMNIORB_CONFIG_DEFAULT_LOCATION = /etc/omniORB.cfg<br>
<br>
# Default directory for the omniNames log files.<br>
OMNINAMES_LOG_DEFAULT_LOCATION = /var/omninames<br>
<br>
#####################<br>
<br>
# The HOSTBINDIR variable is used to locate the HOST IDL compiler.<br>
BASE_OMNI_TREE = /opt/omniorb4/native<br>
HOSTBINDIR = bin/i586_linux_2.0_glibc2.1<br>
TBINDIR = $(HOSTBINDIR)<br>
<br>
HOST_IDL_FLAGS = -h .hh -s SK.cc<br>
OMNIORB_IDL_ONLY = $(BASE_OMNI_TREE)/$(TBINDIR)/omniidl -bcxx<br>
OMNIORB_IDL_ANY_FLAGS = -Wba<br>
OMNIORB_IDL = $(OMNIORB_IDL_ONLY) $(OMNIORB_IDL_ANY_FLAGS)<br>
OMNIORB_IDL_OUTPUTDIR_PATTERN = -C%<br>
OMNIORB_IDL_LC_FLAGS = -l<br>
<br>
OMKDEPEND = $(BASE_OMNI_TREE)/$(HOSTBINDIR)/omkdepend<br>
CXXMAKEDEPEND = $(OMKDEPEND) -D__cplusplus -D__GNUG__ -D__GNUC__<br>
CMAKEDEPEND = $(OMKDEPEND) -D__GNUC__<br>
<br>
#<br>
# everything else is default from <a href="http://unix.mk/" target="_blank">unix.mk</a><br>
# Add the location of the Open SSL library<br>
<br>
As you can see, I use a cross compiler located in the /opt/...<br>
directory. It compiles the libs fine without complaint, and I am able<br>
to compile the "echo" example, however not e.g. "anyExample". When I<br>
transfer the files from the "echo" example, all I get on the PowerPC<br>
is "Segmentation Fault". I wonder if there is some variable that I<br>
have overseen?<br>
I can easily compile and execute a "Hello World"-app on the PowerPC,<br>
but the omniOrb-echo files cannot? I compile the "Hello World" with<br>
the same path used in the CXX variable. What am I doing wrong?!</div>