[Ace-users] Re: [tao-users] Newbie Question: Two different TAO tutorials end up with this compile error (PRF Form)

Steve Totten totten_s at ociweb.com
Thu Jul 26 09:28:43 CDT 2007


Hi Anne,

De Wit, Anne wrote:
> To: tao-bugs at cs.wustl.edu
> Subject: [area]: [synopsis]
> 
>     TAO VERSION: 1.5
>     ACE VERSION: 5.5

Thanks for filling out the PRF!

Even though x.5 was the last major DOC Group release, I think
you will have better luck with either the latest beta release
(currently x.5.9) or the latest OCI TAO 1.5a patched release,
available from:

http://download.ociweb.com/TAO-1.5a/

>     SYNOPSIS:
> When attempting to 'make' basic tutorial code, get a "undefined
> reference
> to to 'vtable for TAO::TypeCode::Objref........."

It certainly looks like either you are not linking with the
TAO_AnyTypeCode library, or that library was not built.
To tell the truth, I'm not sure that library had been split
out separately in TAO 1.5.  The later releases listed above
have it as a separate library.  If your server project (in your
.mpc file) inherits from the "portableserver" (or "taoserver")
base project, the TAO_AnyTypeCode library will be included in
the list of libraries with which to link.

>     DESCRIPTION:
> Running very basic code as documented in:
>  http://download.theaceorb.nl/TPG.pdf The Remedy IT Programmers Guide 
>  (Hello World Application)

I can't speak to the TPG's example, but an updated version of
the Getting Started example from the OCI TAO Developer's Guide
(complete source code and .mpc file) is included in the OCI
TAO 1.5a release, in the
$TAO_ROOT/DevGuideExamples/GettingStarted/ directory.
It should build out of the box with no problems with TAO 1.5a
latest patched release.

> EXTRA INFO:
> I just got a response from another employee of our company (Raytheon)
> Who states "I think it is due to the way you compiled ACE/TAO and
> The example program".
> So to help that angle, I will describe the exact steps I used to compile
> ACE/TAO:
> 
> 1. Download & Untar ACE-5.5+TAO-1.5.tar.gz
> 2. export ACE_ROOT=/root/TAO/ACE_wrappers
>    export TAO_ROOT=$ACE_ROOT/TAO
>    export LD_LIBRARY_PATH=$ACE_ROOT/bin:$LD_LIBRARY_PATH
> 3. Create file $ACE_ROOT/ace/config.h
>   #include "ace/config-linux.h"
> 4. Create $ACE_ROOT/include/makeinclude/platform_macros.GNU
>    include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
> 5. Build ACE Libraries
>    $ACE_ROOT/ace/make (this is quick)
> 6. Build gperf application
>    $ACE_ROOT/apps/gperf/src/make
> 7. Build TAO libraries 
>    $TAO_ROOT/make (this takes forever)

I recommend following the build instructions in the TAO FAQ:

http://www.theaceorb.com/faq/index.html#HowToBuildACEandTAOonLinux

Good luck!

Steve
-- 
----------------------------------------------------------------
  Steve Totten, Principal Software Engineer and Partner
  Object Computing, Inc. (OCI), St. Louis, MO, USA
  http://www.ociweb.com/  http://www.theaceorb.com/
----------------------------------------------------------------



More information about the Ace-users mailing list