forked from RedhawkSDR/Documentation
-
Notifications
You must be signed in to change notification settings - Fork 0
/
mainap4.html
248 lines (240 loc) · 11.4 KB
/
mainap4.html
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
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html >
<head><title>D Building the REDHAWK Framework from Source</title>
<meta http-equiv="Content-Type" content="text/html; charset="utf-8"">
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)">
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)">
<!-- html,2,next,javascript,charset="utf-8" -->
<meta name="src" content="main.tex">
<link rel="stylesheet" type="text/css" href="main.css">
<script type="text/javascript" src="scripts/shCore.js"></script>
<script type="text/javascript" src="scripts/shBrushCpp.js"></script>
<script type="text/javascript" src="scripts/shBrushJava.js"></script>
<script type="text/javascript" src="scripts/shBrushPython.js"></script>
<script type="text/javascript" src="scripts/shBrushBash.js"></script>
<script type="text/javascript" src="scripts/shBrushXml.js"></script>
<link href="styles/shCore.css" rel="stylesheet" type="text/css" />
<link href="styles/shThemeDefault.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
SyntaxHighlighter.all()
</script>
</head><body
>
<link rel="icon" type="image/png" href="images/RedHawk_Logo16x.gif">
<script>
function f() {
document.getElementById('main_content_wrap').focus();
}
if (window.addEventListener) {
window.addEventListener("load", f, false);
} else if (window.attachEvent) {
window.attachEvent("onload", f);
}
</script>
<div class="header">
<ul class="navbar">
<li><a class="logo-small" href="index.html"><img src="images/RedHawk_Logo_ALT_B_121px.png"/></a></li> <li><a href="index.html">Home</a></li>
<li><a href="gettingstarted/main.html">Getting Started</a></li>
<li><a class="active" href="main.html">Documentation</a></li>
<li><a href="download.html">Download</a></li>
<li><a href="community.html">Community</a></li>
</ul>
<div class="pattern right"></div>
<a id="forkme_banner" href="https://github.com/redhawksdr">View on GitHub</a>
<noscript><div class ="NoScript">WARNING: JAVASCRIPT is not enabled. JAVASCRIPT is required for viewing code snippets.</div></noscript>
</div>
<!-- Custom MAIN CONTENT -->
<div id="main_content_wrap" tabindex="0" class="outer">
<section id="main_content" class="inner">
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="mainap5.html" >next</a>] [<a
href="mainap3.html" >prev</a>] [<a
href="mainap3.html#tailmainap3.html" >prev-tail</a>] [<a
href="#tailmainap4.html">tail</a>] [<a
href="main.html#mainap4.html" >up</a>] </p></div>
<h2 class="appendixHead"><span class="titlemark">Appendix D</span><br /><a
id="x30-413000D"></a>Building the REDHAWK Framework from Source</h2>
<h3 class="sectionHead"><span class="titlemark">D.1 </span> <a
id="x30-414000D.1"></a>Installing build dependencies</h3>
<!--l. 5--><p class="noindent" >Building REDHAWK from source requires a few additional dependencies beyond those
required to run Redhawk. The following procedure explains how to build REDHAWK from
source.
<!--l. 7--><p class="noindent" >
<ol class="enumerate1" >
<li
class="enumerate" id="x30-414002x1">First, install the dependencies in <a
href="mainch2.html#x4-90002.3">Section 2.3</a>.
</li>
<li
class="enumerate" id="x30-414004x2">Next, if building on Red Hat/CentOS 5, enter the following commands:
<div class="minipage"><script type="syntaxhighlighter" class="brush: bash"><![CDATA[
$ sudo yum install e2fsprogs-devel \
boost141-devel \
autoconf automake libtool \
expat-devel \
java-devel \
python-devel \
xsd
]]></script></div>
</li>
<li
class="enumerate" id="x30-414006x3">If building on Red Hat/CentOS 6, enter the following commands:
<div class="minipage"><script type="syntaxhighlighter" class="brush: bash"><![CDATA[
$ sudo yum install libuuid-devel \
boost-devel \
autoconf automake libtool \
expat-devel \
java-devel \
python-devel \
log4cxx-devel \
xsd
]]></script></div>
</li></ol>
<!--l. 37--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">D.2 </span> <a
id="x30-415000D.2"></a>Installing the Framework from Source</h3>
<!--l. 39--><p class="noindent" >In order to install the Core Framework from source, the <span
class="ectt-1200">redhawk-src-1.9.0.tar.gz </span>must be
downloaded.
<!--l. 41--><p class="noindent" >Installing from source provides the advantage of allowing the user to set a variety of compile-time
configuration options, including:
<ul class="itemize1">
<li class="itemize">Disable log4cxx support
</li>
<li class="itemize"><span
class="ectt-1200">--disable-log4cxx</span>
</li>
<li class="itemize">Enable LOG_TRACE statements
</li>
<li class="itemize"><span
class="ectt-1200">--enable-trace</span>
</li>
<li class="itemize">Enable persistence support:
</li>
<li class="itemize"><span
class="ectt-1200">--enable-persistence=<persist_type></span>
</li>
<li class="itemize"> <span
class="ectt-1200">(Support types: bdb, gdbm, sqlite, none)</span>
</li>
<li class="itemize">Disable framework java support:
</li>
<li class="itemize"><span
class="ectt-1200">--disable-java</span>
</li>
<li class="itemize">Change the ossie root directory
</li>
<li class="itemize"><span
class="ectt-1200">--with-ossie=<dir></span>
</li>
<li class="itemize">Change the SDR root directory
</li>
<li class="itemize"><span
class="ectt-1200">--with-sdr=<dir></span></li></ul>
<!--l. 59--><p class="noindent" >To compile the source, execute the following commands (and put any configuration arguments to
be used after the <span
class="ectt-1200">./configure </span>command):
<div class="minipage"><script type="syntaxhighlighter" class="brush: bash"><![CDATA[
$ tar -xvf redhawk-src-1.9.0.tar.gz
$ cd redhawk-src-1.9.0/redhawk-1.9.0/src
$ ./reconf
$ ./configure <options>
$ make
$ make install
]]></script></div>
<!--l. 70--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">D.3 </span> <a
id="x30-416000D.3"></a>Setting Environment Variables</h3>
<!--l. 72--><p class="noindent" >The environment variables <span
class="ectt-1200">SDRROOT </span>and <span
class="ectt-1200">OSSIEHOME </span>must be set in order to run REDHAWK.
<span
class="ectt-1200">OSSIEHOME </span>points to the location of installed libraries, header files, and executables. <span
class="ectt-1200">SDRROOT </span>is the
installation target of user-developed resources (e.g., <a
href="mainli2.html#glo:component">Components</a> and <a
href="mainli2.html#glo:waveformapplication">Waveforms</a>), which implies
that the developer must have write permissions to <span
class="ectt-1200">SDRROOT </span>and its subdirectories. For convenience,
a user may add three lines to their <span
class="cmsy-10x-x-120">~</span><span
class="ectt-1200">/.bashrc </span>file (default <span
class="ectt-1200">SDRROOT </span>and <span
class="ectt-1200">OSSIEHOME </span>directories
used):
<div class="minipage"><script type="syntaxhighlighter" class="brush: bash"><![CDATA[
export SDRROOT=/var/redhawk/sdr
export OSSIEHOME=/usr/local/redhawk/core
export PYTHONPATH=$OSSIEHOME/lib/python:$PYTHONPATH
]]></script></div>
<!--l. 83--><p class="noindent" ><div class="admonition block note block-indent"><div class="note-inner"><p class="para block block-first"> The terminal must be restarted for the changes to <span
class="cmsy-10x-x-120">~</span><span
class="ectt-1200">/.bashrc </span>to take effect. </p></div></div>
<!--l. 87--><p class="noindent" >
<h3 class="sectionHead"><span class="titlemark">D.4 </span> <a
id="x30-417000D.4"></a>Modifying the Python parsers</h3>
<!--l. 88--><p class="noindent" >The files <span
class="ectt-1200">dcd.py</span>, <span
class="ectt-1200">dmd.py</span>, <span
class="ectt-1200">dpd.py</span>, <span
class="ectt-1200">prf.py</span>, <span
class="ectt-1200">profile.py</span>, <span
class="ectt-1200">sad.py</span>, <span
class="ectt-1200">scd.py</span>, and <span
class="ectt-1200">spd.py </span>are
generated with a tool called generateDS. If the xsd is modified, then these files must be
re-generated. Unlike in C++, this process is not tied into autoconf, so the integration process of
the newly generated files is manual (generate the new Python files and over-write the existing
ones). Furthermore, due to some aspects of the generated code, namely that some attributes are
mapped to Python reserved words along with other minor issues, the generated files must be
hand-modified to work with REDHAWK. These are the modifications that must be
made:
<ul class="itemize1">
<li class="itemize">Change every constructor attribute <span
class="ectt-1200">id </span>to <span
class="ectt-1200">id_</span>
</li>
<li class="itemize">Change every member variable <span
class="ectt-1200">id </span>to <span
class="ectt-1200">id_</span>
</li>
<li class="itemize">Change the class <span
class="ectt-1200">range </span>to <span
class="ectt-1200">range_</span>. Make sure to also update the name where the class
is instantiated
</li>
<li class="itemize">In the <span
class="ectt-1200">buildChildren </span>function of the <span
class="ectt-1200">values </span>class in <span
class="ectt-1200">prf.py</span>, add
the following code before <span
class="ectt-1200">value_ </span>is appended to the member list <span
class="ectt-1200">value</span>
<div class="minipage"><script type="syntaxhighlighter" class="brush: python"><![CDATA[
if value_ == None:
value_ =
]]></script></div>
</li>
<li class="itemize">In the 1.8 series only, invoke the <span
class="ectt-1200">unlink </span>function on the object <span
class="ectt-1200">doc </span>in the <span
class="ectt-1200">parse</span>,
<span
class="ectt-1200">parseLiteral</span>, and <span
class="ectt-1200">parseString </span>functions before <span
class="ectt-1200">doc </span>is set to <span
class="ectt-1200">None</span></li></ul>
<!--l. 1--><div class="crosslinks"><p class="noindent">[<a
href="mainap5.html" >next</a>] [<a
href="mainap3.html" >prev</a>] [<a
href="mainap3.html#tailmainap3.html" >prev-tail</a>] [<a
href="mainap4.html" >front</a>] [<a
href="main.html#mainap4.html" >up</a>] </p></div>
<!--l. 1--><p class="noindent" ><a
id="tailmainap4.html"></a>
<div class=license>
<hr>
<a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US"><img alt="Creative Commons License" style="border-width:0" src="http://i.creativecommons.org/l/by-sa/3.0/80x15.png" /></a><br /><span xmlns:dct="http:// purl.org/dc/terms/" property="dct:title">REDHAWK Documentation</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-sa/3.0/deed.en_US">Creative Commons Attribution-ShareAlike 3.0 Unported License</a>.
</div></section></div>
</body></html>