Archive for 11月, 2007

OS X 10.3.9 Gauche インストール

水曜日, 11月 14th, 2007

昨日の続き

同じ目に遭っている人発見。グーグル様ありがとう。
Gauche at Lingr > Archives > January 20, 2007
Kahuaのセミナー会場でGaucheのインストールがうまくいってないことを
発見するなんて、かわいそう。(今さらだけど、Lingrすごいね)

hori
# gauche0.8.9のインストールが不完全でした。早々に脱落です(涙)。残り時間は気楽にプロジェクターの画面見てます。

shiro
# えー今落として入れるんじゃだめっすか

hori
# MacOSX10.3.9には対応してるでしょうか?

shiro
# 手元で確認したのは10.4.8です
# 0.8.8までは10.3あたりで確認していたと思うので、引っかかることはなさそうな気もしますが…
# –enable-threads=pthreadsは必須です

hori
# gauche0.8.9のmake checkをやり直してみました。
# 26×26masa.edw
# といわれるのですが……
# 4:21pm (January 20) 26×26hori
#
gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1

gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1

hori
#
In file included from net.c:36:
gauche/net.h:86:1: warning: “_SS_ALIGNSIZE” redefined
In file included from gauche/net.h:44,
from net.c:36:
/usr/include/sys/socket.h:232:1: warning: this is the location of the previous definition
In file included from net.c:36:
gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1
など。

In file included from net.c:36:
gauche/net.h:86:1: warning: “_SS_ALIGNSIZE” redefined
In file included from gauche/net.h:44,
from net.c:36:
/usr/include/sys/socket.h:232:1: warning: this is the location of the previous definition
In file included from net.c:36:
gauche/net.h:92: error: redefinition of `struct sockaddr_storage’
make[2]: *** [net.o] Error 1
など。

shiro
# おろ。sockaddr_storageの検出に失敗してるっぽいです

hori
# インストールは出来て
#
hori:~/Gauche-0.8.9 tahr$ gosh -V
Gauche scheme interpreter, version 0.8.9 [utf-8,pthreads]

hori:~/Gauche-0.8.9 tahr$ gosh -V
Gauche scheme interpreter, version 0.8.9 [utf-8,pthreads]

shiro
# configure後に、src/gauche/config.hの
# /* #undef HAVE_STRUCT_SOCKADDR_STORAGE */
# これを
# #define HAVE_STRUCT_SOCKADDR_STORAGE 1
# に変えて、make clean ; make
# してみてください

hori
# 再make中です。compile.cが長い…

これでうまくいきました。

configure後に、src/gauche/config.hの
/* #undef HAVE_STRUCT_SOCKADDR_STORAGE */
これを
#define HAVE_STRUCT_SOCKADDR_STORAGE 1
に変えて、make clean ; make
してみてください

無事 Gauche がインストールされました。make check も問題なし。
確かに compile.c で死ぬほど時間かかります。

コンピュータの機種: iBook G4
CPU タイプ: PowerPC G4 (1.1)
CPU 速度: 1.07 GHz
二次キャッシュ(CPU 単位): 512 KB
メモリ: 1.25 GB
バス速度: 133 MHz

だと

機種名: Mac mini
プロセッサ名: Intel Core Solo
プロセッサ速度: 1.5 GHz
二次キャッシュ: 2 MB
メモリ: 2 GB
バス速度: 667 MHz

の十倍ぐらいコンパイルに時間がかかる。

Kahua インストール失敗

火曜日, 11月 13th, 2007

Karetta|Gaucheプログラミング立読み版|Kahuaインストールを見ながら Kahua を OS X (10.3.9) に入れようとしているのだが、
make check でこけるなあ。(OS X 10.4.10 では問題なし)

gosh -V
Gauche scheme interpreter, version 0.8.12 [utf-8,pthreads]

Kahua-1.0.7.1

gosh: "error": Compile Error: cannot find file "gauche/net.scm" in *load-path* ("../src" "/usr/local/share/gauche/site/lib" "/usr/local/share/gauche/0.8.12/lib")
"././rollback.scm":9:(use gauche.net)

ん、試しに Gauche のソースディレクトリで make check してみると
同じエラーが出てる…

(追記)解決しました。

第三世代の iPod nano の謎の部品

火曜日, 11月 13th, 2007

おもちゃがやってきた - YUSCO通信 - 楽天ブログ(Blog)でも書かれている謎の部品nec_0085.JPG
iPod nano: Dock アダプタについて
ということで、将来使えるかもしれないアダプタのようです。
確かになんの説明もないのは不親切。

mi scheme モード

火曜日, 11月 13th, 2007

マックのエディタ mi の scheme モード

インストールするときに、
メニューから[オプションメニュー→新規モード(インポート)]で選択するファイル
解凍して出来た scheme を更にダブルクリックしてできる scheme.1 ファイルを
指定しないとインストールできない。まあ StuffItExpanderで解凍してるせいかもしれないが。

Firebug can make Gmail slow

月曜日, 11月 12th, 2007

Firebug can make Gmail slow
だそうだ。

OS X + gosh でデリートキー(バックスペース)矢印キーがきかない

月曜日, 11月 12th, 2007

OSX で HHK Lite を使っているのですが、gosh でデリートキーやら左矢印やらをを押すと
^H とか ^[[D が表示されてしまいます。
デリートキーについてはターミナルのウインドウの設定の
「delete キーで backspace を送る」
のチェックを外してやれば一応うまくいくのですが
左矢印は相変わらす backspace にはなってくれません。

Gauche 的には
Readline module for Gauche
を使うというのがありますが

コマンドラインインタプリタで
Python な人も
MacPorts + rlwrap で Mac OS X 上の Python インタプリタが良い感じ
Ruby な人も
rlwrap - readline ラッパーCommentsAdd Star
同じ問題に遭遇するようで
rlwrap, Emacs midi-input and p5httpd
で解決みたいです。

私は OS 10.4 では fink からインストールしました。

fink install rlwrap

OS 10.3 では fink に入っていなかったのでソースから make
そのさい fink の readline を読むように

export LDFLAGS=-L/sw/lib
ln -s /sw/include/readline /usr/include/readline
./configure
make
make install

としました。

rlwrap gosh

でうまくいきました。ヒストリー機能もあります。

.bash_profile に

alias gosh='rlwrap gosh'

してしまいました。

(追記)ledit というのもあるよ。

Rails + Apache1.3 + FastCGI + OSX(10.3.9 Panther)

木曜日, 11月 8th, 2007

gem について
Rails アプリを立ち上げたときに、こんなエラーが出たら

./script/../config/boot.rb:29: undefined method `gem' for main:Object (NoMethodError)
from script/server:2

こうする

gem update --system

参考:
WEBメモ モデルがつくれない

はまり1.
まずgemにパスが通ってないといけない
finkの方を見ないように

export PATH=/usr/local/bin:/sw/bin:$PATH

参考:
pools.jp | OSX Panther (OSX10.3.9) へのRuby on Rails 導入メモ
304 - narucissus is Not Modified: Mac OS X 10.3(Panther)でRuby on Rails その2

railsのインストール

gem install rails --include-dependencies

参考:
cyano: Mac OS XでCapistranoを使う方法

はまり2.
まず WEbrick での動作確認ではまる

cd rails_app/script
ruby server

では駄目

/rails/info/properties' not found.

以下でOK

cd rails_app/
ruby script/server

参考:
2007-08-26 - たら風呂

まずCGIモードで動かすために

アプリをパブリックの外に置くためにシンボリックリンクを貼る

はまり3.

File exsits

と出るときはリンクの貼る向きが逆かも。
参考:
RoR Wiki 翻訳 Wiki - シンボリックリンクを使ってWebサイトにRailsアプリを接ぎ木する方法

.htaccessの書き換え
はまり4.
Alias の設定はいらない
RewriteBase を設定

RewriteBase /~(user_name)/demo

参考:
さくらのレンタルサーバにRuby on Railsをインストールする方法

いよいよFastCGiで動かす

fcgi-2.4.0 の make

tar -zxvf fcgi-2.4.0.tar.gz
cd fcgi-2.4.0/
./configure
make
sudo make install

mod_fastcgi のインストールと http.conf 書き換え

tar -zxvf mod_fastcgi-2.4.2.tar.gz
cd mod_fastcgi-2.4.2
apxs -o mod_fastcgi.so -c *.c
sudo apxs -i -a -n fastcgi mod_fastcgi.so

参考:
yosshi-log » Blog Archive » Mac OSX + Apache 1.33 + FastCGI
Apache1.3+FastCGIのインストール (MacOSX編) | hippos-lab::blog

はまり5.
User_dir で動かしたいのでマックだと

/private/etc/httpd/users/(user_name).conf

を編集すること


<ifmodule mod_fastcgi.c>
    FastCgiIpcDir /tmp/fcgi_ipc/
#    FastCgiServer /Users/(user_name)/rails_1.2.5/demo/public/dispatch.fcgi 
#      -initial-env RAILS_ENV=development 
#      -processes 15 -idle-timeout 60
</ifmodule>
<directory "/Users/(user_name)/Sites/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</directory>

参考:
Typo のインストール : blog.imladris.jp

はまり6.
tmp と log ディレクトリのパーミッションを Apache から書き込み可能にすること
参考:
pylori*style wiki - RailsでWikiクローンを作る12

はまり7.
demo アプリを作ったときにfcgiに切り替えると
no route
のエラーがでるときは
.htaccess の RewriteRule を書く順番が間違っている。
コメントアウトされているところではなくファイルの末尾に

RewriteRule ^(.*)$ dispatch.fcgi [QSA,L]

を書くこと

Rails は FastCGI じゃないと遅くて使えないかも。
でもサーバの設定が面倒だ。

ああ今日もたくさんはまったなあ。