2008年11月3日月曜日

MacPortsでsvkをインストールする方法

Subversionのデータを、履歴共々移行したいけど、移行先がsvnadminを使える環境じゃないから、この方法を使って移行としようとした。それはまだやってないんだけど、とりあえずsvkをインストールしようとしたら、すんなり入らなかったので、インストール方法を書いておこうと思う。

ここから長くなるので、最初に手順だけ書いておくと

% sudo port install svk
% perl -MCPAN -e shell
% sudo port install -f svk
% sudo port clean sqlite3
% sudo port install sqlite3
% sudo port install -f svk

以下は、詳しいエラーメッセージと手順の説明。

ちなみに参考URLは、

Mac port apache2 install 失敗 - matoken’s meme -hatena-
MacPortsのsvk - pLab blog

まず普通に、

% sudo port install svk

ってやると、

---> Fetching p5-file-temp-svkonly
---> Attempting to fetch File-Temp-0.17.tar.gz from http://cpan.perl.org/authors/id/T/TJ/TJENNESS/
---> Verifying checksum(s) for p5-file-temp-svkonly
---> Extracting p5-file-temp-svkonly
---> Configuring p5-file-temp-svkonly
---> Building p5-file-temp-svkonly with target all
---> Staging p5-file-temp-svkonly into destroot

You must install or activate this package with '-f' (force) as it needs to overwrite files installed by the perl5.8 port

---> Installing p5-file-temp-svkonly 0.17_0
---> Activating p5-file-temp-svkonly 0.17_0

Error: Target org.macports.activate returned: Image error: /opt/local/lib/perl5/5.8.8/File/Temp.pm is being used by the active perl5.8 port. Please deactivate this port first, or use the -f flag to force the activation.

Error: The following dependencies failed to build: p5-file-temp-svkonly p5-file-type p5-freezethaw p5-io-digest p5-perlio-via-dynamic p5-internals p5-io-pager p5-list-moreutils p5-locale-maketext-lexicon p5-log-log4perl p5-path-class p5-perlio-eol p5-perlio-via-symlink p5-svn-mirror p5-bsd-resource p5-data-uuid p5-file-chdir p5-svn-simple subversion-perlbindings apr apr-util db46 sqlite3 readline cyrus-sasl2 neon serf subversion p5-term-readkey p5-timedate p5-uri p5-vcp-autrijus-snapshot p5-html-tree p5-html-parser p5-html-tagset p5-ipc-run3 p5-regexp-shellish p5-text-diff p5-xml-autowriter p5-xml-parser p5-universal-require p5-version p5-yaml-syck

Error: Status 1 encountered during processing.

って言われちゃう。そこで、ここにあるように

% perl -MCPAN -e shell

をする。適当にreturn押してると終わるから、その後

%sudo port install -f svk

ってすると、今度は

---> Fetching sqlite3
---> Attempting to fetch sqlite-3.6.4.tar.gz from http://www.sqlite.org/
---> Verifying checksum(s) for sqlite3
---> Extracting sqlite3
---> Configuring sqlite3
---> Building sqlite3 with target all

Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_databases_sqlite3/work/sqlite-3.6.4" && gnumake all " returned error 2

Command output: sed -e s/--VERS--/3.6.4/ ./src/sqlite.h.in |
sed -e s/--VERSION-NUMBER--/3006004/ >sqlite3.h
/usr/bin/gcc-4.0 -O2 -o mkkeywordhash -DSQLITE_OMIT_LOAD_EXTENSION=1 ./tool/mkkeywordhash.c
./mkkeywordhash >keywordhash.h
/usr/bin/gcc-4.0 -O2 -o lemon ./tool/lemon.c
cp ./tool/lempar.c .
cp ./src/parse.y .
./lemon -DSQLITE_OMIT_LOAD_EXTENSION=1 parse.y
mv parse.h parse.h.temp
f ./addopcodes.awk parse.h.temp >parse.h
/bin/sh: f: command not found
gnumake: [parse.c] Error 127 (ignored)
cat parse.h ./src/vdbe.c | -f ./mkopcodeh.awk >opcodes.h
/bin/sh: -f: command not found
  cat: stdout: Broken pipe
   gnumake: *** [opcodes.h] Error 127

Error: The following dependencies failed to build: p5-svn-mirror p5-svn-simple subversion-perlbindings apr-util sqlite3 cyrus-sasl2 neon serf subversion p5-term-readkey p5-timedate p5-uri p5-vcp-autrijus-snapshot p5-html-tree p5-html-parser p5-html-tagset p5-ipc-run3 p5-regexp-shellish p5-text-diff p5-xml-autowriter p5-xml-parser p5-universal-require p5-version p5-yaml-syck

Error: Status 1 encountered during processing.

って言われちゃう。そしたら、ここにあるように

% sudo port clean sqlite3
% sudo port install sqlite3

ってやると、Sqlite3のインストールがうまくいく。そしたら最後に、

% sudo port install -f svk

ってやると、やっとインストール完了。


0 コメント:

コメントを投稿