mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-25 15:39:27 -05:00
210 lines
5.7 KiB
Plaintext
210 lines
5.7 KiB
Plaintext
|
|
||
|
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.
|
||
|
qskinobject library (Required when compile with QT 4.3.x)
|
||
|
|
||
|
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 skinobject (only Required when compile with QT 4.3.x)
|
||
|
|
||
|
1. Download skinobject from https://sourceforge.net/projects/qskinwindows/
|
||
|
|
||
|
http://downloads.sourceforge.net/qskinwindows/qskinobject-0.6.1.tar.bz2?
|
||
|
|
||
|
2. untar the qskinobject-0.6.1.tar.bz2
|
||
|
|
||
|
3. run:
|
||
|
qmake
|
||
|
make
|
||
|
|
||
|
4.Copy the libskin.a to your retroshare libs directory.
|
||
|
|
||
|
5.then add to LIBS= -lskin to the RetroShare.pro file:
|
||
|
|
||
|
example(linux):
|
||
|
|
||
|
TARGET = RetroShare
|
||
|
RSLIBS = -L/path/to/your/retroshare/libs/directory/ -lretroshare -lKadC -lKadC -lminiupnpc -lskin -lssl -lcrypto
|
||
|
LIBS = $(RSLIBS)
|
||
|
|
||
|
example (Windows):
|
||
|
|
||
|
win32
|
||
|
{
|
||
|
RC_FILE = gui/images/retroshare_win.rc
|
||
|
|
||
|
"LIBS += -L"../../winlibs" -lretroshare -lssl -lcrypto -lpthreadGC2d -lKadC -lminiupnpc -lz -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32-cygwin -lskin -lgdi32
|
||
|
CONFIG += qt release"
|
||
|
}
|
||
|
|
||
|
---------------------------------------------
|
||
|
Compiling QCheckers game
|
||
|
_____________________________________________
|
||
|
|
||
|
1.qmake
|
||
|
2.make
|
||
|
3.Copy the libqcheckers.a to your retroshare libs directory.
|
||
|
5.then add to LIBS= -lqcheckers to the RetroShare.pro file:
|
||
|
|
||
|
example(linux):
|
||
|
|
||
|
RSLIBS = -L/path/to/your/retroshare/libs/directory/ -lretroshare -lKadC -lKadC -lminiupnpc -lskin -lqcheckers -lssl -lcrypto
|
||
|
LIBS = $(RSLIBS)
|
||
|
|
||
|
example (Windows):
|
||
|
|
||
|
win32
|
||
|
{
|
||
|
RC_FILE = gui/images/retroshare_win.rc
|
||
|
|
||
|
"LIBS += -L"../../winlibs" -lretroshare -lssl -lcrypto -lpthreadGC2d -lKadC -lminiupnpc -lz -lws2_32 -luuid -lole32 -liphlpapi -lcrypt32-cygwin -lskin -lqcheckers -lgdi32
|
||
|
CONFIG += qt release"
|
||
|
}
|
||
|
|
||
|
---------------------------------------------
|
||
|
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 qskinobject (only under QT 4.3.x)
|
||
|
(7) Compile the Qt-Gui.
|
||
|
|
||
|
|
||
|
Email me if you're having trouble:
|
||
|
retroshare@lunamutt.com
|
||
|
---------------------------------------------
|
||
|
|
||
|
|
||
|
|