#long longが128bitであるようなC処理系ってあるのかな。それともみんなint128_tとか使う?
#日系ソフトウェアのGauche特集ってどんなのだろう。時期的には0.9ベースかな。
#そんなのあるんですか
#あれって店頭売りしているんだっけなぁ...
#s/日系/日経/ でした
#日系ソフトウェアって雑誌もリアルにありそう(笑)
#というか、shiroさんに取材はなかったんですか? >特集
#献本ないんですか。
#いや、特に関わってないから無いんじゃないですかね。どんなのか見たくはあるけれど。元の作者がわざわざ出張らなくても成り立つってことは、作者の手を離れて独立した存在になったってことだから、喜ばしいことです。
##サンプルコードがダウンロードできる
#それはいいけど今時lzhなのか...
#zipもあるから、親切ってことなのかな...
#一昨日まったく同じ台詞を職場で聞いたw > 今時lzh
#うーむ... 記事がないからかもしれないけど、コードを見ても何を示したいのかよくわかんない。
#仮引数名に list とか values とか使っちゃうあたり、Schemerのコードじゃないな、たぶん。
#買って来たけど初出が2009/7〜2010/6と書いてあるから連載と同じなんでしょうかねー。
#執筆者はkikainekoさんと中條達雄さんだそうです。
#サンプルコードのアーカイブに入っているreadme.txtにはkikeinekoって書いてある。ひどいな...
#私が初耳って時点でどーなんだろって感じですね
#$ sudo apt-get install gauche
[sudo] password for yasuyuki:
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています
状態情報を読み取っています... 完了
以下のパッケージが自動でインストールされましたが、もう必要とされていません:
db4.8-util rc libpam-cracklib cracklib-runtime libcrack2 libreadline5
これらを削除するには 'apt-get autoremove' を利用してください。
提案パッケージ:
gauche-doc r5rs-doc
以下のパッケージが新たにインストールされます:
gauche
アップグレード: 0 個、新規インストール: 1 個、削除: 0 個、保留: 6 個。
1,858kB 中 0B のアーカイブを取得する必要があります。
この操作後に追加で 6,603kB のディスク容量が消費されます。
未選択パッケージ gauche を選択しています。
(データベースを読み込んでいます ... 現在 178538 個のファイルとディレクトリがインストールされています。)
(.../gauche_0.8.13-1_i386.deb から) gauche を展開しています...
man-db のトリガを処理しています ...
gauche (0.8.13-1) を設定しています ...
libc-bin のトリガを処理しています ...
ldconfig deferred processing now taking place
$ gosh -V
libgauche version mismatch: libgauche 0.9,utf8,pthreads, expected 0.8.13,utf8,pthreads
$ dpkg -L | grep gauche
dpkg-query: --listfiles は引数に少なくとも 1 つのパッケージ名が必要です
Use --help for help about querying packages;
Use --license for copyright license and lack of warranty (GNU GPL).
$ dpkg -l | grep gauche
ii gauche 0.8.13-1 A Scheme implementation designed for script
#なんかだんだん事態が把握できてきました。
#ん、つまりdebで入ったGaucheは0.8.13で、別途入れた0.9のgoshがどっかに残ってたってこと?
#$ strings /usr/bin/gosh | grep utf8,pthreads
0.8.13,utf8,pthreads
$ strings /usr/lib/libgauche.so.0.8.13 | grep utf8,pthreads
0.8.13,utf8,pthreads
$ strings /usr/lib/libgauche.so.0 | grep utf8,pthreads
0.8.13,utf8,pthreads
#ますます分からなくなってきた。
#$ ls -l /usr/local/lib
合計 3520
drwxr-xr-x 3 root root 4096 2010-12-22 08:02 gauche
lrwxrwxrwx 1 root root 18 2010-05-19 21:19 libgauche.so.0 -> libgauche.so.0.9.0
-rwxr-xr-x 1 root root 3589478 2010-05-19 21:19 libgauche.so.0.9.0
drwxrwsr-x 4 root staff 4096 2010-04-29 21:18 python2.6
drwxr-xr-x 3 root root 4096 2010-06-10 11:17 site_ruby
#これが残ってるからか?
#which goshすると?
#$ which gosh
/usr/bin/gosh
#/usr/localのを消したら0.8.13が正常動作しました。お騒がせしました。
#Gaucheのmake uninstallってlibは消さない仕様ですか?
#Ubuntu 104のGaucheってまだ0.8.13だったんだ。
#ディレクトリは残るんだけどlibgauche.soは消したような気がするがなあ。あ、まてよ、mkverslinkの絡みがあるから、バージョン番号つきのdsoが残っちゃうのか。
#つまり、/usr/local/bin/goshはrpathされてる/usr/local/lib/libgauche.soをまず探すんだけどそれが見つからなくて、/usr/lib/libgauche.soを見つけて使っちゃったってことかな。
#あれちょっと待てよ。make uninstallしたってことは/usr/local/bin/goshは消えてたんだよね?
#LD_LIBRARY_PATHに/usr/local/libが入ってたりする?
#そうです。make uninstallしたから安心していた。RT : shiro: ん、つまりdebで入ったGaucheは0.8.13で、別途入れた0.9のgoshがどっかに残ってたってこと?
#$ echo $LD_LIBRARY_PATH
#からっぽですね。
#/etc/ld.so.conf あたりに /usr/local/lib がはいってるとか
#ldd `which gosh`
#$ cat /etc/ld.so.conf
include /etc/ld.so.conf.d/*.conf
$ ls /etc/ld.so.conf.d/
GL.conf i486-linux-gnu.conf libasound2.conf libc.conf
$ cat /etc/ld.so.conf.d/*
/usr/lib/nvidia-96
# Multiarch support
/lib/i486-linux-gnu
/usr/lib/i486-linux-gnu
/usr/lib/alsa-lib
# libc default configuration
/usr/local/lib
#これだ。
#make uninstallがちゃんと消さないのが混乱の元だな。
#む、gauche.recordで継承つきのdefine-record-typeを使った動作がバグってるっぽいな。
#直した。