1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!-- $Id$ --><html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>Building and Installing CIAO </title>
<LINK rev="made" href="mailto:schmidt@cs.wustl.edu"></head>
<body text="#000000" vLink="#ff0f0f" link="#000fff" bgColor="#ffffff">
<hr>
<h3>Building and Installing CIAO
</h3>
<p>The first thing you should do to install CIAO is to set the environment
variable <code>CIAO_ROOT</code> to be <code>$TAO_ROOT/CIAO</code>. Please refer
to the <A href="../../ACE-INSTALL.html">ACE installation notes</A> and <A href="../TAO-INSTALL.html">
TAO installation notes</A> for instructions on setting <code>$ACE_ROOT</code>
and <code>$TAO_ROOT</code>, respectively. They are needed since CIAO sits on
top of ACE+TAO. Compiling ACE+TAO successfully is the <strong>first</strong> requirement
for compiling CIAO.
</p>
<p>CIAO is divided into several parts, so different installation/building rules
apply to different parts of CIAO.<br>
<br>
</p>
<ol>
<li>
CIAO core/examples: This part of CIAO include following directories: <code>$CIAO_ROOT/ciao</code>,
<code>$CIAO_ROOT/examples</code>.
<li>
CIDL Compiler: This part of CIAO include <code>$CIAO_ROOT/CCF</code> and <code>$CIAO_ROOT/CIDLC</code>.
<li>
CIAO Deployment and Configuration Framework: This part of CIAO includes all the
directories in <code>$CIAO_ROOT/DAnCE</code>. DAnCE is an implementation of the
new <a href="http://www.omg.org/cgi-bin/doc?ptc/2003-07-02">Deployment and
Configuration</a> specification. We refer, henceforth, to all pieces as CIAO
in general. The above two pieces will be referred specifically by their names
as CIDLC and DAnCE though they are part of CIAO.
</li>
</ol>
<hr>
<h3>Supported Platforms for CIAO
</h3>
<p>CIAO should be usable on all platforms that TAO runs on. Please see <A href="../TAO-INSTALL.html">
TAO's installation</A> pages for details
</p>
<h3>Supported Platforms for CIDLC
</h3>
<p>CIDLC is supported only on a small subset of platforms. Please refer to <A href="CCF/Documentation/Build.html">
this</A> for details on how to build CIDLC.
</p>
<b>For Building CIAO CIDLC Compiler</b>
<table width="100%" border="1">
<tr>
<td><b>Fully supported, i.e., continually tested and used daily</b>
</td>
<td>Windows 2000/XP (VC 7.1), Linux(GCC 3.2 or higher)
</td>
</tr>
<tr>
<td><b>Binaries <a href="http://www.dre.vanderbilt.edu/cidlc/binary">available</a> intermittently,
no automatic builds or tests</b>
</td>
<td>MacOS, Solaris
</td>
</tr>
</table>
<p>If you have <A href="../../docs/ACE-porting.html">porting questions</A> or
have a problem compiling CIAO with TAO and ACE on the platforms shown above
please send email to either <A href="news:comp.soft-sys.ace">ACE Newsgroup</A> or
the <A href="mailto:ciao-users@cs.wustl.edu">CIAO 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>
<p>CIAO can be obtained <a href="http://www.dre.vanderbilt.edu/Download.html">electronically</a>
via the WWW and ftp. <a href="http://www.dre.vanderbilt.edu/CIAO">CIAO</a> is
bundled with the ACE and TAO release. You'll always need the most recent
version of ACE and TAO because CIAO tracks changes to ACE and TAO very closely.
</p>
<hr>
<h3>Install CIDL Compiler
</h3>
<p>We suggest you download the prebuilt binary <code>cidlc(exe)</code> from <strong>
<a href="http://www.dre.vanderbilt.edu/cidlc/">here</a></strong> or, if you
are using Windows or Linux, you can build it by yourself.
</p>
<p><A href="../../MPC/README">MPC</A> is used to build the CIDL compiler on <strong>
Linux</strong>. The procedure is outlined below.
</p>
<ul>
<li>
Open up <code>$ACE_ROOT/bin/MakeProjectCreator/config/default.features</code>
and set cidl=1.
<li>
Open up <code>$ACE_ROOT/bin/MakeProjectCreator/config/global.features</code>
and set boost=1.
<li>
Make sure you set cidl=1, boost=1, and exceptions=1 in <code>$ACE_ROOT/include/makeinclude/platfrom_macros.GNU</code>.
<li>
Install <code>boost_filesystem</code>, <code>boost_regex</code> and <code>Utility
Library</code>. For how to do that please see <A href="./CCF/Documentation/Build.html">
Build.html</A>.
<li>
In <code>$CIAO_ROOT/CIDLC</code> run <code>$ACE_ROOT/bin/mwc.pl CIDLC.mwc -type gnuace</code>
<li>
In <code>$CIAO_ROOT/CIDLC</code> run <code>make</code>.<br>
Note: The linking time is a bit long (more than 5 Minutes with an Intel XEON
1.90GHZ CPU, please be patient).
</li>
</ul>
<p><A href="../../MPC/README">MPC</A> is used to build the CIDL compiler on <strong>
Windows</strong>. The procedure is outlined below.
</p>
<ul>
<li>
If you have not created it already, create the file <code>%ACE_ROOT%/bin/MakeProjectCreator/config/default.features</code>
and add <code>cidl=1</code> and <code>boost=1</code> to it, each on its own
line. An easy way to do this is to copy the file <code>global.features</code> (in the
same directory) as <code>default.features</code>
and modify the appropriate lines in the new file, leaving everything else the
same.
<li>
Install the <a href="http://www.boost.org">Boost</a>
libraries on your machine. For Windows, you can download either the
Windows-specific .exe file or the platform-independent .zip file. Use version
1.32.0 or later. The accompanying documentation on how to build and install
Boost is pretty straightforward.
<li>
Set the following environment variables:
<ul>
<li>
<code>ACE_ROOT</code>
- [path ending with ACE_wrappers directory] (this should already be
set if you're using CIAO)
<li>
<code>BOOST_CFG</code> - <code>_vc7_mdsd</code>
<li>
<code>BOOST_ROOT</code>
- [path ending with Boost directory]
<li>
<code>BOOST_VERSION</code> - [name of the directory under <code>%BOOST_ROOT%\include</code>,
for ex. <code>boost-1_32</code>, for Boost version 1.32.0]
</ul>
<li>
In <code>%CIAO_ROOT%\CIDLC</code> run <code>%ACE_ROOT%\bin\mwc.pl -type vc71
CIDLC.mwc</code>
<li>
Open <code>CIDLC.sln</code> and build as usual. Within the solution, the CIDLC
project is the top-level one, which depends on all the other projects, and
produces <code>cidlc.exe</code> in <code>%CIAO_ROOT%\bin</code>.
</li>
</ul>
<hr>
<h3>Obtaining and Installing Xerces-C
</h3>
<p>The Xerces-C XML parsing library is a necessary component to build parts of
DAnCE that need to process XML based descriptor files, which include the <b>Plan
Launcher</b> and the <b>Repository Manager</b>. Currently, the only Xerces-C
version supported by the DOC group is version 2.6 or later.
Earlier versions of the Xerces-C library may work.
</p>
<h4>Building Xerces-C
</h4>
<p>You may check <a href="http://www.dre.vanderbilt.edu/~wotte/xerces/">here</a> to
see if there is a prebuilt binary available for your platform. Otherwise, you
will have to obtain the source from the <a href="http://xml.apache.org/xerces-c/download.cgi">
Xerces-C webpage</a> and build it. Building Xerces-C is fairly
straightfoward. Please see the documentation available <a href="http://xml.apache.org/xerces-c/build.html">
here</a> for instructions particular to your platform.
</p>
<ul>
<li>
<strong>NOTE</strong>: Some of the provided projects with Xerces-C attach
inconsistant library decorators onto the end of the Xerces-C libraries. The MPC
build tool will expect these libraries to be named xerces-c for non debug
versions, and xerces-cd for debug versions.
</ul>
<h4>Xerces-C Environment Settings
</h4>
<p>If the Xerces includes and libraries are in your system include and library
paths, respectively, then you need not set up any environment and may proceed
to the next step. If not, you will need to set an environment variable named
XERCESCROOT to a path such that $XERCESCROOT/include points to the includes and
$XERCESCROOT/lib points to the libraries. Also make sure that $XERCESCROOT/lib
is in the appropriate environment variable that your platform uses to search
for dynamically linked libraries.
</p>
<hr>
<h3>Install CIAO core/tools/examples
</h3>
<p>Most of the GNUmakefiles/project files/solution files required to build CIAO
are available in the release. If you don't like the configurations used, please
feel free to regenerate them using MPC. Please see <A href="../../MPC/README">this</A>
for more details.
</p>
<p>To build CIAO core/tools/examples:
</p>
<ol>
<li>
Make sure ACE and TAO are built.
<li>
Make sure you have the Xerces-C libraries installed/built
<li>
Make sure all ACE/TAO/etc. generated libs are in <code>$ACE_ROOT/lib</code>. To
build CIAO you will need:
<ul>
<li>
<code>ACE</code>
<li>
<code>TAO</code>
<li>
<code>TAO_IDL</code>
<li>
<code>IFR_Client</code>
<li>
<code>IORTable</code>
<li>
<code>Valuetype</code>
<li>
<code>Security</code>
<li>
<code>ACEXML</code>
</li>
</ul>
<li>
Make sure you have cidlc or cidlc.exe in <code>$CIAO_ROOT\bin</code>
with the right permission setting (executable).
<li>
Generate the Makefile/Solution/Project files and build
<p>For the supported build tools please see <a href="http://downloads.ociweb.com/MPC/MakeProjectCreator.pdf">
MPC manual</a>.
</p>
<p>You have to execute the MPC command in the following directories if you only
want to build the examples and have a peek at CIAO:
</p>
<ul>
<li>
<code>$CIAO_ROOT/DAnCE/</code>
</li>
</ul>
<p>On <strong>Linux</strong>: do <code>$ACE_ROOT/bin/mwc.pl -type gnuace</code> at the
locations specified above then <code>make</code>.
</p>
<p>On <strong>Windows/VC71</strong>: do <code>%ACE_ROOT%/bin/mwc.pl -type vc71</code>
at the locations specified above then Open the solution file and build.
</p>
<p><strong>Note:</strong> You can run <code>mwc.pl</code> at <code>$CIAO_ROOT</code>
as long as you don't intend to build CIDL compiler with MPC. If this is the
case(default), you can run the mwc.pl command with proper augment once then you
can do <code>make</code> at <code>$CIAO_ROOT</code> (Linux) or open the
workspace/solution file at <code>$CIAO_ROOT</code> (Windows) to build.
</p>
</li>
</ol>
<strong>Building CIAO quickly</strong> : You can build CIAO quickly by doing
the following:
<ul class="noindent">
<li>
Remove all the GNUmakefiles or project files that are shipped with the release.
<li>
Open up <code>$CIAO_ROOT/CIAO_TAO.mwc</code>
.
<li>
Run <code>$ACE_ROOT/bin/mwc.pl CIAO_TAO.mwc -type gnuace</code> from <code>$CIAO_ROOT</code>
.
<li>
Type 'make'
<li style="LIST-STYLE-TYPE: none">
This will build all the required ACE+TAO libraries including CIAO libraries and
tools.
</li>
</ul>
<hr>
<p>Back to the <a href="http://www.cs.wustl.edu/~schmidt/CIAO.html">CIAO</a> home
page. <!--#include virtual="/~schmidt/cgi-sig.html" --></p>
</body>
</html>
|