-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
174 lines (146 loc) · 8.13 KB
/
README
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
The authors wish to thank the Army Research Laboratory for sponsoring
this work.
--------------------------------------------------------------------------
Prepared through collaborative participation in the Communications and
Networks Consortium sponsored by the U. S. Army Research Laboratory
under the Collaborative Technology Alliance Program, Cooperative
Agreement DAAD19-01-2-0011. The U.S. Government is authorized to
reproduce and distribute reprints for Government purposes
notwithstanding any copyright notation thereon.
The views and conclusions contained in this document are those of the
authors and should not be interpreted as representing the official
policies, either expressed or implied, of the Army Research Laboratory
or the U. S. Government.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Copyright 2009 SPARTA, Inc., dba Cobham Analytic Solutions
This file is part of WATCHER.
WATCHER is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
WATCHER is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with Watcher. If not, see <http://www.gnu.org/licenses/>.
--------------------------------------------------------------------------
Note: if you build yaml-cpp from source, the include paths differ. To build watcher
with a locally build yaml-cpp, put the following in your build environment before
./configuring:
export LIBYAML_CFLAGS='-I/usr/local/include/yaml-cpp'
Build on Ubuntu 10.04 STD
-------------------------
sudo apt-get update
sudo apt-get -y install pkg-config liblog4cxx10 liblog4cxx10-dev libconfig++8 libconfig++8-dev
cd ./src/logger
./autogen.sh
./autoreconf -iv
./configure
make
sudo make install
cd ..
./autogen.sh
# on a test node:
./configure --enable-testnodeonly
make -j4
sudo make install
# on a server node:
./configure --enable-earthWatcher --enable-dataWatcher
sudo make install
# on a console
sudo apt-get -y install libqt4-dev freeglut3-dev # legacy watcher
sudo apt-get -y install liburiparser-dev # earth watcher
sudo apt-get -y install libkml-dev
sudo apt-get -y install libqwt5-qt4-dev # data watcher
./configure --enable-earthWatcher --enable-legacyWatcher --enable-dataWatcher
make -C clients/earthWatcher/
pushd clients/dataWatcher/
make
popd
# For an "untarrable" installation:
./configure [args] --prefix /tmp/watcher
make && make install
pushd /tmp/watcher
tar zcvf ~/watcher.install.tgz lib bin
To build:
---------
There are a few options to ./configure that control what gets built:
--enable-testnodeonly only configure and build test node components
No GUI is built, just test node watcher feeders
--enable-ogreWatcher enable compilation of ogreWatcher, a prototype
GUI written using the OGRE framework.
--enable-watcher3d enable compilation of watcher3d GUI, a prototype
based on the Delta-3D engine. May not build.
--enable-earthWatcher enable compilation of earthWatcher, a command line
daemon that feeds watcher data to GoogleEarth via
a KML file.
--enable-legacyWatcher enable a build with the Qt-based geographical GUI
--enable-hierarchy_client enable compilation of hierarchy_client,
a test node daemon that handles watcher hierarchy
messages. If you aren't using the dynamic hierachy,
you don't want this.
Build on Fedora 16
------------------
sudo yum install -y log4cxx-devel libconfig-devel libkml-devel sqlite-devel uriparser-devel qt4-devel boost-devel qwt-devel
rm ./src/aclocal/ax_boost*
edit and comment out lines starting with AX_BOOST in ./src/configure.ac
# build logger lib
cd src/logger
./autogen.sh
./configure
make && sudo make install
# logger supports pkg_config and installs to /usr/local/lib/pkgconfig
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
# build watcherlib and watcherd
cd ..
./configure --enable-earthWatcher --enable-legacyWatcher --enable-dataWatcher
Build Generic
-------------
./autogen.sh
./configure --enable-earthWatcher
make
# optional
make doc
# To make the make GUI (legacyWatcher)
cd clients/legacyWatcher
qmake-qt4 (or just qmake if only qt4 is installed on your machine)
make
Look in ./src/doc for User's Guide and ./doc for doxygen generated dev docs.
Look in ./src/watcherd for the watcher daemon and ./src/clients/legacyWatcher
for the watcher GUI (or one of them anyway).
NOTE for 64 BIT: when configuring, pass the location of the 64 bit boost libs by
using --with-boost-libdir=/usr/lib64. i.e. ./configure ... --with-boost-libdir=/usr/lib64
If building OGRE the following packages are needed (for 64 bit machines):
======================================================================================================================================
Package Arch Version Repository Size
======================================================================================================================================
Installing:
ogre x86_64 1.6.4-1.fc12 fedora 1.9 M
ogre-devel x86_64 1.6.4-1.fc12 fedora 492 k
ogre-devel-doc x86_64 1.6.4-1.fc12 fedora 6.3 M
ogre-samples x86_64 1.6.4-1.fc12 fedora 17 M
Installing for dependencies:
DevIL x86_64 1.7.8-4.fc12 updates 252 k
SILLY x86_64 0.1.0-7.fc12 fedora 18 k
cegui x86_64 0.6.2-4.fc12 fedora 790 k
cegui-devel x86_64 0.6.2-4.fc12 fedora 213 k
freeimage x86_64 3.10.0-3.fc12 fedora 209 k
glew x86_64 1.5.1-3.fc12 fedora 109 k
ois x86_64 1.0-6.fc12 fedora 38 k
tinyxml x86_64 2.5.3-5.fc12 fedora 47 k
tolua++ x86_64 1.0.92-9.fc12 fedora 39 k
xerces-c x86_64 2.8.0-5.fc12 fedora 934 k
zziplib x86_64 0.13.49-8.fc12 fedora 64 k
The yum command is:
sudo yum install ogre.x86_64 ogre-devel.x86_64 ogre-devel-doc.x86_64 ogre-samples.x86_64 ois.x86_64 ois-devel.x86_64 ogre-cg.x86_64 ogre-devel.x86_64
(for 32 bit use the i686 versions instead).
For building earthWatcher you need:
- libkml
- uriparser
yum install uriparser.x86_64 uriparser-devel.x86_64 libkml.x86_64 libkml-devel.x86_64
In order to find the libkml libs on 64 bit you must set LDFLAGS="-L[path-to-libkml]", then
put that same directoty path into a file in /etc/ld.so.conf.d/libkml-x86_64.conf and rerun
ldconfig as root.
For building the legacyWatcher GUI you need libqwt, Qt, and other things. :)