I'm writing this as I go, so you'll see what I had to do:

1. use Macports to install QT4:

sudo /opt/local/bin/port install qt4-mac

2. start the compile script:
sh compile_rs_release.sh

3. you'll most likely receive this error:
ld: in ../lib/libretroshare.a, archive has no table of contents
According to this post "This happens when the modify time on library is later than the timestamp on the library index. It's not an uncommon issue for building software on the Mac. The usual cause is builds that copy .a files and are unaware of this mac feature.";


ranlib src/retroshare-v0.3.52a/rs-core/src/lib/libretroshare.a

4. open up src/retroshare-v0.3.52a/rs-core/src/make.opt search for
LIBS = -L$(LIBDIR) -lretroshare
and change it into
LIBS = -Wl,-search_paths_first LIBS += -L$(LIBDIR) -lretroshare

Starting the compile script will lead you to a good core build and the QT build will start:

make[1]: Nothing to be done for `all'. 4. build Qt GUI (release version)

5. This will fail and you'll have to edit src/retroshare-v0.3.52a/rs-Qt-gui/src/RetroShare.pro (! not 0.4.0?! whatever…)
Look for this:
!win32 { LIBS += -L../../../../lib -lretroshare -lKadC -lminiupnpc -lssl -lcrypto -lqcheckers }
and change it to this:
!win32 { LIBS += -L../../../../lib -Wl,-search_paths_first -lretroshare -lKadC -lminiupnpc -lssl -lcrypto -lqcheckers }

6. After starting the script once again you'll launch into more trouble…

4. build Qt GUI (release version) sed: 1: "Makefile": invalid command code M

Undefined symbols: "_XPGP_add_certificate", referenced from: sslroot::addCertificate(cert*) in libretroshare.a(xpgpcert.o) "_PEM_read_bio_XPGP", referenced from:


ld: symbol(s) not found
collect2: ld returned 1 exit status

theoretically the change made in 5. should prevent this… I'll look into this tomorrow :) any ideas?