| 1 | % ------------------------------------------------------------------ |
|---|
| 2 | % |
|---|
| 3 | % TITLE: OSSIE 0.8.1 Installation Guide |
|---|
| 4 | % AUTHORS: Mike Ekoniak, Matt Carrick, Drew Cormier, Christopher Covington, |
|---|
| 5 | % Carl B. Dietrich, Joseph Gaeddert, Benjamin Hilburn, |
|---|
| 6 | % C. Ian Phelps, Shereef Sayed, Jason Snyder, Haris Volos |
|---|
| 7 | % CREATED: |
|---|
| 8 | % REVISED: |
|---|
| 9 | % URL: http://ossie.wireless.vt.edu/ |
|---|
| 10 | % |
|---|
| 11 | % ------------------------------------------------------------------ |
|---|
| 12 | |
|---|
| 13 | \newpage |
|---|
| 14 | \section{Installation} |
|---|
| 15 | \label{section:installation} |
|---|
| 16 | For users that do not have access to a Linux system, or are unfamiliar with Linux, we recommend |
|---|
| 17 | that you use our pre-built VMWare images. These images have OSSIE pre-installed on them, and are |
|---|
| 18 | ready to use out-of-the-box. Using an OSSIE VMware image is described in |
|---|
| 19 | Section~\ref{section:installation:vmware}. |
|---|
| 20 | |
|---|
| 21 | % NOTE: We lack yum install at the moment |
|---|
| 22 | |
|---|
| 23 | % For most users on Fedora systems, installing OSSIE and its dependencies via yum is the best |
|---|
| 24 | % route. The only reason not to install via yum is if you plan on doing active |
|---|
| 25 | % development \emph{on} OSSIE, and need access to the source code. Note that this |
|---|
| 26 | % does not include application/waveform developers who are developing \emph{with} |
|---|
| 27 | % OSSIE, as they do not need access to the OSSIE source code. |
|---|
| 28 | |
|---|
| 29 | Although we do not yet provide and support binary installation packages for more Linux |
|---|
| 30 | distributions, compiling OSSIE from source on them should be possible. |
|---|
| 31 | |
|---|
| 32 | To install OSSIE from source, follow the below instructions to install the OSSIE dependencies, |
|---|
| 33 | and then compile and install the source code. |
|---|
| 34 | |
|---|
| 35 | % \subsection{Installing OSSIE via Yum} |
|---|
| 36 | % \label{section:installation:yum} |
|---|
| 37 | |
|---|
| 38 | % Note: At the time this guide was compiled, the latest version of OSSIE available by Yum was 0.7.0. Version 0.7.1 is expected to be available by Yum in late 2008 or early 2009. |
|---|
| 39 | |
|---|
| 40 | % \subsubsection{Add OSSIE Repository to Yum} |
|---|
| 41 | % \label{section:installation:yum:ossierepo} |
|---|
| 42 | % In order to install OSSIE via the YUM repository, you must first edit your `/etc/yum.conf' to |
|---|
| 43 | % add the OSSIE repository to the YUM search list. In this example, we use {\tt nano}, but you may use |
|---|
| 44 | % whatever editor you wish ({\tt vim}, {\tt emacs}, etc). Unless your nanorc has already been configured to not |
|---|
| 45 | % wrap lines, the `-w' flag is necessary to prevent {\tt nano} from adding line breaks to the file. |
|---|
| 46 | % \begin{lstlisting}[] |
|---|
| 47 | % $ su - |
|---|
| 48 | % # nano -w /etc/yum.conf |
|---|
| 49 | % \end{lstlisting} |
|---|
| 50 | % Add the following lines at the bottom of the file: |
|---|
| 51 | % \begin{lstlisting}[] |
|---|
| 52 | % [ossie-vt] |
|---|
| 53 | % name = OSSIE-VT |
|---|
| 54 | % baseurl=http://ossie.wireless.vt.edu/yum/ossie-vt/ |
|---|
| 55 | % gpgcheck=0 |
|---|
| 56 | % \end{lstlisting} |
|---|
| 57 | % Now update your system. This will refresh your yum package cache. It is also always smart to have |
|---|
| 58 | % a fully updated system before installing new software anyways. |
|---|
| 59 | % \begin{lstlisting}[] |
|---|
| 60 | % # yum update |
|---|
| 61 | % \end{lstlisting} |
|---|
| 62 | % |
|---|
| 63 | % \subsubsection{Install OSSIE} |
|---|
| 64 | % \label{section:installation:yum:installviayum} |
|---|
| 65 | % Now install OSSIE and its dependencies via yum by typing: |
|---|
| 66 | % \begin{lstlisting}[] |
|---|
| 67 | % # yum install ossie |
|---|
| 68 | % # exit |
|---|
| 69 | % \end{lstlisting} |
|---|
| 70 | |
|---|
| 71 | % Congratulations! You should now have a fully-operable OSSIE installation. |
|---|
| 72 | |
|---|
| 73 | \subsection{Installing OSSIE from Source} |
|---|
| 74 | \label{section:installation:source} |
|---|
| 75 | |
|---|
| 76 | \subsubsection{Notes on OSSIE Installation from Source} |
|---|
| 77 | \label{section:installation:source:notesonsource} |
|---|
| 78 | This section assumes that the user is familiar with basic |
|---|
| 79 | Linux commands such as {\tt cd} and {\tt ls}. |
|---|
| 80 | Commands run with root permissions are prefixed with {\tt \#}, while others |
|---|
| 81 | are prefixed with {\tt \$}. |
|---|
| 82 | |
|---|
| 83 | OSSIE depends on the following software packages: |
|---|
| 84 | \begin{itemize} |
|---|
| 85 | \item Boost - a C++ library of common mechanisms |
|---|
| 86 | \item omniORB - a CORBA implementation |
|---|
| 87 | \item omniORBpy - a Python interface for omniORB, necessary for the OSSIE tools and components |
|---|
| 88 | \item wxPython - a Python interface for the wxWidgets graphical library, used by the OSSIE tools |
|---|
| 89 | \item numpy - a Python numerical library used by the OSSIE tools |
|---|
| 90 | \end{itemize} |
|---|
| 91 | |
|---|
| 92 | If you have an older version of OSSIE installed, then you will need to delete the contents of {\tt /sdr/}. |
|---|
| 93 | \begin{lstlisting}[] |
|---|
| 94 | $ rm -rf /sdr/* |
|---|
| 95 | \end{lstlisting} |
|---|
| 96 | |
|---|
| 97 | % OSSIE \ossieversion\ is packaged with a convenient Python script called {\tt build.py} to automatically |
|---|
| 98 | % configure and build the packages necessary for the framework, tools, and other |
|---|
| 99 | % libraries. Use of this script is not mandatory, and you can manually compile and install all/part of |
|---|
| 100 | % OSSIE as you wish. |
|---|
| 101 | |
|---|
| 102 | \subsubsection{Installing Dependencies on Fedora} |
|---|
| 103 | \label{section:installation:source:dependencies:fedora} |
|---|
| 104 | On Fedora systems, the dependencies can be installed via {\tt yum}. |
|---|
| 105 | % |
|---|
| 106 | % First, add the OSSIE yum repository to your yum.conf. This is described in |
|---|
| 107 | % Section~\ref{section:installation:yum:ossierepo} |
|---|
| 108 | % |
|---|
| 109 | This is the entire dependency list, so some of these packages may already be installed. |
|---|
| 110 | \begin{lstlisting}[] |
|---|
| 111 | # yum -y install wxPython wxPython-devel numpy \ |
|---|
| 112 | rpm-build cabextract glibc-devel \ |
|---|
| 113 | python-devel openssl-devel gcc gcc-c++ libtool |
|---|
| 114 | \end{lstlisting} |
|---|
| 115 | |
|---|
| 116 | We recommend installing omniORB and omniORBpy from source. |
|---|
| 117 | \begin{lstlisting}[] |
|---|
| 118 | $ wget http://omniorb.sourceforge.net/releases/omniORB-4.1.4.tar.gz |
|---|
| 119 | $ wget http://omniorb.sourceforge.net/releases/omniORBpy-3.4.tar.gz |
|---|
| 120 | $ tar -xvf omniORB-4.1.4.tar.gz |
|---|
| 121 | $ tar -xvf omniORBpy-3.4.tar.gz |
|---|
| 122 | $ cd omniORB-4.1.4/ |
|---|
| 123 | $ mkdir build |
|---|
| 124 | $ cd build |
|---|
| 125 | $ ../configure |
|---|
| 126 | $ make |
|---|
| 127 | $ sudo make install |
|---|
| 128 | $ cd ../../omniORBpy-3.4/ |
|---|
| 129 | $ mkdir build |
|---|
| 130 | $ cd build |
|---|
| 131 | $ ./configure |
|---|
| 132 | $ make |
|---|
| 133 | $ sudo make install |
|---|
| 134 | \end{lstlisting} |
|---|
| 135 | |
|---|
| 136 | If you plan on using GNURadio 3.2 or higher, or the USRP2, as part of your work, then you will need to install Boost v1.35 or higher. |
|---|
| 137 | Currently, Fedora and Ubuntu do not ship with this version, so you will need to install it. |
|---|
| 138 | Whether you are using Fedora or Ubuntu, we recommend that you install Boost from source. Download Boost from |
|---|
| 139 | \href{http://sourceforge.net/projects/boost/files/boost/1.37.0/boost\_1\_37\_0.tar.bz2/download}{http://sourceforge.net/projects/boost/} and unpack {\tt boost\_1\_37\_0.tar.bz2}. |
|---|
| 140 | \begin{lstlisting}[] |
|---|
| 141 | $ wget http://sourceforge.net/projects/boost/files/boost/1.37.0/ \ |
|---|
| 142 | boost_1_37_0.tar.bz2/download |
|---|
| 143 | $ tar -xvf boost_1_37_0.tar.bz2 |
|---|
| 144 | $ cd boost_1_37_0/ |
|---|
| 145 | $ ./configure --prefix=/usr/ |
|---|
| 146 | $ make |
|---|
| 147 | $ sudo make install |
|---|
| 148 | \end{lstlisting} |
|---|
| 149 | |
|---|
| 150 | If you are using Fedora Core 10 or higher, you will need to download the RPM for the SDL library in order to user the JPEGVideoViewer component. |
|---|
| 151 | \begin{lstlisting}[] |
|---|
| 152 | $ wget http://www.libsdl.org/release/SDL-devel-1.2.13-1.i386.rpm |
|---|
| 153 | $ rpm -Ui SDL-devel-1.2.13-1.i386.rpm |
|---|
| 154 | \end{lstlisting} |
|---|
| 155 | % |
|---|
| 156 | % Now move onto Section~\ref{section:installation:source:dependencies:gnuradio} |
|---|
| 157 | % |
|---|
| 158 | \subsubsection{Installing Dependencies on Ubuntu} |
|---|
| 159 | \label{section:installation:dependencies:ubuntu} |
|---|
| 160 | |
|---|
| 161 | This is the entire dependency list, so some of these packages may already be installed. |
|---|
| 162 | Install all of the following packages: |
|---|
| 163 | \begin{lstlisting}[] |
|---|
| 164 | $ sudo aptitude install gcc build-essential |
|---|
| 165 | $ sudo aptitude -y install omniorb4 libomniorb4-dev omniidl4-python \ |
|---|
| 166 | omniorb4-nameserver python-omniorb2 libgtk2.0-dev freeglut3-dev \ |
|---|
| 167 | python-wxgtk2.8 python-wxversion python-wxtools python-numpy \ |
|---|
| 168 | python-numpy-ext python-numpy-dev g++ automake libtool subversion \ |
|---|
| 169 | python-dev fftw3-dev libcppunit-dev libboost-dev sdcc libusb-dev |
|---|
| 170 | libasound2-dev libsdl1.2-dev guile-1.8 libqt3-mt-dev swig \ |
|---|
| 171 | python-profiler automake1.9 python2.5-dev sdcc-nf guile-1.8-dev \ |
|---|
| 172 | libqt4-dev ccache python-opengl libgsl0-dev python-lxml \ |
|---|
| 173 | doxygen qt4-dev-tools libqwt5-qt4-dev libqwtplot3d-qt4-dev |
|---|
| 174 | \end{lstlisting} |
|---|
| 175 | |
|---|
| 176 | \subsubsection{Configure omniORB} |
|---|
| 177 | \label{section:installation:source:dependencies:configomni} |
|---|
| 178 | omniORB must be configured through the modification of a file. This file may be either \\ |
|---|
| 179 | {\tt /etc/omniORB.cfg} or {\tt /etc/omniORB4.cfg}, depending on the |
|---|
| 180 | version of the omniORB dependency. If the file is not found, copy |
|---|
| 181 | {\tt sample.cfg} from the omniORB-4.1.4 directory and rename it. |
|---|
| 182 | \begin{lstlisting}[] |
|---|
| 183 | $ cd omniORB-4.1.4 |
|---|
| 184 | # cp sample.cfg /etc/ |
|---|
| 185 | # mv /etc/sample.cfg /etc/omniORB.cfg |
|---|
| 186 | \end{lstlisting} |
|---|
| 187 | Open the file as root, and search for the following line: |
|---|
| 188 | \begin{lstlisting}[] |
|---|
| 189 | InitRef = NameService=corbaname::my.host.name |
|---|
| 190 | \end{lstlisting} |
|---|
| 191 | Uncomment the line by deleting the pound or hash character `\#' and change |
|---|
| 192 | it to: |
|---|
| 193 | \begin{lstlisting}[] |
|---|
| 194 | InitRef = NameService=corbaname::127.0.0.1 |
|---|
| 195 | \end{lstlisting} |
|---|
| 196 | Before running the framework you will need to start the naming service. If you |
|---|
| 197 | installed omniORB from source, you have to follow the instructions in |
|---|
| 198 | Appendix~\ref{appendix:omninamessh}. When installing from yum |
|---|
| 199 | {\tt omniNames} will automatically start when you restart your machine. Refer |
|---|
| 200 | to Appendix~\ref{appendix:services} for instructions on how to start the |
|---|
| 201 | omniNames service without restarting your machine or set whether the service |
|---|
| 202 | starts automatically at boot. |
|---|
| 203 | \footnote{You may also manually start a source-compiled tarball package of |
|---|
| 204 | omniNames {\tt omniNames} with the script described in |
|---|
| 205 | Appendix~\ref{appendix:omninamessh}} |
|---|
| 206 | |
|---|
| 207 | At this time it is a good idea to restart your machine. |
|---|
| 208 | |
|---|
| 209 | \subsubsection{Installing Portions of GNU Radio} |
|---|
| 210 | \label{section:installation:source:dependencies:gnuradio} |
|---|
| 211 | OSSIE uses a small subset of GNU Radio to communicate with and configure the USRP. The |
|---|
| 212 | following steps will walk through installing portions of GNU Radio. OSSIE provides support |
|---|
| 213 | for both the USRP and USRP2. If you would like to use the USRP2, then you will need to |
|---|
| 214 | install GNURadio v3.2; otherwise, GNURadio v3.1 will work fine. |
|---|
| 215 | |
|---|
| 216 | First, we must install the GNU Radio firmware that can communicate with the USRP. |
|---|
| 217 | |
|---|
| 218 | If you are using Fedora 11, or Fedora 10 or lower and would like to use GNURadio v3.1, then: |
|---|
| 219 | \begin{lstlisting}[] |
|---|
| 220 | # yum install usrp-devel |
|---|
| 221 | \end{lstlisting} |
|---|
| 222 | |
|---|
| 223 | If you are using Ubuntu, and would like to use GNURadio v3.1 then: |
|---|
| 224 | \begin{lstlisting}[] |
|---|
| 225 | $ sudo apt-get install usrp-firmware |
|---|
| 226 | \end{lstlisting} |
|---|
| 227 | |
|---|
| 228 | If you would like to use GNURadio v3.2, and do not have Fedora 11 installed, |
|---|
| 229 | then you must install from source: |
|---|
| 230 | \begin{lstlisting}[] |
|---|
| 231 | $ wget ftp://ftp.gnu.org/gnu/gnuradio/gnuradio-3.2.2.tar.gz |
|---|
| 232 | $ tar -xvf gnuradio-3.2.2.tar.gz |
|---|
| 233 | $ cd gnuradio-3.2.2/ |
|---|
| 234 | $ ./configure |
|---|
| 235 | $ make |
|---|
| 236 | $ sudo make install |
|---|
| 237 | \end{lstlisting} |
|---|
| 238 | |
|---|
| 239 | % First, GNU Radio's dependencies must be installed. If you are using Ubuntu and followed |
|---|
| 240 | % the instructions for installing the dependencies, skip down to checking out the source |
|---|
| 241 | % code from the GNU Radio Subversion repository. If you are installing on Fedora 9, |
|---|
| 242 | % proceed with the following directions. |
|---|
| 243 | |
|---|
| 244 | % Install the Engineering and Scientific packages as well as the Software Development |
|---|
| 245 | % packages as root entering the command: |
|---|
| 246 | |
|---|
| 247 | % \begin{lstlisting}[] |
|---|
| 248 | % # yum groupinstall "Engineering and Scientific" "Development Tools" |
|---|
| 249 | % \end{lstlisting} |
|---|
| 250 | |
|---|
| 251 | % Additional utilities such as the FFT library and the CPP Test Framework must also be |
|---|
| 252 | % installed. As root, enter the following command |
|---|
| 253 | |
|---|
| 254 | % \begin{lstlisting}[] |
|---|
| 255 | % # yum install fftw-devel cppunit-devel wxPython-devel libusb-devel \ |
|---|
| 256 | % guile boost-devel alsa-lib-devel numpy |
|---|
| 257 | % \end{lstlisting} |
|---|
| 258 | |
|---|
| 259 | % The Small Device C Compiler, SDCC, must be installed: |
|---|
| 260 | |
|---|
| 261 | % \begin{lstlisting}[] |
|---|
| 262 | % # yum install sdcc |
|---|
| 263 | % \end{lstlisting} |
|---|
| 264 | |
|---|
| 265 | % The path for the SDCC must be set. Open the .bashrc file and add the path to the end |
|---|
| 266 | % of the file. To open the file, enter the command: |
|---|
| 267 | |
|---|
| 268 | % \begin{lstlisting}[] |
|---|
| 269 | % $ vim ~/.bashrc |
|---|
| 270 | % \end{lstlisting} |
|---|
| 271 | |
|---|
| 272 | % Add the following path to the end of the file: |
|---|
| 273 | % \begin{lstlisting}[] |
|---|
| 274 | % export PATH=/usr/libexec/sdcc:$PATH |
|---|
| 275 | % \end{lstlisting} |
|---|
| 276 | |
|---|
| 277 | % At this point, all of the GNU Radio dependencies have been installed. Now, the GNU Radio |
|---|
| 278 | % software must be installed. |
|---|
| 279 | |
|---|
| 280 | % Download the GNU Radio source code by entering the command: |
|---|
| 281 | % \begin{lstlisting}[] |
|---|
| 282 | % $ svn co http://gnuradio.org/svn/gnuradio/branches/releases/3.1 gnuradio |
|---|
| 283 | % \end{lstlisting} |
|---|
| 284 | |
|---|
| 285 | % Move into the {\tt gnuradio} directory and start building the source code by entering the |
|---|
| 286 | % following commands: |
|---|
| 287 | |
|---|
| 288 | % \begin{lstlisting}[] |
|---|
| 289 | % $ cd gnuradio/ |
|---|
| 290 | % $ ./bootstrap |
|---|
| 291 | % $ ./configure --disable-all-components --enable-gnuradio-core \ |
|---|
| 292 | % --enable-usrp --enable-gr-usrp --enable-omnithread |
|---|
| 293 | % \end{lstlisting} |
|---|
| 294 | |
|---|
| 295 | % This sets up the install to only build resources for the USRP which OSSIE requires. |
|---|
| 296 | % Compile the source code by entering the command: |
|---|
| 297 | |
|---|
| 298 | % \begin{lstlisting}[] |
|---|
| 299 | % $ make |
|---|
| 300 | % \end{lstlisting} |
|---|
| 301 | |
|---|
| 302 | % Verify that the compile worked by running a check: |
|---|
| 303 | |
|---|
| 304 | % \begin{lstlisting}[] |
|---|
| 305 | % $ make check |
|---|
| 306 | % \end{lstlisting} |
|---|
| 307 | |
|---|
| 308 | % Install the portions of GNU Radio by running the following command as root: |
|---|
| 309 | |
|---|
| 310 | % \begin{lstlisting}[] |
|---|
| 311 | % # make install |
|---|
| 312 | % \end{lstlisting} |
|---|
| 313 | |
|---|
| 314 | % The libraries installed by GNU Radio need to be linked: |
|---|
| 315 | |
|---|
| 316 | % \begin{lstlisting}[] |
|---|
| 317 | % # /sbin/ldconfig |
|---|
| 318 | % \end{lstlisting} |
|---|
| 319 | |
|---|
| 320 | At this point, GNU Radio and its dependencies have been installed. Now setup the |
|---|
| 321 | proper permissions for the USRP. As root, create a group which will have access |
|---|
| 322 | to the USRP: |
|---|
| 323 | |
|---|
| 324 | \begin{lstlisting}[] |
|---|
| 325 | # /usr/sbin/groupadd usrp |
|---|
| 326 | \end{lstlisting} |
|---|
| 327 | |
|---|
| 328 | Add users to the group which need access to the USRP: |
|---|
| 329 | |
|---|
| 330 | \begin{lstlisting}[] |
|---|
| 331 | # /usr/sbin/usermod -G usrp -a USERNAME |
|---|
| 332 | \end{lstlisting} |
|---|
| 333 | |
|---|
| 334 | Now that users will have access to the USRP, read and write access to the device |
|---|
| 335 | must be created. As root, create the file {\tt /etc/udev/rules.d/10-usrp.rules} in |
|---|
| 336 | a text editor: |
|---|
| 337 | |
|---|
| 338 | \begin{lstlisting}[] |
|---|
| 339 | # vim /etc/udev/rules.d/10-usrp.rules |
|---|
| 340 | \end{lstlisting} |
|---|
| 341 | |
|---|
| 342 | Add the following text to the file: |
|---|
| 343 | |
|---|
| 344 | \begin{lstlisting}[] |
|---|
| 345 | ACTION=="add", BUS=="usb", SYSFS{idVendor}=="fffe", \ |
|---|
| 346 | SYSFS{idProduct}=="0002", GROUP:="usrp", MODE:="0660" |
|---|
| 347 | \end{lstlisting} |
|---|
| 348 | |
|---|
| 349 | The text above is displayed on two lines due to the contraints on page size, however |
|---|
| 350 | the text must appear on a single line, without the backslash, in the file for the |
|---|
| 351 | access to the USRP to work properly. You may also add the following comment lines to |
|---|
| 352 | the file for future reference: |
|---|
| 353 | |
|---|
| 354 | \begin{lstlisting}[] |
|---|
| 355 | # rule to grant read/write access on USRP to group named usrp. |
|---|
| 356 | # to use, install this file in /etc/udev/rules.d/ as |
|---|
| 357 | # 10-usrp.rules |
|---|
| 358 | \end{lstlisting} |
|---|
| 359 | |
|---|
| 360 | The USRP interface has now been created. As an optional test, connect the USRP |
|---|
| 361 | to the computer and run the following command: |
|---|
| 362 | |
|---|
| 363 | \begin{lstlisting}[] |
|---|
| 364 | $ ls -lR /dev/bus/usb |
|---|
| 365 | \end{lstlisting} |
|---|
| 366 | |
|---|
| 367 | The users root and usrp should now be listed under the user groups. |
|---|
| 368 | |
|---|
| 369 | If you are using the USRP2, it is necessary to have a gigabit ethernet interface and |
|---|
| 370 | intruct the kernel to allow raw socket access to the ethernet port: |
|---|
| 371 | \begin{lstlisting}[] |
|---|
| 372 | # chmod u+s /usr/local/bin/usrp2_socket_opener |
|---|
| 373 | \end{lstlisting} |
|---|
| 374 | |
|---|
| 375 | This step is necessary every time you reinstall GNU Radio. |
|---|
| 376 | |
|---|
| 377 | |
|---|
| 378 | \subsubsection{Install OSSIE} |
|---|
| 379 | \label{section:installation:source:ossiecf} |
|---|
| 380 | You are now ready to build and install OSSIE. |
|---|
| 381 | Note that installing by hand requires some knowledge of OSSIE, Linux, and software development. |
|---|
| 382 | |
|---|
| 383 | Download the latest tarball from |
|---|
| 384 | \href{http://ossie.wireless.vt.edu/download/tarballs/\ossieversion/}{http://ossie.wireless.vt.edu/download/tarballs/\ossieversion/} |
|---|
| 385 | \\ and unpack {\tt ossie-\ossieversion.tar.bz2}. |
|---|
| 386 | \begin{lstlisting}[] |
|---|
| 387 | $ wget http://ossie.wireless.vt.edu/download/tarballs/0.8.1/ \ |
|---|
| 388 | ossie-0.8.1.tar.bz2 |
|---|
| 389 | $ tar -xvjf ossie-0.8.1.tar.bz2 |
|---|
| 390 | \end{lstlisting} |
|---|
| 391 | |
|---|
| 392 | By default, the installation directory of the OSSIE platform is {\tt /sdr}. In order to install new |
|---|
| 393 | source code and binaries into this directory without root permissions, you need to create and change |
|---|
| 394 | the ownership of {\tt /sdr}. |
|---|
| 395 | \begin{lstlisting}[] |
|---|
| 396 | # mkdir /sdr |
|---|
| 397 | # chown -R username.username /sdr |
|---|
| 398 | \end{lstlisting} |
|---|
| 399 | where {\tt username} is your user name. |
|---|
| 400 | |
|---|
| 401 | \subsubsection{Using Autoconf} |
|---|
| 402 | \label{section:installation:source:ossiecf:autoconf} |
|---|
| 403 | |
|---|
| 404 | \begin{lstlisting}[] |
|---|
| 405 | $ cd ossie-0.8.1 |
|---|
| 406 | $ ./configure --prefix=/sdr --libdir=/usr/local/lib/ \ |
|---|
| 407 | --includedir=/usr/local/include/ --with-boost --with-boost-filesystem |
|---|
| 408 | $ make |
|---|
| 409 | $ sudo make install |
|---|
| 410 | \end{lstlisting} |
|---|
| 411 | |
|---|
| 412 | If you prefer, or require, a different root directory, then change the '--prefix' flag to your appropriate absolute path. |
|---|
| 413 | If you require the OSSIE libraries to be installed to a different location, then change the '--libdir' flag to your appropriate absolute path. |
|---|
| 414 | For futher 'configure' options, use {\tt configure --help}. |
|---|
| 415 | |
|---|
| 416 | %\subsubsection{Using Installation Scripts} |
|---|
| 417 | %\label{section:installation:source:ossiecf:buildpy} |
|---|
| 418 | |
|---|
| 419 | %The included {\tt build.py} and {\tt setup.py} scripts automate the building and installation of |
|---|
| 420 | %the OSSIE packages. Because OSSIE is built as a set of dependent libraries it is |
|---|
| 421 | %necessary to build and install each one separately so that |
|---|
| 422 | %they can link properly. These scripts take care of that for you. |
|---|
| 423 | |
|---|
| 424 | %In order for the script to run uninterrupted, the {\tt sudo} command must be |
|---|
| 425 | %able to execute {\tt make install}. |
|---|
| 426 | %As root, edit the {\tt sudoers} file\footnote{By default the sudoers file must |
|---|
| 427 | %be edited with the {\tt visudo} command} |
|---|
| 428 | %\begin{lstlisting}[] |
|---|
| 429 | % # /usr/sbin/visudo |
|---|
| 430 | %\end{lstlisting} |
|---|
| 431 | |
|---|
| 432 | %At the end of the file, add the following line: |
|---|
| 433 | %\begin{lstlisting}[] |
|---|
| 434 | % ALL ALL = NOPASSWD: /usr/bin/make install |
|---|
| 435 | %\end{lstlisting} |
|---|
| 436 | |
|---|
| 437 | %Save and quit ({\tt :wq}). If you made an error, visudo will tell you. We |
|---|
| 438 | %recommend that you comment this line out by putting a pound character (`\#') in |
|---|
| 439 | %front of it once you have finished installing OSSIE. |
|---|
| 440 | %%TODO: Have a more secure (wheel group only?) method |
|---|
| 441 | |
|---|
| 442 | %The {\tt setup.py} script installs the tools used for component and waveform development. To install the tools, move into the {\tt tools} directory and run the {\tt setup.py} script as follows \\(optionally, use {\tt su -c "<command>"} instead of {\tt sudo <command>}): |
|---|
| 443 | |
|---|
| 444 | %\begin{lstlisting}[] |
|---|
| 445 | % $ cd /home/username/path_to_ossie/tools |
|---|
| 446 | % $ python setup.py build && sudo python setup.py install |
|---|
| 447 | %\end{lstlisting} |
|---|
| 448 | |
|---|
| 449 | %The {\tt build.py} script installs the core framework, components, devices and a few demonstration waveforms. This script should not be run as root. |
|---|
| 450 | %To install, first exit out of root, then move into the directory where the OSSIE \ossieversion\ tarball has been unpacked and run the script: |
|---|
| 451 | |
|---|
| 452 | %\begin{lstlisting}[] |
|---|
| 453 | % # exit |
|---|
| 454 | % $ cd /home/username/path_to_ossie/ |
|---|
| 455 | % $ python build.py |
|---|
| 456 | %\end{lstlisting} |
|---|
| 457 | |
|---|
| 458 | %Depending on the speed of your system this might take several minutes. You may |
|---|
| 459 | %be asked for a password during the first {\tt make install} command. Because we |
|---|
| 460 | %are using {\tt sudo}, this prompt is asking for your user password, not the |
|---|
| 461 | %root password. If successful, the prompt should say: |
|---|
| 462 | %\begin{lstlisting}[] |
|---|
| 463 | %********************************************************* |
|---|
| 464 | |
|---|
| 465 | % Complete installation of OSSIE 0.8.1 finished! |
|---|
| 466 | |
|---|
| 467 | %********************************************************* |
|---|
| 468 | %\end{lstlisting} |
|---|
| 469 | |
|---|
| 470 | \subsubsection{Updating System Libraries} |
|---|
| 471 | \label{section:installation:source:ossiecf:ldconfig} |
|---|
| 472 | Once the OSSIE libraries are installed, they need to be linked. |
|---|
| 473 | As root edit the file {\tt /etc/ld.so.conf}, adding the line |
|---|
| 474 | \begin{lstlisting}[] |
|---|
| 475 | /usr/local/lib |
|---|
| 476 | \end{lstlisting} |
|---|
| 477 | Now run: |
|---|
| 478 | \begin{lstlisting}[] |
|---|
| 479 | # /sbin/ldconfig |
|---|
| 480 | \end{lstlisting} |
|---|
| 481 | |
|---|
| 482 | OSSIE should now be successfully installed on your system. You can skip to |
|---|
| 483 | Section~\ref{section:runningwaveforms} to learn how to run waveforms. |
|---|
| 484 | |
|---|
| 485 | \subsection{Installation of OSSIE Eclipse Feature} |
|---|
| 486 | \label{section:installation:oefinstall} |
|---|
| 487 | Installation of the OSSIE Eclipse Feature (OEF) requires the installation of OSSIE, Java, and Eclipse. |
|---|
| 488 | |
|---|
| 489 | \subsubsection{Installing Java} |
|---|
| 490 | \label{section:installation:javainstall} |
|---|
| 491 | Eclipse is written in Java, so you must have it installed to run Eclipse and OEF. |
|---|
| 492 | We recommend using Sun's Java Development Kit. As of this writing, the GNU Compiler for Java (GCJ) will not work. |
|---|
| 493 | |
|---|
| 494 | Fedora Core 9 comes with the Sun JDK pre-installed but older versions require manual installation. On other distributions it is advisable to use the |
|---|
| 495 | package manager to manage the installation, if possible. |
|---|
| 496 | |
|---|
| 497 | \subsubsection{Installing Java on Older Versions of Fedora} |
|---|
| 498 | \label{section:installation:javafedora} |
|---|
| 499 | Go to \href{http://java.sun.com/javase/downloads/index.jsp}{http://java.sun.com/javase/downloads/index.jsp} |
|---|
| 500 | and click Download next to JDK 6 Update 6. Choose Linux in the platform drop down menu, click the check-box |
|---|
| 501 | agreeing to the license agreement, and click continue. Download the Linux rpm in self extracting file, |
|---|
| 502 | {\tt jdk-6u6-linux-i586-rpm.bin}. |
|---|
| 503 | |
|---|
| 504 | Open a terminal and navigate to the file. As root, execute the following command: |
|---|
| 505 | \begin{lstlisting}[] |
|---|
| 506 | # sh jdk-u6-linux-i586-rpm.bin |
|---|
| 507 | \end{lstlisting} |
|---|
| 508 | |
|---|
| 509 | Create {\tt java.sh} in {\tt /etc/profile.d/} with the following contents: |
|---|
| 510 | \begin{lstlisting}[] |
|---|
| 511 | export JAVA_HOME="/usr/java/latest" |
|---|
| 512 | export JAVA_PATH="$JAVA_HOME" |
|---|
| 513 | export PATH="$PATH:$JAVA_HOME/bin" |
|---|
| 514 | \end{lstlisting} |
|---|
| 515 | |
|---|
| 516 | Log out and back in to allow the changes to update. |
|---|
| 517 | |
|---|
| 518 | \subsubsection{Installing Java on Ubuntu} |
|---|
| 519 | \label{section:installation:javaubuntu} |
|---|
| 520 | In a terminal, enter the following lines: |
|---|
| 521 | \begin{lstlisting}[] |
|---|
| 522 | $ sudo apt-get update |
|---|
| 523 | $ sudo apt-get install sun-java5-jdk |
|---|
| 524 | \end{lstlisting} |
|---|
| 525 | |
|---|
| 526 | \subsubsection{Installing Eclipse} |
|---|
| 527 | \label{section:installation:eclipseinstall} |
|---|
| 528 | Install the Eclipse IDE for Java Developers. Go to the \href{http://www.eclipse.org/downloads/}{Eclipse Download Center} and download an Eclipse distribution for your platform. |
|---|
| 529 | |
|---|
| 530 | Eclipse is distributed as a tarball archive that you can unpack to location of your choice. Pick a location that is appropriate for your platform and |
|---|
| 531 | simply unpack the contents. There is no self-installer, just unpack the distribution. Do not install Eclipse in a directory that has spaces anywhere |
|---|
| 532 | in its full path name. |
|---|
| 533 | |
|---|
| 534 | \subsubsection{Installing OEF} |
|---|
| 535 | \label{section:installation:oefinstall} |
|---|
| 536 | Now that the dependencies have been installed, OEF can be installed. |
|---|
| 537 | |
|---|
| 538 | Move into the unpacked eclipse directory, and start eclipse: |
|---|
| 539 | \begin{lstlisting}[] |
|---|
| 540 | $ cd /path/to/eclipse |
|---|
| 541 | $ ./eclipse |
|---|
| 542 | \end{lstlisting} |
|---|
| 543 | |
|---|
| 544 | After Eclipse starts, on the toolbar select {\tt Help}, {\tt Software Updates}. |
|---|
| 545 | In the new window, select the ``Available Software" tab and click the ``Add Site" |
|---|
| 546 | button the right hand side. Enter the URL: {\tt http://ossie.wireless.vt.edu/eclipse/} |
|---|
| 547 | and select OK. The window will then add the URL, OSSIE, OSSIE Waveform Developer |
|---|
| 548 | Feature to the list of software to update. Place a check in the box next to OSSIE |
|---|
| 549 | Waveform Developer Feature and click Install. Eclipse will bring up a window which will |
|---|
| 550 | resolve any dependencies and then start the install guide. |
|---|
| 551 | |
|---|
| 552 | When the install window opens, make sure OSSIE Waveform Developer Feature is selected |
|---|
| 553 | and click Next. Accept the GNU license agreement and select Next. Eclipse will then |
|---|
| 554 | begin to download the necessary files, which may take a few minutes. Allow Eclipse to |
|---|
| 555 | restart when it prompts to do so. After it restarts, the OSSIE Eclipse Feature will be |
|---|
| 556 | installed. |
|---|
| 557 | |
|---|
| 558 | Select the OSSIE perspective within Eclipse. On the toolbar, select {\tt Window}, |
|---|
| 559 | {\tt Open Perspective}, {\tt Other}. In the new window, select OSSIE which will then |
|---|
| 560 | open the OSSIE perspective. On the toolbar, select {\tt File}, {\tt New}, {\tt OSSIE Waveform}, |
|---|
| 561 | or {\tt OSSIE Component} to start developing. |
|---|
| 562 | |
|---|
| 563 | These same instructions used for installing OEF can be used later to update it to newer versions. |
|---|
| 564 | |
|---|
| 565 | \subsection{Using a VMware Image on Any Platform} |
|---|
| 566 | \label{section:installation:vmware} |
|---|
| 567 | A VMware image of a complete Fedora Core 9-based Linux system with all necessary |
|---|
| 568 | dependencies and a complete install of OSSIE \ossieversion\ is available at \\ |
|---|
| 569 | \href{http://ossie.wireless.vt.edu/trac/wiki/Downloads}{http://ossie.wireless.vt.edu/trac/wiki/Downloads}. |
|---|
| 570 | All that is needed to run the virtual image is the VMÂWare Player, available |
|---|
| 571 | for no fee from \\ |
|---|
| 572 | \href{http://www.vmware.com/download/player/}{http://www.vmware.com/download/player/}. |
|---|
| 573 | Versions of the player are available for both Windows and Linux. |
|---|
| 574 | |
|---|
| 575 | Install VMware Player on your system, unzip the virtual image and open it. |
|---|
| 576 | For full instructions on installing and using VMware player, please |
|---|
| 577 | consult the VMWare Player User Guide~\cite{vmware:web}. |
|---|
| 578 | |
|---|
| 579 | It is recommended that you keep a copy of the zipped virtual image so that you do |
|---|
| 580 | not need to download the image a second time to start with a fresh copy. Changes |
|---|
| 581 | that you make from within the image will alter it, and in the event of drastic |
|---|
| 582 | unwanted changes, starting afresh is easy if you have an extra copy of the image |
|---|
| 583 | on your hard drive. |
|---|
| 584 | |
|---|
| 585 | % \subsection{Via Ebuild on Gentoo Linux} |
|---|
| 586 | % Support for installation via Gentoo's Portage package management system has not |
|---|
| 587 | % yet been thoroughly tested but ebuilds do exist. |
|---|
| 588 | % |
|---|
| 589 | % To access the ebuilds, install and configure layman if you haven't already: |
|---|
| 590 | % \begin{figure} |
|---|
| 591 | % \begin{lstlisting}[] |
|---|
| 592 | % # emerge layman |
|---|
| 593 | % # echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf |
|---|
| 594 | % \end{lstlisting} |
|---|
| 595 | % \end{figure} |
|---|
| 596 | % |
|---|
| 597 | % Then, add ossie-overlay to your locally-stored overlays: |
|---|
| 598 | % \begin{figure} |
|---|
| 599 | % \begin{lstlisting}[] |
|---|
| 600 | % # layman -a -o https://ossie.wireless.vt.edu/repos/ossie/experimental/scripts/gentoo/ossie-overlay.xml |
|---|
| 601 | % \end{lstlisting} |
|---|
| 602 | % \end{figure} |
|---|
| 603 | % |
|---|
| 604 | % You can then proceed with installing OSSIE: |
|---|
| 605 | % \begin{figure} |
|---|
| 606 | % \begin{lstlisting}[] |
|---|
| 607 | % # emerge -av ossie |
|---|
| 608 | % \end{lstlisting} |
|---|
| 609 | % \end{figure} |
|---|
| 610 | % |
|---|
| 611 | % After sucessful compiliation of the OSSIE framework and its dependencies, skip |
|---|
| 612 | % to section X. |
|---|
| 613 | |
|---|
| 614 | %\subsection{Embedded Platforms} |
|---|
| 615 | %While installation on embedded platforms is not officially supported in the |
|---|
| 616 | %0.6.2 release, work has been done (MENTION WORK) on porting OSSIE to embedded |
|---|
| 617 | %platforms and we are interested in promoting more work in this area. |
|---|
| 618 | |
|---|
| 619 | |
|---|