PDOS

[uia] / trunk / uia / uianet / README  

View of /trunk/uia/uianet/README

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3602 - (download) (annotate)
Mon Dec 15 19:01:53 2008 UTC (11 months, 1 week ago) by jastr
File size: 3002 byte(s)
osx tun driver moved
$Id$

Requirements
------------

Software package dependencies:		Can be obtained from:
	- OpenSSL libraries		openssl.org
	- Boost C++ libraries		boost.org
	- Apple Bonjour API		developer.apple.com/networking/bonjour/
					(mDNSResponder-107.6.tar.gz)
	- Python language		python.org
	- Twisted library for Python	twistedmatrix.com
	- Python Crypto Toolkit		www.amk.ca/python/code/crypto
	- Qt 4 GUI toolkit (optional)	trolltech.com

On Mac OS X, you also need Mattias Nissler's tun/tap driver, available at:
     http://tuntaposx.sourceforge.net/

On Linux (at least on Debian), you need the mDNSResponder package provided by
Apple on the Bonjour downloads page.  Unfortunately, Avahi doesn't yet
implement all of the API functions UIA needs.


Building and Installing
-----------------------

To check out from Subversion and set up the configure scripts:
  svn co svn://svn.pdos.csail.mit.edu/uia/trunk/uia/uianet
  cd uianet
  ./misc/setup

To compile:
  [Caveat: If you're using Ubuntu 6.10 "Edgy", see note near bottom...]
  1) create a user named <UIA-USER-NAME> for the UIA daemons to run as
	(or for now you can just use your own username for convenience).
  2) ./configure --with-user=<UIA-USER-NAME>
  3) make

To install:
  1) sudo make install
     [NOTE: On Ubuntu/Debian I needed to 'sudo mkdir /usr/local/lib/uia' -Paul Wisner]
  2) sudo chown -R uiauser /etc/uia   
     (where uiauser is the user you will run uia as, e.g., srhea)

To run:
  1) su uiauser
  2) add any peers you want to /etc/uia/peer.db, format is 
     <eid> <IP> <port> <last contact time in secs since epoch, or just 0>
  3) cd /usr/local/bin
  4) uialegacy restart


Notes for Ubuntu 6.10 "Edgy"
----------------------------
The configure step will report a failure due to not finding the Bonjour 
developer API.   The fix is:
  1. Get mDNSResposder-107.6 (instead of 107.1) from 
     http://developer.apple.com. 
  2. In mDNSResponder-107.6/mDNSPosix, edit the Makefile. 
     Replace 'LD = ld -shared' with 'LD = gcc -shared'
  3. Rebuild mdns (make os=linux clean; make os=linux)
  Why?  In GCC 4.x the correct way to build a shared library using gcc 4.x is to use "gcc -shared" instead.  The old way, using "ld -shared", results in a shared library that does not properly include all the references to other shared libraries it's supposed to have. 


License
-------

The UIA source code is distributed under the MIT open source license,
with the exception of the following components, which are distributed
under alternate licenses due to dependencies on existing code used
in those components:

1. The graphical control application in the 'ctl' subdirectory
   is distributed under the GNU General Public License (GPL), 
   because it relies on the GPL-licensed Qt toolkit from Trolltech.
   
2. PLY (Python Lex-Yacc), included in naming/rpcgen/ply,
   is distributed under the GNU Lesser General Public License (LGPL).  
   PLY is used only for compiling UIA -- it is not needed to run
   UIA programs.




Maintained by PDOS
ViewVC Help
Powered by ViewVC 1.0.3