diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:11 +0000 |
commit | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (patch) | |
tree | da50d054f9c761c3f6a5923f6979e93306c56d68 /TAO/TAO-INSTALL.html | |
parent | 0e555b9150d38e3b3473ba325b56db2642e6352b (diff) | |
download | ATCD-6b846cf03c0bcbd8c276cb0af61a181e5f98eaae.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/TAO-INSTALL.html')
-rw-r--r-- | TAO/TAO-INSTALL.html | 556 |
1 files changed, 0 insertions, 556 deletions
diff --git a/TAO/TAO-INSTALL.html b/TAO/TAO-INSTALL.html deleted file mode 100644 index d60437331ac..00000000000 --- a/TAO/TAO-INSTALL.html +++ /dev/null @@ -1,556 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<!-- $Id$ --> - -<HTML> -<HEAD> - <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"> - <TITLE>Building and Installing TAO</TITLE> - <link rev=made href="mailto:schmidt@dre.vanderbilt.edu"> -</HEAD> - -<BODY text = "#000000" - link = "#000fff" - vlink = "#ff0f0f" - bgcolor = "#ffffff"> - -<H5>Document Index</H4> -<UL> - <LI><A HREF="#build">Building and Installing TAO from a distribution</A> - <LI><A HREF="#anoncvs">Building and Installing TAO from anonymous CVS</A> -</UL> - -<HR> -<H4><A NAME="build">Building and Installing TAO from a distribution</H4> - - -<p>The following table summarizes platforms on which TAO runs, see the -<a href="../ACE-INSTALL.html#platforms">ACE installation notes</A> for an -overview of all the platforms ACE runs on, these are all candidates -to run TAO on:<P> - -<table width="100%" border=1> - <tr valign=top> - <td><b>Fully supported, i.e., continually tested and used daily</b></td> - <td>Solaris 7, 8 and 9, Windows 2000/XP (7.1, and 8.0 and - Borland C++ Builder 6/2006), Linux/Intel (Redhat, - Debian and SuSe), Linux/Alpha (SuSe), VxWorks 5.5.1/6.2, OpenVMS 8.2 - </td> - </tr> - <tr valign=top bgcolor="#AFAFAF"> - <td><b>Nearly fully supported, i.e., periodically tested</b></td> - <td>Windows 9x/ME, HP/UX 11.x, LynxOS, and AIX 4.x - </td> - </tr> - <tr valign=top> - <td><b>Partially supported, i.e., infrequently tested</b></td> - <td> FreeBSD, NetBSD, Chorus, Tandem NS, - DEC UNIX 6.5, Linux/Alpha (Redhat and Debian), and MACOSX - </td> - </tr> - <tr valign=top bgcolor="#AFAFAF"> - <td><b>Planned support, i.e., pending</b></td> - <td> MVS, Windows CE, SCO, UnixWare</td> - </tr> - <tr valign=top> - <td><b>Compilers whose support were dropped recently</b></td> - <td> Borland C++ Builder 4 and 5, Sun/C++ 5.1 through 5.4, g++ - prior to 2.95.x, HP/UX 10.x, pSoS, Chorus - </td> - </tr> -</table> - -<P>Any UNIX/POSIX/Win32 variation is a potential target platform for -TAO. If you have <A -HREF="../docs/ACE-porting.html">porting -questions</A> or have a problem compiling the TAO along with ACE -wrappers on the platforms shown above please send email to either the -<A HREF="news:comp.soft-sys.ace">Newsgroup</A> or to the <A -HREF="mailto:tao-users@cs.wustl.edu">TAO mailing list</A> and we'll -try to help you fix the problems. You can also submit bug reports and -enhancement requests in our -<a href="../docs/usage-bugzilla.html">bug tracking system</a>.<P> - -TAO can be obtained <A -HREF="http://deuce.doc.wustl.edu/Download.html">electronically</A> -via the WWW and ftp. <A -HREF="http://www.dre.vanderbilt.edu/TAO">TAO</A> is bundled -with the <A -HREF="http://www.dre.vanderbilt.edu/ACE"> ACE </A> release. You'll -always need the most recent version of ACE because TAO tracks and -influences changes to ACE. Always use the ACE+TAO release -bundle as a single piece instead of trying to mix and match things up.<P> - -<HR><P> -<H3>On UNIX platforms</H3> - - -<OL> - <LI>Set <CODE>ACE_ROOT</CODE> environment variable as outlined in - the <a href="../ACE-INSTALL.html">ACE - installation notes</A>.<P> - - <LI>Build and install ACE under <CODE>$ACE_ROOT</CODE>.<P> - - <UL> - <LI>Change directory to <CODE>$ACE_ROOT/ace</CODE> and execute - <CODE><A HREF="#makenotes">make</A></CODE>.<P> - <LI>Also build GPERF under <CODE>$ACE_ROOT/apps/gperf</CODE><P> - </UL> - - <LI>Set <CODE>TAO_ROOT</CODE> environment variable to - <CODE>$ACE_ROOT/TAO</CODE>.<P> - - <LI>Build and install the TAO release under <CODE>$TAO_ROOT</CODE>. - <P> TAO also uses GNUmakefiles and project files generated - from MPC to compile. The beta or the release distribution will - come with stock GNUmakefiles, project files (for VC7.1 and VC - 8) and Borland makefiles which were all generated by - MPC. </P> - - <P>The easiest and recommended way to compile the - <B>complete</B> TAO distribution by simply simply executing - <code><a href="#makenotes">make</a></code> - in the <CODE>$TAO_ROOT</CODE> directory. - </P> - - <P>A smaller subset, that may be of interest to test basic TAO - functionality, is: - <CODE>$TAO_ROOT/tao</CODE>, - <CODE>$TAO_ROOT/TAO_IDL</CODE>, - <CODE>$TAO_ROOT/tests/Param_Test</CODE>. - Then you can execute the <CODE>run_test.pl</CODE> script in - <CODE>$TAO_ROOT/tests/Param_Test</CODE> and/or - follow the instructions contained in the <CODE>README</CODE> - file in the same directory. - </P> - - <P>If you wish to compile the ORB services distributed with TAO, - including the <CODE>Naming_Service</CODE> you - must include <CODE>$TAO_ROOT/orbsvcs</CODE> to the list - above. Please see the - <A HREF="docs/configurations.html#orbsvcs">TAO configuration documentation</a> - for a discussion on how to create a subset configuration of specific - TAO ORB servcies. - </P> - <P> If you wish to compile all the core tao and orbsvcs, - including its dependencies in ACE and ACEXML, you can do the - following (1) Unpack the distribution from DOC group's - website. (2) Set the environment variables $ACE_ROOT and - $TAO_ROOT. (3) Create config.h and platform_macros.GNU at - the right places (4) Delete all the GNUmakefiles (or sln and - vproj file as the case may be) from the TAO distrbution using - the 'find' command. (5) Change directory to $TAO_ROOT. (6) - Run MPC like this, $ACE_ROOT/bin/mwc.pl TAO_ACE.mwc. (7) Run - 'make'. This will create all the required libraries for TAO - and TAO orbsvcs. In step 6, use -type vc71 if you want to - generate VC71 project and workspace files for Win32. Please - see <A href="../MPC/USAGE"> MPC USAGE </A> document for - details on how to generate build files for other compilers - and tools.</P> - - <LI>To test that the TAO release is properly configured, - follow instructions on executing the various examples under - <CODE>$TAO_ROOT/tests</CODE>.<P> - -</OL> - -<h3><strong><a name="sun_g++_notes">Note About g++ On -Solaris for x86 Target</a></strong></h3> - -If you install g++/gcc from <a href="www.blastwave.org"> blastwave -</a> then this note is applicable for you. If you are in the habit of -building g++/gcc from sources directly, please feel free to skip this -section. <p> - -The distribution from <a href="www.blastwave.org"> blastwave</a> has, -as we believe, a bug in it. This bug manifests as compilation errors -when you try to build the orbsvcs when debugging is enabled. Please -remember that debugging is enabled in your platform_macros.GNU if you -haven't specifically disabled it. The easiest way to address this -issue is to set debug=0 in platform_macros.GNu file or build a g++ -compiler for your target platform. A bug has been registered with -blastwave. If you have more questions please feel to contact <a -mailto="bala at dre.vanderbilt.edu"> Bala Natarajan </a>. - -<h2><strong><a name="makenotes">A Note On Make</a></strong></h2> - -Since TAO is built atop ACE, TAO re-uses ACE's Makefile structure as -well. Thus, just like ACE requires GNU Make, so too does TAO. More -exactly, versions of <code>make</code> which are known to <em>not</em> -work include those from Solaris 4.x and 5.x, HP-UX, the latest BSD, -etc.<p> - -GNU Make can be obtained from various places in source and binary -form. Please see <a href="../ACE-INSTALL.html"> ACE-INSTALL.html </a> -for details from where they can be obtained.<P> - -<h2><strong><a name="makenotes">Explicit templates</a></strong></h2> - -It is not possible to use TAO with explicit templates. Your compiler -must support implicit templates. <P> - -<HR><P> -<h3>For Cross-Compiled Targets, such as VxWorks and LynxOS</h3> - -If you are building TAO for a VxWorks target, please see the detailed -instructions for building and installing ACE and TAO in <a -href="../ACE-INSTALL.html#vxworks">$ACE_ROOT/ACE-INSTALL.html</a>.<p> - - <P>Cross-compiling TAO is not much different than building it for - self-host. The one major difference is that TAO's IDL compiler - must be built and run on the host; it's not necessary to run it - on the target. - There are several ways to do this, below we document the two - most common approaches: - </P> - - <H4>Modifying the default location for the IDL compiler</H4> - - <P>By default TAO assumes that the IDL compiler is located in: - <CODE>$TAO_ROOT/bin/tao_idl</CODE> and that the GPERF tool - is located in <CODE>$ACE_ROOT/bin/gperf</CODE>, this is fine for - hosted builds, but not for cross-compilation. - Unfortunately there is no good default for cross-compilation - builds because different sites choose a different location for - their tools. - </P> - <P>You can override the default values by adding several new lines in your - platform_macros.GNU file assuming $(HOST_ROOT) is set to the location - of your host build where you have build gperf and tao_idl, as follows: -<PRE> -$ echo 'TAO_IDL := $(HOST_ROOT)/bin/tao_idl' \ -$ echo 'TAO_IDLFLAGS += -g $(HOST_ROOT)/bin/gperf' \ -$ echo 'TAO_IDL_DEP := $(HOST_ROOT)/bin/tao_idl$(EXEEXT)' \ - >> platform_macros.GNU -</PRE> - - <P>Obviously you must first build the tools for the host platform, - typically you would do this as follows: -<PRE> -# (1) Create a clone directory for the host: - -$ cd ACE_wrappers -$ mkdir -p build/HOST -$ ./bin/create_ace_build build/HOST - -# (2) Configure the host build: - -$ echo '#include "ace/config-HOST.h"' > build/HOST/ace/config.h -$ echo 'include $(ACE_ROOT)/include/makeinclude/platform_HOST.GNU' \ - > build/HOST/include/makeinclude/platform_macros.GNU - -# Often host builds are static: -$ echo 'static_libs_only=1' \ - >> build/HOST/include/makeinclude/platform_macros.GNU - -# (3) Build the host tools - -$ cd build/HOST -$ export ACE_ROOT=$PWD -$ make -C ace -$ make -C apps/gperf -$ make -C TAO/TAO_IDL -</PRE> - - <P>Then configuring the location of the tools for the target - could be done as shown here: -<PRE> -# (4) Create a clone directory for the target: - -$ cd ACE_wrappers -$ mkdir -p build/TARGET -$ ./bin/create_ace_build build/TARGET - -# (5) Configure the target build: - -$ echo '#include "ace/config-TARGET.h"' > build/HOST/ace/config.h -$ echo 'include $(ACE_ROOT)/include/makeinclude/platform_TARGET.GNU' \ - > build/TARGET/include/makeinclude/platform_macros.GNU - -# (6) Configure the TARGET build to use the HOST IDL compiler and -# gperf tools, as described above. -</PRE> - - <H4>Alternative configuration, using links</H4> - - <P>Some developers prefer to set up the host tools using symbolic - links (Unix) or copy of <code>tao_idl</code> (NT). - By way of example, here is how you could setup a - croos-compilation environment for Unix, - the host is <CODE>SunOS5/g++</CODE>, - the target is <CODE>VxWorks</CODE>. - It assumes that the ACE+TAO distribution has been - unpacked, with TAO below ACE_wrappers. It uses the - ACE_wrappers/bin/create_ace_build script to create a shadow - build - tree: -<ol> - <li><code>cd ACE_wrappers</code> - <li><code>bin/create_ace_build SunOS5_g++</code> - <li><code>bin/create_ace_build vxworks</code> - <li><code>cd build/vxworks/bin</code> - <li><code>/bin/rm -r tao_idl</code> - <li><code>ln -s ../../SunOS5_g++/bin/tao_idl</code> -</ol> - - <P>To build on the host: -<ol> - <li><code>cd build/SunOS5_g++</code> - <li><code>export ACE_ROOT=`pwd`; - export LD_LIBRARY_PATH=`pwd`/ace:`pwd`/lib:$LD_LIBRARY_PATH</code> - <li><code>(cd ace; make && cd ../tests; make && cd ../TAO; make) > - make.log</code> - <li><code>cd ../vxworks</code> - <li><code>export ACE_ROOT=`pwd`</code> - <li><code>(cd ace; make && cd ../tests; make && cd ../TAO; make) > - make.log</code> -</ol> - - <P>For Win32 hosts, please see the detailed instructions for building - and installing ACE and TAO in - <a href="../ACE-INSTALL.html#vxworks">../ACE-INSTALL.html</a>, - and - <a href="../ACE-INSTALL.html#VxWorks/NT">Building ACE on - Tornado/NT hosts for VxWorks targets</a> - </P> - - <P>Please note that dynamic loading of libraries is not supported - by TAO for any cross-compiled target. Therefore, dynamic - service configuration of the TAO ORB is not supported. - </p> - - <P>If using perfect hashing, TAO_IDL needs gperf to be built on - the host. That's the default on many platforms. First, build - <code>gperf</code> in the - <code>ACE_wrappers/apps/gperf/src/</code> directory. - </P> - - <H4>Which one is right for me?</H4> - - <P>Using links to cross-compile TAO may appear simpler at first - glance. However, storing the location in the - <CODE>platform_macros.GNU</CODE> is more amenable for - sites where many developers share the same configuration files, - or where ACE+TAO are compiled once and used by a medium or large - size group. - </P> - -<HR><P> -<H3>On Windows NT and Windows 2000 and Windows XP</H3> - -<P><CODE>TAO_IDL</CODE> does not contain its own preprocessor, so it -needs to use an external preprocessor. Depending on which compiler was -used to build <CODE>TAO_IDL</CODE>, the default preprocessor will change. -For example, if compiled with MSVC, <CODE>TAO_IDL</CODE> will look for -CL.EXE in the path. There are cases where this will not work, such as in cross-compiling -or if the preprocessor is not in the path. These situations require that -environment variables are set on the machine to override the -built-in settings. More information about these environment variables can -be found in the <a href="docs/compiler.html#idl_env">TAO_IDL documentation.</a></P> - -<P>It is also advisable to set either the <CODE>ACE_ROOT</CODE> environment -variable as outlined in the -<a href="../ACE-INSTALL.html">ACE -installation notes</A> or the <code>TAO_ROOT</code> environment variable. - </P> - -Remember to <a href="../ACE-INSTALL.html">set -up ACE</A> before building TAO. - -<H4>Visual C++ 7.1 and newer</H4> - -<P>It works best if TAO is placed in ACE_wrappers so TAO ends up in -<CODE>ACE_wrappers\TAO</CODE> because the Visual C++ 7.1 Project files -are setup up to work in this configuration. If you move it, then make -sure you regenerate the project files to look for the include and -library files in the correct place. The default place for placing the -library files are $ACE_ROOT/lib. You can change this setting in <a -href="../bin/MakeProjectCreator/config/acedefaults.mpb"> this base -project </a> file.</P> - -<OL> - <LI>Make sure ACE is built (For Visual C++ 7.1, use ACE.sln). <P> - - <LI>First make sure <CODE>ACE_wrappers\bin</CODE> is listed in the Executable - Directories in Tools|Options. This is needed if using the TAO_IDL - compiler under MSVC. If you intend to also use the release - version of the libraries in the same workspace you have to be - careful, since the executable name for TAO_IDL is same in debug - and release builds. You can use only or the oethr in the same - workspace. This shouldn't be an issue since the projects for - tests and examples are set up to transparently use one or the - other. - <P> - <LI>Load the workspace <CODE>$TAO_ROOT\TAO.dsw</CODE> and build the TAO - library. This workspace has almost all the projects under TAO - which can be built. Therefore please pick and choose projects - that you want to build.<P> - - <LI>To build the Param_Test, load the workspace - <CODE>tests\tests.dsw</CODE> - and build both client and server. <P> -</OL> - -<H4>Visual C++ 7.1</H4> -The DOC group doesn't support TAO on VC++ 7.0 since the libraries that -were shipped with VC++ 7.0 did not work well. The DOC group supports -only VC++ 7.1, which is used by their sponsors. The above mentioned -points are also relevant to users who are trying to use TAO with VC++ -7.1. Additionally, all required options are set for the generated .sln -files. If something is missing then it is probably a bug with -MPC. Please report such bugs to the tao-users newsgroups. - -<H4>Borland C++ Builder</H4> <P> - -To build TAO using C++Builder please follow the -<A HREF="../ACE-INSTALL.html#borland">ACE installation notes</A>, with the -difference being that you first build ACE and then you -give the following command in the $ACE_ROOT\TAO directory:<BR> -<BLOCKQUOTE><CODE> -make -f Makefile.bor -</CODE></BLOCKQUOTE><P> - -For more detailed information on building and using TAO with Borland's -C++ Builder environment, please see the <A -HREF="http://www.tenermerx.com/programming/corba/tao_bcb/index.html">online</A> help -provided by <A HREF="mailto:chris@kohlhoff.com">Christopher -Kohlhoff</A>. <P> - -<H4>Upgrading From Older Releases</H4> - -<P>When a newer version of ACE/TAO is installed, rebuild all should be -used to make sure everything is built correctly.</P> - -<H4>Changing Include Paths</H4> - -<P>If you prefer <code>#include <corba.h></code> over <code> #include -<tao/corba.h></code> then you will need to change your Project Settings -to also contain the <code>TAO/tao</code> directory. You'll find this in the -C/C++ settings under Input.</P> - -<H4>Creating Static Libraries (*.lib)</H4> - -<P> Instructions for dynamic libraries apply to static libraries as -well. Users will have to use _Static.dsw's and _Static.sln files for -creating static libraries and linking with them. - -<H4>MinGW and Cygwin</H4> <P> - -<P>First, follow the build instructions in the -<A HREF="../ACE-INSTALL.html#mingw">ACE installation notes.</A> -When building with MinGW and Cygwin you are using the GNU make under Windows. -When you use make from the commandline, make sure that <code>TAO_ROOT</code> is -set to a full path or to <code>%ACE_ROOT%/TAO</code>, which will also result -in setting a full path. Setting it with the Unix style to <code>$ACE_ROOT/TAO</code> -will not work, setting it using the make style to <code>$(ACE_ROOT)/TAO</code> looks -to work but will cause problems when building the TAO services, so don't do that. -The correct way is: -<BLOCKQUOTE><code>set TAO_ROOT=%ACE_ROOT%/TAO</code></BLOCKQUOTE> - -<HR> -<H3>Perl Scripts</H3> - -<P>Several of TAO's tests and examples contain perl scripts that automate the -execution of these tests. The scripts are found as "run_test.pl" in the -directory of the test.</p> - -<P> The versions of perl that we use are 5.005_02 on NT and 5.003 on Solaris. -The scripts may work on earlier versions of perl, but we cannot say for sure -that they do.</P> - -<HR> -<H3>Native Exceptions</H3> - -<P>TAO will use native exceptions if ACE_HAS_EXCEPTIONS is defined when it is -compiled. This can be accomplished in two ways: by defining ACE_HAS_EXCEPTIONS -in the config.h or config-*.h files (such as on Windows) or by using -<CODE>make exceptions=1</CODE> when you compile TAO.</P> - -<P>Take note though, that this only enables support in ACE/TAO, the correct -compiler flags must also be given to the compiler to enable them.</P> - -<HR> -<P> - -<H3>minimumTAO</H3> - -<P>By default, all components in TAO will be compiled. If you only -want support for <A HREF="docs/minimumTAO.html">minimumTAO</A>, define -TAO_HAS_MINIMUM_CORBA. This can be accomplished in two ways: by -defining TAO_HAS_MINIMUM_CORBA in the config.h or orbconf.h files or -by using <CODE>make minimum_corba=1</CODE> when you compile TAO.</P> - -<strong><blink><font color="#ff0000">WARNING:</font></blink></strong> -Make sure that if you build liborbsvcs with minimum_corba=1 you also -build libTAO with minimum_corba=1!<P> - -<HR> -<P> - -<HR><P> -<H3><A NAME="resource_requirements">System Resource Requirements</A></H3> -Please see the -<a href="../ACE-INSTALL.html#resource_requirements">ACE-INSTALL.html System -Resource Requirements discussion</a> for information on system resources -required to build ACE and TAO.<p> - -<HR> -<H4><A NAME="anoncvs">Building and Installing TAO from anonymous -CVS</H4> - -If users are building from our <a -href="http://cvs.doc.wustl.edu/anoncvs.html"> anon cvs </a> the -GNUmakefiles, and project files for building on various platforms will -not be available. Users from anon cvs are expected to generate them -using <a href="../MPC/README">MPC</a> before building ACE, TAO or -CIAO. We point out some suggestions below to get bootstrapped -quickly. - -<UL> - <LI> Please see <a href="#MPC"> instructions </a> above to download - MPC from anon cvs repository <p> - <LI>Please make sure that you have <a href="http://www.perl.org"> - perl</a> installed, preferably perl - 5.8 or higher. Users on Win32 based platforms are recommended to use - <a href="http://www.activestate.com/Products/ActivePerl/"> Active - State Perl </a>. We use active state perl without problems. We have - ran into problems trying to use the cygwin version of perl on Win32 - based platforms. <p> - <LI>If you just want to build TAO and associated tests, examples, - and associated utility libraries, we recommend the following - alternatives: - <UL> - <LI> Build ACE and TAO seperately. ACE needs to be built first and - instructins for building ACE are available at <a - href="../ACE-INSTALL.html#MPC">ACE-INSTALL</a>. GNUmakefiles and - project files for TAO can be generated by using the following - commands:<p> - <CODE> $ACE_ROOT/bin/mwc.pl TAO.mwc </CODE> <p> - from <CODE> $TAO_ROOT </CODE> to generate GNUmakefiles. Use <CODE> - -type vc71 </CODE> or <CODE>-type vc8</CODE> to generate VC71 and - VC8 project and solution files.<p> - <LI> Build ACE+TAO together in one shot. To do that please issue - the following commands: <p> - <CODE> $ACE_ROOT/bin/mwc.pl TAO_ACE.mwc </CODE> <p> - from <CODE>$TAO_ROOT</CODE>. This will generate GNUmakefiles for - ACE, gperf, and core ACE+TAO libraries. Issuing a - <CODE>'make'</CODE> from <CODE>$TAO_ROOT </CODE> will build all of - the above in one shot. You can use <CODE> -type vc71 </CODE> to - generate VC71 project and workspace files. <CODE>TAO_ACE.sln</CODE> - can be used by users to build ACE+TAO from a single workspace - file. Users can use <CODE> -type vc8 </CODE> to generate the VC8 - solutions files. <p> - </UL> - <LI>If you want to build CIAO and its associated libraries - please see <a href="CIAO/CIAO-INSTALL.html"> CIAO-INSTALL <a> for - details. - - </UL> - - -<HR><P> -Back to the <A HREF="http://www.cs.wustl.edu/~schmidt/TAO.html">TAO</A> home page. - -<!--#include virtual="/~schmidt/cgi-sig.html" --> -</BODY> -</HTML> |