RetroShare/libretroshare/src
drbob 3e1b155f1a Completed Basic configuration storage:
* Added read/writetofile() fns to BinMemInterface
 * Added SignData() fns to AuthXPGP.
 * Added Certificate saving to AuthXPGP.
 * added Signatures to Configuration.
 * now discards messages if Hash is wrong (p3msgservice)



git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@341 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-02-08 12:39:40 +00:00
..
dbase Changes to libretroshare to make the system compile on Mac OSX 10.3 2008-02-03 06:17:33 +00:00
dht Changes to libretroshare to make the system compile on Mac OSX 10.3 2008-02-03 06:17:33 +00:00
fltkgui Created V0.3.x branch and moved the head into the trunk directory. 2007-11-15 03:18:48 +00:00
pqi Completed Basic configuration storage: 2008-02-08 12:39:40 +00:00
rsiface Lots of little changes to libretroshare. Improvements mainly focused 2008-02-07 16:18:34 +00:00
rsserver Completed Basic configuration storage: 2008-02-08 12:39:40 +00:00
scripts * Addition of almost completed p3ranking class - still streaming / ranking to do. 2008-02-03 06:29:02 +00:00
serialiser Lots of little changes to libretroshare. Improvements mainly focused 2008-02-07 16:18:34 +00:00
server Lots of little changes to libretroshare. Improvements mainly focused 2008-02-07 16:18:34 +00:00
services Completed Basic configuration storage: 2008-02-08 12:39:40 +00:00
tcponudp switched stun packet byte layout to network-byte-order. 2008-02-04 18:24:15 +00:00
upnp Changes to libretroshare to make the system compile on Mac OSX 10.3 2008-02-03 06:17:33 +00:00
util Lots of little changes to libretroshare. Improvements mainly focused 2008-02-07 16:18:34 +00:00
BUGS Created V0.3.x branch and moved the head into the trunk directory. 2007-11-15 03:18:48 +00:00
FAQ Created V0.3.x branch and moved the head into the trunk directory. 2007-11-15 03:18:48 +00:00
licence Created V0.3.x branch and moved the head into the trunk directory. 2007-11-15 03:18:48 +00:00
make.opt Final changes to add the new serialiser. 2007-12-12 01:43:17 +00:00
Makefile Commit of the new UDP Connection methods and 2008-01-25 08:01:40 +00:00
Readme.txt Created V0.3.x branch and moved the head into the trunk directory. 2007-11-15 03:18:48 +00:00
Readme.txt-V0.2.1 Created V0.3.x branch and moved the head into the trunk directory. 2007-11-15 03:18:48 +00:00
TODO Created V0.3.x branch and moved the head into the trunk directory. 2007-11-15 03:18:48 +00:00

Compiling + Running RetroShare (V0.3.0)
-------------------------------------------------------------

Quick Requirements:
---------------------------------------------
Libraries/Tools:
	C/C++ Compiler. (standard on Linux/cygwin)
	OpenSSL-0.9.7g-xpgp
	KadC Dht library
	Qt-4.2 development libraries.

RetroShare Source Code: ( from sf.net/projects/retroshare)
	Qt-GUI-XXX.tgz
	retroshare-src-v0.3.XXX.tgz 

Windows Requirements:
	Cygwin (Windows Only)
	Pthreads (Windows Only)
	Zlib (Windows Only)
---------------------------------------------

OpenSSL-0.9.7g-xpgp is available at:
http://www.lunamutt.com/retroshare/openssl-0.9.7g-xpgp-0.1c.tgz

KadC (latest) is available from sourceforge.net

Download/Compile as per instructions...

---------------------------------------------

Compiling Linux
---------------------------------------------

(1) compile openSSL-0.9.7g-xpgp.

(2) compile KadC. (and correct the library)

(4) Modify ./make.opts 
	(4a) modify the Makefile so that:  OS=Linux or OS=Win
	(4c) Define SSL_DIR to point to openSSL-0.9.7g-xpgp.
	(4c) Define KADC_DIR to point to KadC

(5) type: make
	This builds ./lib/libretroshare.a,
	and the various test programs.

	There is server-only (no GUI) executable
	compiled in ./rsiface/retroshare-nogui, 
	you can run this to check that its working.

---------------------------------------------

Compiling Linux (Alternative Instructions from Bharath)
---------------------------------------------
here's how to compiled retroshare on ubuntu linux: 
 
 compile openssl: 
 1. Get the patched version of openssl (openssl-0.9.7g-xpgp, from http://www.lunamutt.com) 
 2. run: 
 ./config  
 make 
 make test 
  
 compile KadC: 
 1. Get KadC library from http://kadc.sourceforge.net/  
 2. run: 
 make 
   
 install packages needed for retroshare compile:  
 sudo apt-get install libxft-dev 
 sudo apt-get install libXinerama-dev 
    
 complile retroshare: 
 1. set directories in make.opt: 
 RS_DIR=/home/dev/rs-v0.3.0-pr8/src  
 SSL_DIR=/home/dev/openssl-0.9.7g-xpgp-0.1c 
 KADC_DIR=/home/dev/KadC 
 2. comment out the directory declarations uncer Cygwin since that will override your directory declarations from 1. 
 3. change RSLIBS = -L$(LIBDIR) -lretroshare -L$(SSL_DIR) -lssl -lcrypto -lpthread -lKadC  
    to 
  RSLIBS = -L$(LIBDIR) -lretroshare -L$(SSL_DIR) -lssl -lcrypto -lpthread -L$(KADC_DIR) -lKadC 
 4. run: 
     make 
      
Hope this helps.

---------------------------------------------
Compiling the Qt GUI
_____________________________________________

(1) untar the Qt-GUI source package. run qmake, 

	tar -xvzf Qt-GUI-XXXX.tgz

	cd Qt-Gui-XXX/src/

	qmake-qt4 Retroshare.pro

(2) tweak the makefile: The default makefile
	doesn't have the links to the retroshare
	libraries. It should something like this:

RSLIBS  = -L/home/dev/prog/devel/rs-v0.3.0XXX/src/lib -lretroshare -lKadC
SSLLIBS = -L/home/dev/prog/devel/openssl-0.9.7g-xpgp -lssl -lcrypto
LIBS          = $(SUBLIBS)  $(RSLIBS) $(SSLLIBS)  -L/usr/lib -lQtXml -lQtGui -lQtNetwork -lQtCore -lpthread

	This should build you an executable:

	RetroShare.

------------------------------------------------
This has been compiled on the following platforms:
	(a) Debian Linux (stable/testing/unstable)
	(b) Suse Linux   (9.X/10.X)
	(c) WinXP

------------------------------------------------
WIN XP Compilation.
------------------------------------------------

This much harder, and more perilous than the
Linux compilation: It requires both the cygwin
and the mingw compilers...

Need:
	Cygwin development environment
	Qt4.2 opensource development kit + MinGw.
	source code for all libraries.

In Brief:
UNDER Cygwin:
	(1) Compile openssl-xpgp.
	(2) Compile pthreads.
	(3) Compile zlib.
	(4) Compile KadC. (there are some tweaks, 
		needed to the code)

	(5) Compile retroshare-v0.3.0

UNDER Mingw:
	(6) Compile the Qt-Gui.


Email me if you're having trouble:
	retroshare@lunamutt.com
---------------------------------------------