#{{{
skullcanyon% gosh -V
Gauche scheme shell, version 0.9.6_pre6 [utf-8,pthreads], x86_64-pc-linux-gnu
skullcanyon% make
if [ . != "." ]; then ./wirebuildlibs "." "ln -s"; fi
for d in gc src lib ext doc examples; do (cd $d; make all) || exit 1; done
make[1]: ディレクトリ '/tmp/Gauche_pre7/gc' に入ります
make[2]: ディレクトリ '/tmp/Gauche_pre7/gc' に入ります
make[2]: ディレクトリ '/tmp/Gauche_pre7/gc' から出ます
make[1]: ディレクトリ '/tmp/Gauche_pre7/gc' から出ます
make[1]: ディレクトリ '/tmp/Gauche_pre7/src' に入ります
GAUCHE_LOAD_PATH="" GAUCHE_DYNLOAD_PATH="" "/home/lisper/arch/x86_64/bin/gosh" -l./preload -I../src -I../lib -I../lib ./precomp -D LIBGAUCHE_BODY libextra.scm
gosh: "ERROR": cannot find "gauche/collection" in ("/home/lisper/arch/x86_64/share/gauche-0.9/site/lib" "/home/lisper/arch/x86_64/share/gauche-0.9/0.9.6_pre7/lib" "/home/lisper/arch/x86_64/share/gauche/site/lib" "/home/lisper/arch/x86_64/share/gauche/0.9/lib")
make[1]: *** [Makefile:29: libextra.c] エラー 1
make[1]: ディレクトリ '/tmp/Gauche_pre7/src' から出ます
make: *** [Makefile:41: all] エラー 1
}}}
#こんな感じで src/ フォルダ内だけ動きが違う状況です。
{{{
skullcanyon% pwd
/tmp/Gauche_pre7
skullcanyon% gosh -V
Gauche scheme shell, version 0.9.6_pre6 [utf-8,pthreads], x86_64-pc-linux-gnu
skullcanyon% gosh
gosh>
skullcanyon% cd src
skullcanyon% gosh
*** ERROR: cannot find "gauche/interactive" in ("/home/lisper/arch/x86_64/share/gauche-0.9/site/lib" "/home/lisper/arch/x86_64/share/gauche-0.9/0.9.6_pre7/lib" "/home/lisper/arch/x86_64/share/gauche/site/lib" "/ho ...
Stack Trace:
_______________________________________
WARNING: Encountered an error during loading gauche.interactive. Falling back to basic REPL.
gosh>
}}}
#ども。LD_LIBRARY_PATHは何か設定してますか?
#ああっ!失礼しました…編集ミスで LD_LIBRARY_PATH に . が入っていて pre7 のほうの libgauche をロードしてしまいた。
お騒がせしました…。
skullcanyon% echo $LD_LIBRARY_PATH
:/home/lisper/arch/x86_64/lib:/home/lisper/arch/x86_64/j64-807/bin
#チェックアウトしなおして、綺麗にビルドできることまで確認しました。
#goshがバージョン違いのlibgaucheをロードしたらチェックにひっかかるはずなんですがそれが機能してなさっぽい? というあたりでこちらも少し調べてみます。
#ああ、バージョンチェックは_pre7の部分まではチェックしない (0.9.6まで) から
#ひっかからなかったのか。