CentOSにEmacs23をソースから入れる。

普通に # ./configure ってすると、libpngがないとか何とか散々言われる。ので、そこで言われた通りに、 #./configure  –with-xpm=no –with-jpeg=no –with-png=no –with-gif=no –with-tiff=no ってやると、今度はallocaが無いだなんだとぐだぐだ言われる。 configure: error: a system implementation of alloca is required とかなんとか。仕方ないのでこれも入れてやろうと、yum search alloca で出てきた適当なパッケージを入れてみるも効果無し。 で、結局 ./configure –without-x ってやったら全て解決した。あとはmakeからのmake install。これでRubyソースに色がついた。

Read more

ちゃんとインストールしたはずのruby gemsが使えない

twitterのbotをRubyで書いてた。 require ‘twitter’ require ‘oauth’ ~~~ で、OAuthのためのトークンを取得しようと。 で、実行するとどーしてもoauthのところでエラー吐いて死ぬ。おかしいだろ。 ちゃんとgem install oauthしたし。 などと思って散々頭を悩ませていたが、ぐぐってみたら解決した。 プログラムがoauth.rbだったからいけなかったのだ。 requireとすると最初にカレントディレクトリを読み込むので、自分を読んで終わっていたらしい。 ありえない。ちゃんと一意な名前を付けましょうね・・・

Read more

Net::TwitterでIncorrect signatureが止まらない

Net::Twitterを使って日本語をつぶやきたいが、OAuthを使うと日本語がつぶやけないという話。 普通にBASIC認証でIDとパスワードを渡すと英語・日本語(UTF-8)どっちでもツイートできるのに、OAuthを使うと日本語の時だけIncorrect signatureなどと意味不明な供述をしやがる。ちなみにPerlは5.10.1。 こうして、あとは $nt->update(‘hoge’); でつぶやける。但し英語のみ。 ぐぐってみると、同じ問題がNet::Twitter 3.13003+Net::OAuthで発生するという話がたくさん引っかかるのだが、どれもこれらを最新版にアップデートしたら直ったと書いてある。とっくに3.13006まで上げてるが、まったく直る気配がない。どうしてこうなった。現在は3.13007になっているが、変わらなかった。 英語ならツイートできるわけで、OAuth自体に問題があるとはどうしても思えない。ので、きっとどっかで何かがUTF-8あたりと喧嘩か何かしてるか何かなんだろうなぁ。なんもわからん。ソースを読みにいくという選択肢が無いへっぽこ学生。 一番安直な解決法としては、既にgem twitterをインストールし、OAuthでのあれやこれやの方法を確認できているRubyに移植することなんだが、今ひとつ踏み切れないところ。大したBOTでもないから1日あれば全部移植できるとは思うんだけど、んー。 てことで劇的なNet::TwitterのアップデートがtwitterのBasic認証廃止までにくることを夢見て、今日も寝て待つ俺なのであった。 →つづき:http://blog.naotaco.com/archives/101

Read more