Da ich mich langsam aber sicher daran machen sollte, meine im Herbst 2009 abgeschlossene Lizentiatsarbeit zu publizieren, nahm ich mir vor einigen Tagen vor, die über SVN versionierten LaTeX-Dateien zu branchen. Dies ist nötig, weil ich für die Publikation deutlich andere Anforderungen an das Format der Arbeit habe als beim Lizentiat.
Aus dem im theoretisch einminütigen Vorgang mit svn copy wurde dann aber leider ein mehrstündiger Installations- und Debuggingmarathon. Etwas, dass in der IT leider viel zu oft vorkommt.
subversion: Versuch 1
Was war geschehen? Zuerst einmal sprach mein unter Mac OS X installierter SVN-Client in der Version 1.4 nicht mehr mit dem mittlerweile auf 1.6 aktualisierten SVN-Server, der unter Debian GNU/Linux installiert ist.
Ein
sudo port install subversion
ging aber fürchterlich schief:
---> Computing dependencies for subversion ---> Fetching apr ---> Attempting to fetch apr-1.3.8.tar.bz2 from http://apache.mirroring.de/apr ---> Attempting to fetch apr-1.3.8.tar.bz2 from http://www.mirrorservice.org/sites/ftp.apache.org/apr ---> Attempting to fetch apr-1.3.8.tar.bz2 from http://apache.multidist.com/apr ---> Attempting to fetch apr-1.3.8.tar.bz2 from http://arn.se.distfiles.macports.org/apr ---> Attempting to fetch apr-1.3.8.tar.bz2 from http://apache.mirror.rafal.ca/apr ---> Attempting to fetch apr-1.3.8.tar.bz2 from http://www.ibiblio.org/pub/mirrors/apache/apr ---> Attempting to fetch apr-1.3.8.tar.bz2 from http://archive.apache.org/dist/apr ---> Verifying checksum(s) for apr ---> Extracting apr ---> Configuring apr Error: Target org.macports.configure returned: configure failure: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_apr/work/apr-1.3.8" && ./configure --prefix=/opt/local --with-installbuilddir=/opt/local/share/apr-1/build " returned error 77 Command output: checking build system type... powerpc-apple-darwin9.8.0 checking host system type... powerpc-apple-darwin9.8.0 checking target system type... powerpc-apple-darwin9.8.0 Configuring APR library Platform: powerpc-apple-darwin9.8.0 checking for working mkdir -p... yes APR Version: 1.3.8 checking for chosen layout... apr checking for gcc... /usr/bin/gcc-4.0 checking for C compiler default output file name... configure: error: in `/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_apr/work/apr-1.3.8': configure: error: C compiler cannot create executables See `config.log' for more details. Error: The following dependencies failed to build: apr apr-util db46 sqlite3 readline cyrus-sasl2 openssl neon serf Error: Status 1 encountered during processing.
XCode
Das Problem war rasch gefunden: Da ich meinen PowerMac G5 vor einigen Wochen von Max OS X 10.4 (Tiger) auf 10.5 (Leopard) aktualisiert hatte, gab es ein Problem mit dem C-Compiler. In Foren wurde empfohlen, XCode auf die neueste Version zu bringen. Ich hatte 2.5 installiert, doch aktuell ist Version 3.
Da ich eine Download-Orgie von Apples ADC-Server verhindern wollte, suchte ich in meinem Software-Ordner nach Installationsmedien für Mac OS X 10.5 — und fand diese tatsächlich. Im Ordner „Optional Installs“ lag dann auch prompt XCode 3 bereit.
subversion: Versuch 2
Nach einer einstündigen Installation von XCode war der Compiler ready. MacPorts stoppte aber beim erneuten
sudo port install subversion
mit einer anderen Fehlermeldung:
---> Verifying checksum(s) for db46 Error: Checksum (md5) mismatch for patch.4.6.21.1 Error: Checksum (md5) mismatch for patch.4.6.21.2 Error: Checksum (md5) mismatch for patch.4.6.21.3 Error: Checksum (md5) mismatch for patch.4.6.21.4 Error: Target org.macports.checksum returned: Unable to verify file checksums Log for db46 is at: /opt/local/var/macports/logs/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_db46/main.log Error: The following dependencies failed to build: ... Error: Status 1 encountered during processing.
Der Fehler ist im Netz bekannt. Zu seiner Behebung wurde empfohlen:
If you’re in a terrible rush, then you can do the following:
- run port install db46 (which is going to fail)
- change dir to where the port command downloaded the stuff (mine is /opt/local/var/macports/distfiles/db4/4.6.21_6)
- remove the patches
- do:
for i in 1 2 3 4; do echo $i && wget http://distfiles.macports.org/db4/4.6.21_6/patch.4.6.21.$i; done- run „port install db46“ again
Quelle: db46 – Checksum (md5) mismatch for patch.4.6.21.X
Der angegebene Pfad stimmte bei mir nicht. Und leider konnte ich die Anweisung mit der for-Schleife auch nicht in einer Shell ausführen und musste deshalb die Patches eigenhändig runterladen. Danach konnte subversion und seine Abhängigkeiten aber problemlos kompiliert werden.
svn copy
Nun endlich war ich ready:
svn copy http://repo.tld/lizentiat/ http://repo.tld/publikation/
Dies (und viele andere Aktionen auch, wie bspw. ein simples svn del resultierten in einem Segmentation Fault.
svn serf oder neon?
Wie ich nach einigem googlen herausfand, musste ich die svn-Konfiguration unter /etc/subversion/servers auf dem Debian-Server anpassen:
... http-library = neon ...
Bis anhin war die verwendete Library serf gewesen.
Anschliessend konnte ich — mit ca. 2-3-stündiger Verspätung — endlich den Branch erzeugen und die ersten Anpassungen am Layout vornehmen.