Mit Subversion möchte ich gern stets auf neuestem Stand bleiben. Daher kompiliere ich mir nachträglich die jeweils letzte Version Subversion als SVN Server in den Standard Apache von Snow Leopard nachträglich einkompilieren, habe ich mir hier mal eine kleine Notiz hinterlegt.
Download der beiden Archive:
- subversion-1.x.xx.tar.bz2
- subversion-deps-1.x.xx.tar.bz2
- OpenSSL habe ich via MacPorts installiert, da ich in der Vergangenheit Stress mit dem Mac-Original hatte. Aus diesem Grund wird der Schalter –with-libs=/opt/local/lib gesetzt.
# Variable für Version
#
SVNVER=1.6.16
# Zielverzeichnis aufsetzen
#
rm -r /usr/local/subversion-${SVNVER}
mkdir -p /usr/local/subversion-${SVNVER}
rm /usr/local/subversion
ln -sf /usr/local/subversion-${SVNVER} /usr/local/subversion
# Beide Tar-Archive in das gleiche Verzeichnis entpacken
#
tar -xvf subversion-${SVNVER}.tar.bz2
tar -xvf subversion--deps-${SVNVER}.tar.bz2
# Zuerst "neon" kompilieren/installieren,
# da das Rest darauf referenziert
#
cd subversion-${SVNVER}/neon
./configure \
--with-ssl \
--with-libs=/opt/local/lib
make && make install
# Wichtiger Hinweis!!
# Nicht "--enable-shared" sonst gibt's folgenden Fehler:
#
Undefined symbols:
"_SSL_SESSION_cmp", referenced from:
_ne__negotiate_ssl in ne_openssl.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make[1]: *** [libneon.la] Error 1
make: *** [subdirs] Error 2
# Subversion selbst kompilieren/installieren
# Das --with-jdk ist wichtig, da nach "jni.h" erforderlich ist
#
cd ..
./configure \
--prefix=/usr/local/subversion \
--enable-shared \
--with-apache-libexecdir=/usr/local/apache2/libexec \
--with-apxs=/usr/sbin/apxs \
--with-jdk=/Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home \
--with-ssl \
--enable-javahl
make && make install && make install-javahl
# Symlinks der SVN Binaries in den PATH.
# Überschreiben der Originale
#
for exe in /usr/local/subversion/bin/svn*; do
bn=`basename ${exe}`
sudo /bin/ln -sf ${exe} /usr/bin/${bn}
done;
# Apache Syntax kontrollieren, ggf. korrigieren
#
sudo apachectl -M
# Apache neu starten
#
sudo apachectl graceful
Durch das make install-javahl ist der JNI Zugriff z.B. mit dem Eclipse Plugin subclipse möglich










Kommentar abgeben