mzschemeインタプリタオプションをつけたvimのビルドがうまくできない
Macでvimからmzschemeインタフェースを使いと思ってvimの再ビルドをしていますが、かなり手こずっています。
手順としては
という感じで進めました。
メモ・記録として残します。
この手順が間違っている可能性がある事も明記しておきます。
Macportsでvimのビルド準備
まずは下記サイトから、Portfileをダウンロードし
【MacPorts WikiJP】
http://lapangan.net/darwinports/index.php?cmd=read&page=PrivatePortfile%2FVim&word=vim
Portfileとfilesを差し替える。
【差し替えるファイルパス】
/opt/local/var/macports/sources/rsync.macports.org/release/ports/editors/vim/Portfile
さっそくvimのビルドをport経由で試みたのですが、依存関係の7pzipのインストールでこけたので、デフォルトのPortfileの設定から下記で公開されている、Portfileに差し替えました。バージョンもあがっているみたいです。
http://svn.macports.org/repository/macports/trunk/dports/archivers/p7zip/
これで最低限のvimをビルドできるようになりました。
mzschemeのインタプリタオプションをつけたビルド
次に、mzschemeをインストールするのですが、portから
sudo port install mzscheme
もしくは、公式サイトからダウンロードして配置する方法の2つです。
/usr/local/plt
に公式ページからダウンロードし展開したファイル群を配置しておきます。
コンソールからmzschemeが起動できるか確認もしておきます。
次に、port経由でbuildするので、Portfileのconfigureに+mzscheme指定mzschemeのパス*1を追加します。
variant mzscheme {
configure.args-append --enable-mzschemeinterp --with-plthome=/usr/local/plt
}
これでビルドを行うと、
ld: framework not found PLT_MzScheme collect2: ld returned 1 exit status
とエラーが表示されたので、Portfileのconfigure.envのLDFLAGSに
-F${prefix}/Library/Frameworks
を追加します。
そうすると、コンパイルできるようになります。
コンパイルしたVimを起動すると、
dyld: Library not loaded: PLT_MzScheme.framework/Versions/371_3m/PLT_MzScheme
とエラーの表示がされます。
起動確認の為だけにシンボリックリンクで試してみると、起動できました。*2
本来は、環境変数 DYLD_FALLBACK_FRAMEWORK_PATH をすると良いそうです。
has関数で、mzshemeインタプリタが使えるかどうか試します。
1が返され、mzschemeインタフェースが使用できる事が確認できました。
が・・・
:mzscheme(+ 1 1)
と試すと
E185: Cannot find color scheme desert Press ENTER or type command to continueVim: Caught deadly signal BUS
エラーが表示されて、vimが落ちてしまいます。
<< 今ここ
最後に
うーん、厳しいなぁ。
mzschemeインタフェースを使えるようにするのがここまで難しかったとは・・・
一時断念し、schemeの取り組みに集中し馴れてきた頃に最終目標としてvimからschemeを使えるようにするとか。
断念する事も勇気か。でも、次する時にうまくできるとも限らないしな。
悩ましい。
最後になりましたが、今回のMacports経由のvimコンパイル作業に関して、下記サイトでコンパイルしたvimを公開している「Sakamotoさん」に色々と相談をして色々とアドバイスを頂きました。改めてお礼申し上げます。
http://sourceforge.jp/forum/forum.php?forum_id=13420