| Version 34 (modified by bhilburn, 5 years ago) |
|---|
Start to Finish Installation of OSSIE (from subversion)
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:
- You have Fedora Core 6 or 7 installed.
- You have subversion installed and SSL support is enabled.
- You have access to the OSSIE subversion repository, if not, see below.
- You are comfortable with building your own binaries from source.
- You have setup the sudo command to work from your user account ( http://fedorasolved.org/post-install-solutions/sudo).
- 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 PhilipBalister 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 make gnuradio (The line where you type make). Be sure to read the distribution specific instructions. Instead of running make, change into the usrp directory and build and install only the USRP library.
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.