RetroShare/libretroshare/src
drbob 9bdd44d0f5 Changes required to get Retroshare V0.4 working under windows.
Most of these changes relate to:
 (1) rand() is different 
 (2) sleep() don't exist on Windows.
 (3) networking headers are different - these need to be cleaned up in general.
 (4) disabled tests that won't compile on Windows.

Will probably have to rollback some of these changes for Unix later.





git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@372 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2008-03-03 14:41:15 +00:00
..
dbase Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +00:00
dht Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +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 Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +00:00
rsiface Significant improvements to DHT behaviour, and reconnection attempts. 2008-03-02 14:25:59 +00:00
rsserver Significant improvements to DHT behaviour, and reconnection attempts. 2008-03-02 14:25:59 +00:00
scripts Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +00:00
serialiser Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +00:00
server Added Cache's to retroshare configuration. 2008-02-09 12:47:45 +00:00
services Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +00:00
tcponudp Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +00:00
upnp Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +00:00
util Changes required to get Retroshare V0.4 working under windows. 2008-03-03 14:41:15 +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
---------------------------------------------