RetroShare is a Free and Open Source cross-platform, Friend-2-Friend and secure decentralised communication platform.
Go to file
defnax b04c6af675 update headerimage
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7545 b45a01b8-16f6-495d-af2f-9b41ad6348cc
2014-09-20 14:32:23 +00:00
build_scripts update headerimage 2014-09-20 14:32:23 +00:00
libbitdht/src updated the MinGW build bat files 2014-03-05 22:46:37 +00:00
libretroshare/src removed some debug info 2014-09-16 19:53:23 +00:00
openpgpsdk/src Updated external library to openssl-1.0.1h 2014-06-05 23:51:48 +00:00
plugins Changed plugins to the new interface 2014-08-26 22:16:32 +00:00
retroshare-gui/src fixed up MainWindow layout 2014-09-16 20:15:39 +00:00
retroshare-nogui/src added missing -lpthread for some systems 2014-09-09 17:05:20 +00:00
rsctrl/src Added Transfer State to RPC messages 2013-04-22 22:40:30 +00:00
supportlibs/pegmarkdown Merged revision 7410 from v0.5.5 2014-06-21 21:12:27 +00:00
tests completed addition of get statistic feature of gxs 2014-07-20 11:21:06 +00:00
build-all-mingw32make.bat updated the MinGW build bat files 2014-03-05 22:46:37 +00:00
README.txt added info about libssh-0.6.0rc1 2013-08-28 03:31:50 +00:00
RetroShare.pro Added pegmarkdown to the main project file. 2012-12-16 21:22:14 +00:00

To compile:

	- install the package dependencies. On ubuntu:
		# sudo apt-get install libglib2.0-dev libupnp-dev qt4-dev-tools libqt4-dev libssl-dev libxss-dev \
		       libgnome-keyring-dev libbz2-dev libqt4-opengl-dev libqtmultimediakit1 qtmobility-dev      \
			   libspeex-dev libspeexdsp-dev libxslt1-dev libprotobuf-dev protobuf-compiler cmake         \
			   libcurl4-openssl-dev

	- create project directory (e.g. ~/retroshare) and check out the source code
		# mkdir ~/retroshare
		# cd ~/retroshare && svn co svn://svn.code.sf.net/p/retroshare/code/trunk trunk

	- create a new directory named lib
		# mkdir lib

	- get source code for libssh-0.5.4, unzip it, and create build directory (if needed) 

		# cd lib
		# wget https://red.libssh.org/attachments/download/41/libssh-0.5.4.tar.gz
		# tar zxvf libssh-0.5.4.tar.gz
		# cd libssh-0.5.4
		# mkdir build
		# cd build
		# cmake -DWITH_STATIC_LIB=ON ..
		# make
		# cd ../../..

		NB: There is a new libssh-0.6.0rc1 which fixes some bugs from v0.5.4, 
		The procedure is the same as above, except for the following line. 
		# cmake -DWITH_STATIC_LIB=ON -DWITH_GSSAPI=OFF ..

	- get source code for sqlcipher, and build it (only needed for GXS) 

		# cd lib
		# git clone git://github.com/sqlcipher/sqlcipher.git
		# cd sqlcipher
		# ./configure --enable-tempstore=yes CFLAGS="-DSQLITE_HAS_CODEC" \
		  LDFLAGS="-lcrypto"
		# make
		# cd ..

	- go to your svn base directory
		# cd trunk

	- go to libbitdht and compile it
		# cd libbitdht/src && qmake && make clean && make -j 4 

	- go to openpgpsdk and compile it
		# cd ../../openpgpsdk/src && qmake && make clean && make -j 4

	- go to supportlibs and compile it
		# cd ../../supportlibs/pegmarkdown && qmake && make clean && make -j 4

	- go to libretroshare and compile it
		# cd ../../libretroshare/src && qmake && make clean && make -j 4

	- go to rsctrl and compile it
		# cd ../../rsctrl/src && make &&

	- go to retroshare-nogui, and compile it
		# cd ../../retroshare-nogui/src && qmake && make clean && make -j 4

	- go to retroshare gui and compile it
		# cd ../../retroshare-gui/src && qmake && make clean && make -j 4

	- to use the SSH RS server (nogui):

		# ssh-keygen -t rsa -f rs_ssh_host_rsa_key					# this makes a RSA
		# ./retroshare-nogui -G										# generates a login+passwd hash for the RSA key used.
		# ./retroshare-nogui -S 7022 -U[SSLid] -P [Passwd hash]

	- to connect from a remote place to the server by SSH:

		# ssh -T -p 7022 [user]@[host]

		and use the command line interface to control your RS instance.

List of non backward compatible changes for V0.6:
================================================

- in rscertificate.cc, enable V_06_USE_CHECKSUM
- in p3charservice, remove all usage of _deprecated items
- turn file transfer into a service. Will break item IDs, but cleanup and
  simplify lots of code.