Start to Finish Installation of OSSIE (from subversion)

Under Construction - These instructions are not current. To install the current release see http://ossie.wireless.vt.edu/start

This page gives instructions for installing OSSIE using the subversion trunk and is likely to change with the progression of the source code. For instructions on previous stable releases, please see

Assumptions:

  1. You have Fedora Core 6 or 7 installed.
  2. You have subversion installed and SSL support is enabled.
  3. You have access to the OSSIE subversion repository, if not, see below.
  4. You are comfortable with building your own binaries from source.
  5. You have setup the sudo command to work from your user account (http://fedorasolved.org/post-install-solutions/sudo).
  6. You are comfortable using Linux, or willing to learn. Otherwise use a stable release.

-Other configurations/methods are possible, but this is the most common used by the OSSIE Team.

Create an account (using the register button at the top of this page) and email CarlDietrich with the user id. If you are outside MPRG include a statement saying you have read and understood the licensing terms (GPL/LGPL).

Install omniORB

Download omniORB

Grab version 4.1.1 of omniORB from omniORB's site an unpack it wherever you like (I like ~/src).

Configure, Compile and Install

$ cd <omniORB-V.V.V> (referred to from here on as OMNIORB_TOP)
$ ./configure
$ make
$ sudo make install

-where V.V.V is the version of omniORB that you downloaded

Edit omniORB Configuration

You will need to copy and edit as Root

# cp $OMNIORB_TOP/sample.cfg /etc/omniORB.cfg

Edit the omniORB.cfg file and go to line 317 (or around there) and change the line:

InitRef = NameService=corbaname::my.host.name

to

InitRef = NameService=corbaname::localhost

and make sure the line is uncommented.

Check for localhost resolution

Check that localhost resolves by pinging it:

$ ping localhost

If it fails, as root, edit /etc/hosts and make sure 127.0.0.1 is set as localhost:

127.0.0.1   localhost.localdomain   localhost

*Note: Alternatively, you can change line 317 in /etc/omniORB.cfg to

InitRef = NameService=corbaname::127.0.0.1

Update Locations of Shared Libraries

Perform this step as root

Edit the file /etc/ld.so.conf and add the line

/usr/local/lib

Run /sbin/ldconfig as root.

omniNames Configuration

Make a directory named "logs" in the location of your choice

$ mkdir /any/path/to/logs

You can put the log files anywhere you want to. Just make the appropriate changes to the below script file.

Create omniNames.sh

Create a file called omniNames.sh and put the following it:

#!/bin/sh

killall omniNames [omniEvents]
rm /path/to/logs/omninames*

omniNames -start -logdir /path/to/logs &

Now as root:

# chmod 755 omniNames.sh
# cp omniNames.sh /usr/local/bin

now this script (omniNames.sh) is accessible as your user from any shell.

Checkout, Build and Install the OSSIE Framework

Follow these steps checkout the source and build OSSIE

$ mkdir -p ~/src/sca/platform
$ cd ~/src/sca/
$ svn co https://ossie.wireless.vt.edu/repos/ossie/ossie/trunk/ossie
$ cd ossie
$ ./reconf
$ ./configure
$ make
$ sudo "make install"

If you have boost-1.34 installed use these lines:

$ make "CXXFLAGS=-DBOOST_1_34 -O2"
$ sudo make install "CXXFLAGS=-DBOOST_1_34 -O2"

Checkout, Build and Install Standard Interfaces, SigProc library, Node Booter, the domain, the default node and the GPP Device

Install standard interfaces:

$ cd ~/src/sca
$ svn co https://ossie.wireless.vt.edu/repos/ossie/standardInterfaces/trunk/standardInterfaces
$ cd standardInterfaces
$ ./reconf
$ ./configure
$ make
$ sudo make install

At this point, you should once again run ldconfig as root from the /sbin directory

$ sudo /sbin/ldconfig

Install nodebooter:

$ cd ~/src/sca/platform
$ svn co https://ossie.wireless.vt.edu/repos/ossie/platform/nodebooter/trunk/nodebooter
$ cd nodebooter
$ ./reconf
$ ./configure
$ make
$ sudo make install

Install c_wavLoader

$ cd ~/src/sca/platform
$ svn co https://ossie.wireless.vt.edu/repos/ossie/platform/c_wavLoader/trunk/c_wavLoader
$ cd c_wavLoader
$ ./reconf
$ ./configure
$ make
$ sudo make install

Install GPP:

$ cd ~/src/sca/platform
$ svn co https://ossie.wireless.vt.edu/repos/ossie/platform/GPP/trunk/GPP
$ cd GPP
$ ./reconf
$ ./configure
$ make
$ sudo make install

Install the default GPP node:

$ mkdir -p ~/src/sca/nodes
$ cd ~/src/sca/nodes
$ svn co https://ossie.wireless.vt.edu/repos/ossie/nodes/default_GPP_node/trunk/default_GPP_node
$ cd default_GPP_node
$ ./reconf
$ ./configure
$ make
$ sudo make install

Installing the OSSIE demo

This demo consists of three components: TxDemo, ChannelDemo, and RxDemo. TxDemo generates to sequences of data and sends them to ChannelDemo, then ChannelDemo adds a small number to each element of data and sends the sequences to RxDemo. Although trivial in use, this code demonstrates components communicating, threading, and the basic layout of a waveform.

Get and install the ossie_demo wavform

$ cd ~/src/sca/
$ mkdir waveforms
$ cd waveforms
$ svn co https://ossie.wireless.vt.edu/repos/ossie/waveforms/ossie_demo/trunk/ossie_demo
$ cd ossie_demo
$ ./reconf
$ ./configure
$ sudo make install

Get and install TxDemo, ChannelDemo and RxDemo to complete the component chain for the ossie_demo waveform

First, create a directory for your components

$ cd ~/src/sca
$ mkdir components
$ cd components

Now download and install the appropriate components necessary to run the ossie_demo waveform

$ cd ~/src/sca/components
$ svn co https://ossie.wireless.vt.edu/repos/ossie/components/TxDemo/trunk/TxDemo
$ cd TxDemo
$ ./reconf
$ ./configure
$ make
$ sudo make install
$ cd ~/src/sca/components
$ svn co https://ossie.wireless.vt.edu/repos/ossie/components/ChannelDemo/trunk/ChannelDemo
$ cd ChannelDemo
$ ./reconf
$ ./configure
$ make
$ sudo make install
$ cd ~/src/sca/components
$ svn co https://ossie.wireless.vt.edu/repos/ossie/components/RxDemo/trunk/RxDemo
$ cd RxDemo
$ ./reconf
$ ./configure
$ make
$ sudo make install

Time to Run the Waveform!

It is recommended that you execute the following commands in seperate shell windows. Do not close any of the windows because closing a window will kill processes that were started from that window.

Start the Naming Service

In the first terminal:

$ omniNames.sh

In the second terminal:

Start the nodeBooter

$ cd /sdr
$ sudo nodeBooter -D -d /nodes/default_GPP_node.dcd.xml

At this point the nodebooter should print a lot of informative data while starting up, start the GPP device, and wait for commands from other programs. Use control-C to exit the nodebooter.

Run the waveform

In the third terminal:

$ c_wavLoader

Choose waveform number 1 when presented with the option. Select 's' to start the waveform.

Congratulations, OSSIE is now installed on your machine.

Other Notes

Python stuff not tested yet.

You will need OWD v4523:

svn co -r4523 https://ossie.wireless.vt.edu/repos/ossie/WaveDev/trunk/WaveDev

You will need ALF v4498:

svn co -r4498 https://ossie.wireless.vt.edu/repos/ossie/experimental/alf/trunk/alf

When you install OWD you'll also need to remember to add the path to the top level OWD directory to the ossie.pth file you create.

Typically the ossie.pth file goes in /usr/lib/pythonX.X/site-packages/, where X.X should be replaced with your Python version number, typically 2.4 or 2.5 (remember to replace X.X in the code below, as well), and looks like this:

# local python bindings
/usr/local/lib/pythonX.X/site-packages/

# core framework interfaces
/usr/local/include/ossie/idl_py

# standard interfaces
/usr/local/include/standardinterfaces/idl_py

# OSSIE tools
/sdr/tools

# This line only necessary if you want to run ALF
/sdr/tools/WaveDev/build/lib/wavedev

Finding your away around the Subversion repository

Paths relative to https://ossie.wireless.vt.edu/repos/ossie/

  • ossie - contains the core framework.
  • platform - contains control programs and hardware device code.
  • waveforms - contains waveform specific code and xml.
  • components - contains resuable library component code.

The following installation instructions assume you plan to follow active OSSIE development using the trunk directory for each package. In addition to the trunk development path, there are tags and branches. Each package may have several branches and tags. For each release version, a branch is created for maintenance change sets. For each release a tag is created to provide easy access to the exact file revisions in each release. changes made in the release branches fix bugs and add new features, with a very strong effort made to not break code developed against the specific release. The first release in a branch is tagged 0.x.0. Subsequent releases will be 0.x.1, 0.x.2, etc.

Installing the USRP library from GNU Radio

Read http://gnuradio.org/trac/wiki/BuildGuide and follow the build instructions up until the point you start to configure gnuradio (The line where you type ./configure). Be sure to read the distribution specific instructions.

Instead of running ./configure, configure with components disabled, change into the usrp directory and build and install only the USRP library.

./configure --disable-all-components --enable-usrp
cd usrp
make
sudo make install

Rebuilding a tree checked out from subversion

It can be a real nuisance rebuilding the framework, supporting libraries, platform, component and waveform code. We have created a useful updater tool that can be checked out from the repository. Please see OSSIEUpdater for details.





注:InstallationGuide(原文出处,翻译整理仅供参考!)