WiLiKi/CentOS5+x86_64

64bitなLinux (CentOS5+x86_64) で WiLiKi を動かしてはまる。

[[$$amazon-search-result-middle books-jp CentOS]]

Gauche(gosh) がコンパイルできない

rpmfilesで指定しているアーキテクチャーがi686に固定になってる。 どうやって自動生成していいかわからんので、 specファイルを書き換えて対処。かなり適当。

# diff -u Gauche-0.8.12.spec Gauche-0.8.12.zu.spec
        - Gauche-0.8.12.spec  2007-11-27 21:03:56.000000000 +0900
+++ Gauche-0.8.12.zu.spec       2007-11-26 16:23:59.000000000 +0900
@@ -13,7 +13,8 @@
 #    Gauche-VERS.src.rpm          ;; source package

 %define version  0.8.12
-%define encoding utf8
+#%define encoding utf8
+%define encoding eucjp
 %define threads  pthreads

 Summary: Scheme script interpreter with multibyte character handling
@@ -74,6 +75,12 @@

 %build
 ./configure --prefix=/usr --mandir='${prefix}/share/man' --infodir='${prefix}/share/info' --enable-threads=%{threads} --enable-multibyte=%{encoding}
+for i in rpmfiles*txt
+do
+       sed 's/i686-pc-linux-gnu/x86_64-unknown-linux-gnu/' $i >a
+       mv -f a $i
+done
+
 %ifarch i386
 make OPTFLAGS="-fomit-frame-pointer"
 %else

gdbmの構造が64bitと32bitで違うっぽい

WiLiKiを起動するとこう言われる。 dbmが読めなかった時に似ているがdbmはある。

Enter parameters (name=value).  ^D to stop.
#### ERROR: no applicable method for # with arguments (#f)

Stack Trace:
_______________________________________
  0  (language-of (wiliki))
        At line 196 of "/usr/share/gauche/site/lib/wiliki.scm"
  1  (equal? language (language-of (wiliki)))
        At line 196 of "/usr/share/gauche/site/lib/wiliki.scm"
  2  (lang-spec (lang) '&)
        At line 1 of "(input string port)"
  3  (x->string (lang-spec (lang) '&))
        [unknown location]
  4  (lang-spec (lang) '?)
        At line 206 of "/usr/share/gauche/site/lib/wiliki.scm"