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