Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Re: [tao-users] Cross compiling TAO, GPERF issues.

597 views
Skip to first unread message

William Otte

unread,
Oct 24, 2011, 8:36:50 AM10/24/11
to <Nick.Adamson@generaldynamics.uk.com>, <tao-users@list.isis.vanderbilt.edu>
Hi nick

Gperf was renamed ace_gperf a few releases ago. 

Could you please fill out the PROBLEM-REPORT-FORM found in TAO_ROOT?

Thanks
Will

Sent from my iPhone

On Oct 24, 2011, at 3:59 AM, <Nick.A...@generaldynamics.uk.com> wrote:

Hi All.
 
I'm in the process of building the latest micro release of TAO for one of our bits of kit which runs an ARM processer.
 
I'm following the instructions in the TAO installation guide for cross compilation but have run in to a problem.
 
I've set up the platform-macros.GNU file to point at the cross compiler and have added the 3 lines at the bottom of the file to locate the TAO_idl executables for the host.
 
The problem I've got is that it can't find gperf. My understanding is that gperf should have been built at the same time I built ACE for the host system and that it should be located in ACE_wrappers/bin. The only thing I can find which is remotely similar is an executable called ace_gperf but pointing the platform_macros.gnu at this doesn't work either. I've tried going in to ACE_wrappers/aps/gperf and calling make but that doesn't generate gperf at the ACE_wrappers/bin directory I was expecting.
 
Can someone spot where I'm going wrong? Below I've pasted the content of my global.features file as I'm guessing I've turned off something which makes gperf build.
 
As prep to put this email together I've just read through my global.features file again and I've noticed an option, "cross_compile = 0", which would indicate cross compilation is turned off, what happens if I turn this on?
 
Thanks for any help.
Nick.
 
 
// 0 is disabled.
// 1 or not listed is enabled.
 
boost         = 1
bzip2         = 0
erlang        = 0
java          = 0
mfc           = 0
libpng        = 0
python        = 0
qt            = 0
rpc           = 0
swig_java     = 0
swig_perl     = 0
swig_php      = 0
swig_python   = 0
swig_ruby     = 0
swig_tcl      = 0
uses_wchar    = 0 // i.e., unicode
xalanc        = 0
xerces        = 0
xerces2       = 1
xerces3       = 0
ziparchive    = 0
zlib          = 0
zzip          = 0
acexml        = 1
ace_svcconf   = 1
ace_token     = 1
 
ace_for_tao   = 1
cross_compile = 0
ssl           = 0
qos           = 0
rapi          = 0
repo          = 0
minimum_corba = 0
java          = 0
zlib          = 0
zzip          = 0
bzip2         = 0
lzo1          = 0
lzo2          = 0
ipv6          = 0
mfc           = 0
rpc           = 0
sctp        = 0
boost         = 1
dummy_label   = 0
wince         = 0
uses_wchar    = 0  // i.e. unicode
gen_ostream   = 0
ziparchive    = 0
negotiate_codesets  = 0
notify_monitor_control = 0
versioned_namespace = 0
vcl           = 0
stl           = 0
xsc           = 0
tao_idl_fe_gen = 0
xerces        = 0
xerces2       = 1
xerces3       = 0
ofccm         = 0
ndds          = 0
mcpp          = 0
 
// Features for various GUI libraries
 
// Some of features are switched on because they are also controlled
// by higher level features eg. gl is 1 because it is necessary for fl,
// but if someone turns on fl, we may assume gl is available. This way makefile
// generation is simplified. Moreover all internal ACE features like ace_qtreactor
// and tao_qtresource are also turn on, because we want to build every component
// related with if qt is provided. It is proposed to not remove
// switched on features from global.features just because features are available
// by default. This file is also a kind of ACE capabilities documentation, hence
// it is better to enumerate here all features recognized by ACE.
 
// 1 - wxWindows (wxWidgets) libraries are available
wxWindows     = 0
// 1 - Motif (Lestif) libraries are available
motif         = 0
// 1 - Athena widgets libraries are available
athena        = 0
// 1 - X11 libraries are available
x11           = 0
// 1 - X Toolkit libraries are available
xt            = 0
// 1 - Tk libraries are available
tk            = 0
// 1 - Fast Light toolkit libraries are available (assume lowercase h in header files)
fl            = 0
// 1 - Qt3 libraries are available
qt            = 0
qt3           = 0
// 1 - Qt4 core libraries are available
qt4           = 0
// 1 - Fox libraries are available
fox           = 0
// 1 - OpenGL libraries are available
gl            = 0
 
// Features for ACE support for various GUI libraries
// Use QtReactor
ace_qtreactor    = 0
// Use XtReactor
ace_xtreactor    = 0
// Use TkReactor
ace_tkreactor    = 0
// Use FlReactor
ace_flreactor    = 0
// Use FoxReactor
ace_foxreactor   = 0
 
// Features for TAO support for various GUI libraries
// Use QtResources for TAO
tao_qtresource    = 0
// Use XtResources for TAO
tao_xtresource    = 0
// Use TkResources for TAO
tao_tkresource    = 0
// Use FlResources for TAO
tao_flresource    = 0
// Use FoxResources for TAO
tao_foxresource    = 0
 
//Use the ZIP_Wrapper feature for when using the ZIP wrapper classes
ZIP_Wrapper = 0
 
// Feature for CORBA subsets
corba_e_compact = 0
corba_e_micro   = 0
 
// Footprint feature
optimize_collocated_invocations = 1
 
// Option to disable iiop
tao_no_iiop = 0
 
// Option to enable the linking of the TAO_CodecFactory library
// whenever TAO is linked in
link_codecfactory = 0
 
// tern off interceptors.
// this should have quite a big impact on performance.
interceptors = 0
 
 
 

Nick Adamson
Software Engineer

C4I Systems  
 
General Dynamics United Kingdom Limited
Bryn Brithdir, Oakdale Business Park, Blackwood, South Wales, NP12 4AA

Telephone: +44 (0) 1495 236467  
Email: Nick.A...@generaldynamics.uk.com
Website:
www.generaldynamics.uk.com      

Please consider the environment before printing this email

 

 


This email and any files attached are intended for the addressee and may contain information of a confidential nature. If you are not the intended recipient, be aware that this email was sent to you in error and you should not disclose, distribute, print, copy or make other use of this email or its attachments. Such actions, in fact, may be unlawful. In compliance with the various Regulations and Acts, General Dynamics United Kingdom Limited reserves the right to monitor (and examine for viruses) all emails and email attachments, both inbound and outbound. Email communications and their attachments may not be secure or error- or virus-free and the company does not accept liability or responsibility for such matters or the consequences thereof. General Dynamics United Kingdom Limited, Registered Office: 21 Holborn Viaduct, London EC1A 2DY. Registered in England and Wales No: 1911653.

_______________________________________________
tao-users mailing list
tao-...@list.isis.vanderbilt.edu
http://list.isis.vanderbilt.edu/mailman/listinfo/tao-users

Nick.A...@generaldynamics.uk.com

unread,
Oct 24, 2011, 11:56:29 AM10/24/11
to wo...@dre.vanderbilt.edu, tao-...@list.isis.vanderbilt.edu
Sorry, was meant to send the below to the list.
I'll blame the fact its still a Monday, That's my excuse and I'm
sticking to it.
Hi Will.

Thanks for the answer, I did a rebuild using the new platform_macros.gnu
file with specifically stating ace_gperf and I got one step farther.
I'll put together a PRF as I've got a couple of comments about the
documentation for cross compiling which could be improved and if its OK
I'll do one report form at the end of the process.

The new problem I've got is that now its found gperf it doesn't seem to
work very well.
Below is a summary of a bunch of warnings and one error I'm getting
which is stopping me moving forward.

For context #home/c4i/nicksStuff/ACE_wrappers is where I'm trying to
compile the cross compiled libraries and /home/c4i/nicksStuff/host_ace
is where the binaries for the host platform, Ubuntu 11.04, are. I'm
generating my make files using make project creator and kicking off the
build as follows:
Cd ACE_wrappers/tao
Mwc.pl TAO_ACE.mwc --type make
Make

I've already built ACE at this point with out two many problems.
Any ideas?

/home/c4i/nicksStuff/host_ace/bin/tao_idl
/home/c4i/nicksStuff/host_ace/bin/ace_gperf
-Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -SS -GA -Gp -Gd
-Sorb -Sal -Wb,export_macro=TAO_Messaging_Export
-Wb,export_include=tao/Messaging/messaging_export.h -iC tao/Messaging
ExceptionHolder.pidl
/home/c4i/nicksStuff/ACE_wrappers/bin/ace_gperf:
/home/c4i/nicksStuff/ACE_wrappers/bin/ace_gperf: cannot execute binary
file TAO_IDL: warning, GPERF could not be executed
Perfect Hashing or Binary/Linear Search cannot be done without GPERF
Now, using Dynamic Hashing..
To use Perfect Hashing or Binary/Linear Search strategy
-Build gperf at $ACE_ROOT/apps/gperf/src
-Set the environment variable $ACE_ROOT appropriately or add
$ACE_ROOT/bin to the PATH
-Refer to Operation Lookup section in the TAO IDL User Guide
($TAO_ROOT/docs/compiler.html) for more details
/home/c4i/nicksStuff/host_ace/bin/ace_gperf:69:71: warning: missing
terminating ' character
/home/c4i/nicksStuff/host_ace/bin/ace_gperf:72:73: warning: missing
terminating ' character
NiAd: there are a number of instances of the 2 lines above.
........................
syntax error
Error - /home/c4i/nicksStuff/host_ace/bin/tao_idl:
"/home/c4i/nicksStuff/host_ace/bin/ace_gperf", line 1: Statement cannot
be parsed
make[1]: *** [ExceptionHolderC.inl] Error 1
make[1]: Leaving directory
`/home/c4i/nicksStuff/ACE_wrappers/TAO/tao/Messaging'

make: *** [Messaging_Idl] Error 2

Thanks.
Nick.



Nick Adamson
Software Engineer

C4I Systems

General Dynamics United Kingdom Limited
Bryn Brithdir, Oakdale Business Park, Blackwood, South Wales, NP12 4AA

Telephone: +44 (0) 1495 236467
Email: Nick.A...@generaldynamics.uk.com
Website: www.generaldynamics.uk.com

Please consider the environment before printing this email


General Dynamics United Kingdom
Limited<http://gdonline/new/Communications/img/Signature/Signature.bmp>
Bryn Brithdir, Oakdale Business Park, Blackwood, South Wales,
NP12 4AA

Telephone: +44 (0) 1495 236467
Email: Nick.A...@generaldynamics.uk.com
<mailto:Nick.A...@generaldynamics.uk.com>
Website: www.generaldynamics.uk.com
<http://www.generaldynamics.uk.com/>

Adam Mitz

unread,
Oct 24, 2011, 12:06:44 PM10/24/11
to tao-...@list.isis.vanderbilt.edu
On 10/24/2011 10:56 AM, Nick.A...@generaldynamics.uk.com wrote:
> Sorry, was meant to send the below to the list.
> I'll blame the fact its still a Monday, That's my excuse and I'm
> sticking to it.
> Hi Will.
>
> Thanks for the answer, I did a rebuild using the new platform_macros.gnu
> file with specifically stating ace_gperf and I got one step farther.
> I'll put together a PRF as I've got a couple of comments about the
> documentation for cross compiling which could be improved and if its OK
> I'll do one report form at the end of the process.

Without a PRF, we are just guessing, but below is a guess. (Yes, you
really need a PRF and we need to know which environment variables you
have changed and the contents of your platform_macros.GNU).

>
> /home/c4i/nicksStuff/host_ace/bin/tao_idl
> /home/c4i/nicksStuff/host_ace/bin/ace_gperf
> -Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL
> -Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -SS -GA -Gp -Gd
> -Sorb -Sal -Wb,export_macro=TAO_Messaging_Export
> -Wb,export_include=tao/Messaging/messaging_export.h -iC tao/Messaging
> ExceptionHolder.pidl
> /home/c4i/nicksStuff/ACE_wrappers/bin/ace_gperf:
> /home/c4i/nicksStuff/ACE_wrappers/bin/ace_gperf: cannot execute binary
> file TAO_IDL: warning, GPERF could not be executed
>

Is there a "-g" missing from this tao_idl command line?

> Mwc.pl TAO_ACE.mwc --type make

This doesn't work, you need "-type gnuace".

Thanks,
Adam Mitz
Senior Software Engineer
Object Computing, Inc.



Nick.A...@generaldynamics.uk.com

unread,
Oct 25, 2011, 6:46:16 AM10/25/11
to mi...@ociweb.com, tao-...@list.isis.vanderbilt.edu
Hi Adam.

Sorry. Please find below the PRF.
Any ideas?

TAO VERSION: 2.0.5
ACE VERSION: 6.0.5

HOST MACHINE and OPERATING SYSTEM: Ubuntu 11.04 VM, 4 GB Ram.
If on Windows based OS's, which version of WINSOCK do you
use?: N/A

TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
angstrom Linux on a Arm processer.
COMPILER NAME AND VERSION (AND PATCHLEVEL): 4.5.3

THE $ACE_ROOT/ace/config.h FILE:
#define ACE_HAS_INTERCEPTORS 0
#define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
#include "ace/config-linux.h"



THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE: Its a
modified version of the standard linux one.
# -*- Makefile -*-
# $Id: platform_linux.GNU 93833 2011-04-09 17:53:42Z mcorino $

include $(ACE_ROOT)/include/makeinclude/platform_linux_common.GNU

ifeq ($(insure),0)
CC = arm-angstrom-linux-gnueabi-gcc
CXX = arm-angstrom-linux-gnueabi-g++
CXX_FOR_VERSION_TEST ?= $(CXX)
else
CXX_FOR_VERSION_TEST ?= g++
endif

CXX_FULL_VERSION := $(shell $(CXX_FOR_VERSION_TEST) --version)
CXX_VERSION := $(shell $(CXX_FOR_VERSION_TEST) -dumpversion)

no_hidden_visibility = 1

ifeq (Red Hat, $(findstring Red Hat,$(CXX_FULL_VERSION)))
ifeq (4.1.1, $(findstring 4.1.1,$(CXX_VERSION)))
gcc_template_instantiation_visibility ?= 1
endif
ifeq (4.1.2, $(findstring 4.1.2,$(CXX_VERSION)))
gcc_template_instantiation_visibility ?= 1
endif
endif
# Mandriva 2007
ifeq (4.1.1-3mdk, $(findstring 4.1.1-3mdk,$(CXX_FULL_VERSION)))
gcc_template_instantiation_visibility ?= 1
endif

ifeq ($(buildbits),32)
FLAGS_C_CC += -m32
LDFLAGS += -m32
endif
ifeq ($(buildbits),64)
FLAGS_C_CC += -m64
LDFLAGS += -m64
endif

# DT_RUNPATH is preferred over DT_RPATH, but the linker will only use it
when
# this extra flag option (enable-new-dtags) is present
LD_RPATH_FLAGS += -Wl,--enable-new-dtags

# Rely on _GNU_SOURCE to set these defaults defined in
/usr/include/features.h
# instead of setting them directly here (older versions of gcc don't set
it
# for you): _SVID_SOURCE _BSD_SOURCE _POSIX_SOURCE
_POSIX_C_SOURCE=199506L, ...
CPPFLAGS += -D_GNU_SOURCE

DCFLAGS += -ggdb
DCCFLAGS += -ggdb
DLD = $(CXX)
LD = $(CXX)
LIBS += -ldl

ifeq ($(threads),1)
FLAGS_C_CC += -pthread
SOFLAGS += -pthread
LIBS += -lrt
endif

ifeq ($(optimize),1)
SOFLAGS += -Wl,-O3
endif

SOFLAGS += -shared
SOBUILD = $(COMPILE.cc) $(PIC) -o $(VSHDIR)$*.so $<; \
$(SOLINK.cc) -o $@ $(LDFLAGS) $(VSHDIR)$*.o
PRELIB = @true

# Test for template instantiation, add to SOFLAGS if SONAME set,
# add -E to LDFLAGS if using GNU ld
#
include $(ACE_ROOT)/include/makeinclude/platform_g++_common.GNU

# TAO with GCC 4.0.2 and -O3 seems to result in runtime issues, for
example
# the ForwardRequest PI test will fail. For GCC 4.0.2 we default to -O2
ifeq ($(CXX_VERSION),4.0.2)
OCFLAGS ?= -O2
OCCFLAGS ?=-O2
else
OCFLAGS ?= -O3
OCCFLAGS ?= -O3
endif

# Added line below to support "Executable Shared Object" files (as
# needed by the service configurator).
# Marius Kjeldahl <mar...@sn.no, mar...@funcom.com>
ifeq ($(threads),1)
ESOBUILD = $(COMPILEESO.cc) $(PIC) -shared -o $(VSHDIR)$*.so $<
ifndef PRELIB
PRELIB = @true
endif # ! PRELIB
endif

#### GNU gas has a string limit of 4096 characters. On Alphas,
#### builds will fail due to running over that limit. There are
#### at least two workarounds:
#### 1) Change the limit to 8192 characters and rebuild gas. See
#### ACE-INSTALL.html for more information.
#### 2) Don't use -g when compiling those files.
#### If you're building on an Alpha and you haven't hacked and
#### rebuilt gas, you might need to uncomment the following.
#### ifeq ($(debug),1)
#### SUPPRESS_DASH_G = 1
#### endif # debug

## the next couple of lines added to point TAO_IDL on host.
TAO_IDL := $(HOST_ACE)/bin/tao_idl
TAO_IDLFLAGS := $(HOST_ACE)/bin/ace_gperf
TAO_IDL_DEP := $(HOST_ACE)/bin/tao_idl$(EXEEXT)



CONTENTS OF
$ACE_ROOT/bin/MakeProjectCreator/config/default.features:
cross_compile = 1
bzip2 = 0
erlang = 0
java = 0
mfc = 0
libpng = 0
python = 0
qt = 0
rpc = 0
swig_java = 0
swig_perl = 0
swig_php = 0
swig_python = 0
swig_ruby = 0
swig_tcl = 0
uses_wchar = 0 // i.e., unicode
wireshark = 0
xalanc = 0
iparchive = 0
zlib = 0
zzip = 0

AREA/CLASS/EXAMPLE AFFECTED: building tao, when trying to run
ace_gperf on exceptionholder.inl.


DOES THE PROBLEM AFFECT:
COMPILATION? Yes.
If so, what do your $ACE_ROOT/ace/config.h and
$ACE_ROOT/include/makeinclude/platform_macros.GNU contain?
See above.
LINKING? Not getting that far.
On Unix systems, did you run make realclean first? No.
EXECUTION? Of ace_gperf.
OTHER (please specify)? All issues found are in trying to cross
compile TAO for an Angstrom Linux box.


SYNOPSIS:
I've Cross compiled the ACE libs successfully however when I try to
cross compile TAO I get errors.

DESCRIPTION:
When generating my own workspace using:
mwc.pl TAO_ACE.mwc --type make
I get the following output:

/home/c4i/nicksStuff/host_ace/bin/tao_idl
/home/c4i/nicksStuff/host_ace/bin/ace_gperf
-Wb,versioning_begin=TAO_BEGIN_VERSIONED_NAMESPACE_DECL
-Wb,versioning_end=TAO_END_VERSIONED_NAMESPACE_DECL -SS -GA -Gp -Gd
-Sorb -Sal -Wb,export_macro=TAO_Messaging_Export
-Wb,export_include=tao/Messaging/messaging_export.h -iC tao/Messaging
ExceptionHolder.pidl
/home/c4i/nicksStuff/ACE_wrappers/bin/ace_gperf:
/home/c4i/nicksStuff/ACE_wrappers/bin/ace_gperf: cannot execute binary
file TAO_IDL: warning, GPERF could not be executed
Perfect Hashing or Binary/Linear Search cannot be done without GPERF
Now, using Dynamic Hashing..
To use Perfect Hashing or Binary/Linear Search strategy
-Build gperf at $ACE_ROOT/apps/gperf/src
-Set the environment variable $ACE_ROOT appropriately or add
$ACE_ROOT/bin to the PATH
-Refer to Operation Lookup section in the TAO IDL User Guide
($TAO_ROOT/docs/compiler.html) for more details
/home/c4i/nicksStuff/host_ace/bin/ace_gperf:69:71: warning: missing
terminating ' character
/home/c4i/nicksStuff/host_ace/bin/ace_gperf:72:73: warning: missing
terminating ' character
NiAd: there are a number of instances of the 2 lines above.
........................
syntax error
Error - /home/c4i/nicksStuff/host_ace/bin/tao_idl:
"/home/c4i/nicksStuff/host_ace/bin/ace_gperf", line 1: Statement cannot
be parsed
make[1]: *** [ExceptionHolderC.inl] Error 1
make[1]: Leaving directory
`/home/c4i/nicksStuff/ACE_wrappers/TAO/tao/Messaging'

make: *** [Messaging_Idl] Error 2


I've tried using the following method to generate my make files with no
success:
mwc.pl TAO_ACE.mwc --type gnuace

when calling make this through up an error almost immediately:

makefile:
/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL/GNUmakefile.ACE_ETCL MAK
EFLAGS=w

rm -f -r \
*.o *~ *.bak *.rpo *.sym lib*.*_pure_* \
GNUmakefile.old core-r \
cxx_repository ptrepository ti_files \
gcctemp.c gcctemp so_locations *.ics \
templateregistry templateregistry.* ir.out core.* *.core
.shobj/ETCL_Con
straint.o .shobj/ETCL_Constraint_Visitor.o
make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'

GNUmakefile:
/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL/GNUmakefile.ACE_ETCL_Par
ser MAKEFLAGS=w

rm -f -r \
*.o *~ *.bak *.rpo *.sym lib*.*_pure_* \
GNUmakefile.old core-r \
cxx_repository ptrepository ti_files \
gcctemp.c gcctemp so_locations *.ics \
templateregistry templateregistry.* ir.out core.* *.core
.shobj/ETCL_Int
erpreter.o .shobj/ETCL_l.o .shobj/ETCL_y.o
make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
GNUmakefile.ace_svcconf_gen:458: *** missing separator. Stop.
make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
make: *** [clean] Error 2
c4i@ubuntu:~/nicksStuff/ACE_wrappers/TAO$ make
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
ACE_FOR_TAO will not be built due to the following disabled make macros:
ace_for
_tao

GNUmakefile:
/home/c4i/nicksStuff/ACE_wrappers/ace/GNUmakefile.ACE_FOR_TAO MAKEF
LAGS=w

make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/Kokyu'
Kokyu will not be built due to the following missing library:
ACE_FOR_TAO

GNUmakefile: /home/c4i/nicksStuff/ACE_wrappers/Kokyu/GNUmakefile.Kokyu
MAKEFLAGS
=w

make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/Kokyu'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
ACE_ETCL will not be built due to the following missing library:
ACE_FOR_TAO

GNUmakefile:
/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL/GNUmakefile.ACE_ETCL MAK
EFLAGS=w

make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
c4i@ubuntu:~/nicksStuff/ACE_wrappers/TAO$ make
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
ACE_FOR_TAO will not be built due to the following disabled make macros:
ace_for
_tao

GNUmakefile:
/home/c4i/nicksStuff/ACE_wrappers/ace/GNUmakefile.ACE_FOR_TAO MAKEF
LAGS=w

make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/Kokyu'
Kokyu will not be built due to the following missing library:
ACE_FOR_TAO

GNUmakefile: /home/c4i/nicksStuff/ACE_wrappers/Kokyu/GNUmakefile.Kokyu
MAKEFLAGS
=w

make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/Kokyu'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
ACE_ETCL will not be built due to the following missing library:
ACE_FOR_TAO

GNUmakefile:
/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL/GNUmakefile.ACE_ETCL MAK
EFLAGS=w

make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
ACE_ETCL_Parser will not be built due to the following missing library:
ACE_FOR_
TAO

GNUmakefile:
/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL/GNUmakefile.ACE_ETCL_Par
ser MAKEFLAGS=w

make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace/ETCL'
make[1]: Entering directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
GNUmakefile.ace_svcconf_gen:458: *** missing separator. Stop.
make[1]: Leaving directory `/home/c4i/nicksStuff/ACE_wrappers/ace'
make: *** [ace_svcconf_gen] Error 2



Nick Adamson
Software Engineer

C4I Systems

General Dynamics United Kingdom Limited
Bryn Brithdir, Oakdale Business Park, Blackwood, South Wales, NP12 4AA

Telephone: +44 (0) 1495 236467
Email: Nick.A...@generaldynamics.uk.com
Website: www.generaldynamics.uk.com

Please consider the environment before printing this email


-----Original Message-----
From: tao-user...@list.isis.vanderbilt.edu
[mailto:tao-user...@list.isis.vanderbilt.edu] On Behalf Of Adam
Mitz
Sent: Monday, 24 October 2011 17:07
To: tao-...@list.isis.vanderbilt.edu
Subject: Re: [tao-users] Cross compiling TAO, GPERF issues.

Martin Corino

unread,
Oct 25, 2011, 7:25:09 AM10/25/11
to Nick.A...@generaldynamics.uk.com, tao-...@list.isis.vanderbilt.edu
Hi Nick,

We have several cross builds on the scoreboard from which this is one of
them: http://buildlogs.theaceorb.nl/mpc440ctubuild/index.html.
Checkout the Config section of the build log to see how this build is
set up.
If you checkout the autobuild archive (see the 'Autobuild framework'
chapter of the TPG at
http://www.remedy.nl/en/ace-tao-ciao-dance-prod/tpg) you can find the
autobuild configuration file for this build (the name of which you will
find in the build log Config section) which gives you even more
information about the setup.

regards,
Martin Corino.

--
----------------------------------------------------------------------
Martin J.N. Corino | Remedy IT Expertise BV
Postbus 101 | 2650 AC Berkel en Rodenrijs | The Netherlands
tel: +31 (10) 522 0139 | fax: +31 (33) 246 6511
World Wide Web: http://www.remedy.nl
----------------------------------------------------------------------

Adam Mitz

unread,
Oct 25, 2011, 4:29:56 PM10/25/11
to Nick.A...@generaldynamics.uk.com, tao-...@list.isis.vanderbilt.edu
On 10/25/2011 5:46 AM, Nick.A...@generaldynamics.uk.com wrote:
> Hi Adam.
>
> Sorry. Please find below the PRF.
> Any ideas?

See some comments, below.

> TAO VERSION: 2.0.5
> ACE VERSION: 6.0.5
>
> HOST MACHINE and OPERATING SYSTEM: Ubuntu 11.04 VM, 4 GB Ram.
> If on Windows based OS's, which version of WINSOCK do you
> use?: N/A
>
> TARGET MACHINE and OPERATING SYSTEM, if different from HOST:
> angstrom Linux on a Arm processer.
> COMPILER NAME AND VERSION (AND PATCHLEVEL): 4.5.3
>
> THE $ACE_ROOT/ace/config.h FILE:
> #define ACE_HAS_INTERCEPTORS 0
> #define ACE_GCC_HAS_TEMPLATE_INSTANTIATION_VISIBILITY_ATTRS 1
> #include "ace/config-linux.h"
>
>
>
> THE $ACE_ROOT/include/makeinclude/platform_macros.GNU FILE: Its a
> modified version of the standard linux one.

We suggest you do not modify the distribution files. Instead, your
platform_macros.GNU should include a standard one, followed by
(sometimes preceded by) your own customizations. This is done via the
/include/ GNU make keyword.


> ## the next couple of lines added to point TAO_IDL on host.
> TAO_IDL := $(HOST_ACE)/bin/tao_idl
> TAO_IDLFLAGS := $(HOST_ACE)/bin/ace_gperf
> TAO_IDL_DEP := $(HOST_ACE)/bin/tao_idl$(EXEEXT)
>

This TAO_IDLFLAGS is incorrect. As I speculated yesterday, it needs a
"-g " in front of the path to gperf.

>
> CONTENTS OF
> $ACE_ROOT/bin/MakeProjectCreator/config/default.features:

Looks like you copied global.features here. That's a distribution file
so we don't want to see it in the PRF, just default.features which is
where your customizations belong.

>
>
> DOES THE PROBLEM AFFECT:
> COMPILATION? Yes.
> If so, what do your $ACE_ROOT/ace/config.h and
> $ACE_ROOT/include/makeinclude/platform_macros.GNU contain?
> See above.
> LINKING? Not getting that far.
> On Unix systems, did you run make realclean first? No.
> EXECUTION? Of ace_gperf.
> OTHER (please specify)? All issues found are in trying to cross
> compile TAO for an Angstrom Linux box.
>
>
> SYNOPSIS:
> I've Cross compiled the ACE libs successfully however when I try to
> cross compile TAO I get errors.
>
> DESCRIPTION:
> When generating my own workspace using:
> mwc.pl TAO_ACE.mwc --type make

As I pointed out yesterday, "--type make" is not applicable to projects
using ACE.

Nick.A...@generaldynamics.uk.com

unread,
Oct 31, 2011, 5:04:05 AM10/31/11
to mi...@ociweb.com, tao-...@list.isis.vanderbilt.edu
Hi All.

Just wanted to say thanks for the hints and tips regarding the cross
compiling instructions. I've now got a version of TAO on the embedded
device I was cross compiling for.

Thanks.
Nick.



Nick Adamson
Software Engineer

C4I Systems

General Dynamics United Kingdom Limited
Bryn Brithdir, Oakdale Business Park, Blackwood, South Wales, NP12 4AA

Telephone: +44 (0) 1495 236467
Email: Nick.A...@generaldynamics.uk.com
Website: www.generaldynamics.uk.com

Please consider the environment before printing this email


-----Original Message-----
From: Adam Mitz [mailto:mi...@ociweb.com]
Sent: Tuesday, 25 October 2011 21:30
To: Nick Adamson
Cc: tao-...@list.isis.vanderbilt.edu
Subject: Re: [tao-users] Cross compiling TAO, GPERF issues.

0 new messages