![]()
Parent Directory
|
Revision Log
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 |