[ace-users] [installation] having problems building ACE/TAO forvxworks.

Steve Huston shuston at riverace.com
Fri Jun 15 07:48:04 CDT 2007


I'm guessing here, and may be totally off, but are you using GNU make?
And do you have ACE_ROOT set to the path of the ACE_wrappers
directory?
 
-Steve

--
Steve Huston, Riverace Corporation
Would you like ACE to run great on your platform?
See http://www.riverace.com/sponsor.htm


-----Original Message-----
From: ace-users-bounces at cse.wustl.edu
[mailto:ace-users-bounces at cse.wustl.edu] On Behalf Of José Rui Simões
Sent: Friday, June 15, 2007 5:58 AM
To: Thomas Lockhart
Cc: tao-users at cse.wustl.edu; ace-users at cse.wustl.edu
Subject: Re: [ace-users] [installation] having problems building
ACE/TAO forvxworks.


Hi Tom,

I've followed every suggestion you make and adapted the config.h and
platform_macros.GNU files.

Now when I follow the build instructions for ACE when I reach the part
of actually building ACE with make. It replies that it doesn't have
targets specified.

What did I do wrong?

Kind regards.

José Rui


On Tue, 2007-06-12 at 10:05 -0700, Thomas Lockhart wrote: 

> Could somebody please help  me with some more detailed 

> instructions on how to build ACE/TAO for VxWorks?



You did not give any details on what exactly failed. If you have
further 

questions please be sure to do so. But here are some suggestions:



Do not bother with the autoconf-based build, since that does not work 

for cross-compiling.



You did a native build first to get gperf and tao_idl, right?



I had decent luck building for VxWorks-6.3 and TAO-1.5.8 using the 

classic from-source build technique. The results are not yet tested.



In previous versions of TAO I was able to assign TAO_IDL and other 

variables in my platform_macros.GNU to get the cross-compilation to 

work, but for 1.5.8 I seemed to need to actually create the soft links


in $ACE_ROOT/bin/ from the native build to the VxWorks directory.



I sourced $WIND_BASE/windriver.bash before compiling. That got the 

compilers in my path and defined a bunch of environment variables. In 

previous versions of VxWorks I defined these variables for myself.



I turned off RTP in platform_macros.GNU since that configuration
seemed 

to want a few definitions that did not exist. I understand that RTP is


the configuration that was used by Johnny Willemsen when freshening
the 

VxWorks support recently.



Much more of ACE and TAO build for VxWorks than did in the days of 

TAO-1.2.1.



I patch ACE and TAO to get singletons to work with multiple loadable 

modules; the VxWorks loader does not respect weakly-defined objects
and 

will create multiple instances of singletons if they are referenced 

across modules. The patches involve using RTTI to register singletons
in 

a non-templated manager object.



I've enclosed my platform_macros.GNU and config.h files; be sure to
vet 

them for your environment.



hth



                           - Tom


plain text document attachment (platform_macros-vxworks.GNU) 	
# platform_macros.GNU

# For VxWorks environment

# Updated for Tornado 2.2.x and TAO 1.3.x

# Thomas Lockhart Caltech/JPL



ACE_COMPONENTS= FOR_TAO

#minimum_corba=1

#rt_corba= 1

rtp= 0

ami= 0

ami_poller= 0

ami_callback= 0

#corba_messaging= 0

templates= implicit

rtti= 1

#exceptions= 0

interface_repo= 1

inline= 1

debug= 0

shared_libs= 1

shared_libs_only= 1

static_libs= 



#ifeq ($(LIBNAME),"liborbsvcs")

#  LIBS=

#endif



# Disable shared libraries from the link step.

# Otherwise, we'll try to link to libACE.so, but the linker is looking
for libACE.a.

#ACE_SHLIB=



# TAO_IDL must be a full-path pointer to a built IDL compiler.

# Otherwise, rules which list this as a prerequisite (and there are
some)

# will fail with "no rule to make..."

# One might think that setting PATH should be enough, but nooooooo....

TAO_IDL= /proj/ace/release/$(HOSTARCH)/bin/tao_idl



# NOTE THAT ALL TAO_IDLFLAGS PARAMETERS ARE OVERRIDDEN IN THE RTC

# MAKEFILE.ENV SO THESE PARAMETERS NEED TO BE UPDATED THERE ALSO



# All support files are going into a stable installation, so generate
angle

# brackets on #includes when possible

TAO_IDLFLAGS+= -in



# Enable exception macro arguments since tao_idl may have been

# compiled with exceptions enabled for the host platform.

# Note that this could be enabled always, since the exception macros

# support native exceptions also.

#ifneq ($(exceptions),1)

#  TAO_IDLFLAGS+= -Ge 1

#endif



# Disable tie classes to shrink libraries

TAO_IDLFLAGS+= -Sc



# Enable AMI and OBV interfaces

ifeq ($(ami),1)

  TAO_IDLFLAGS+= -GC -Gv

  IDLFLAGS+= -GC -Gv

endif



# TAO currently calls everything with gcc-2.96 VxWorks 5.4.2.

# Override with the correct value for Tornado 2.2.1.

#VXWORKS_VERSION_FLAG= -DACE_VXWORKS=0x551



include $(ACE_ROOT)/include/makeinclude/platform_vxworks6.3.GNU



# Get the right version of gperf

TAO_IDLFLAGS+= -g /proj/ace/release/$(HOSTARCH)/bin/gperf



# VxWorks does not respect weakly-defined objects.

# Enable the workaround from Rich Johnson.

CPPFLAGS+= -DACE_HAS_BROKEN_WEAK_OBJECTS



# TornadoII supports multicast,

# but this is not turned on by default in ACE

#CPPFLAGS+= -DACE_HAS_IP_MULTICAST=1



# Need static data member templates for the SingletonMap workaround.

# Should move to config-vxworks5.x.h when SingletonMap is added to the
tree.

#CPPFLAGS+= -UACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES



# Remove RCS info from source code. Saves some room...

CPPFLAGS+= -DACE_USE_RCSID=0



# Enable patch to use sortable time in log output

CPPFLAGS+= -DACE_USE_ISO8601_TIME



# Set optimization to O1 to allow exceptions under Tornado II 2.0
compiler

#OCFLAGS+= -O0



_________________________ 

José Rui Simões 

Junior Engineer 


Critical Software, SA
Parque Industrial de Taveiro, Lote 48
3045-504 Coimbra, Portugal
Tel:+351.239 989 100 Fax:+351.239 989 119
http://www.criticalsoftware.com <http://www.criticalsoftware.com/> 
jose-r-simoes at criticalsoftware.com
<mailto:jose-r-simoes%40criticalsoftware.com> 




-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://list.isis.vanderbilt.edu/pipermail/ace-users/attachments/20070615/c9d02f30/attachment-0001.htm


More information about the Ace-users mailing list