netinstall.isoでインストールしたてのCentOS6.2でruby1.9.3とrails3.2.1をインストールした。

確認のためにインストールしたついでにメモ。
できる限り標準添付の拡張ライブラリがインストールされるようにした。
後からやっても良いのだけどきにしない。

前提

  • 一般ユーザでおこなった。
  • rbenvやrvmは使用していない。
  • sudoは設定済み

必要になりそうなパッケージのインストール

  sudo yum install wget gcc make
  sudo yum install openssl-devel readline-devel ncurses-devel bison bison-devel gdbm-devel libffi-devel

ソースコードからビルドするのでgccとmake。
他は拡張ライブラリで必要なはず。bisonだけはbison-develだけだと入らなかったので。bison-develがいるかどうかは確認してない。

EPELの設定(libyaml)

libyamlがyumからインストールできなかったので、epelをつかった。EPEL - Fedora Project Wiki

# CentOS6.x
wget http://download.fedora.redhat.com/pub/epel/6/i386/epel-release-6-5.noarch.rpm
# CentOS5.x
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh epel-release-*.rpm

個人的な都合でCentOS5の場合もかいておいた。

libyamlのインストール

sudo yum install libyaml-devel

rubyのインストール

準備ができたのでRubyのインストール。1.9.3-p0で決め打ちです。

mkdir src
cd src
wget ftp://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p0.tar.bz2
cd ruby-1.9.3-p0
./configure
make
sudo make install

/usr/local にインストールされる。PATHは/usr/local/binを通ってたので特になにもしてない。
sudo gem したときにPATHが通ってなかったので visudo で secure_pathに /usr/local/bin を追加したけどそこは今回省略。

railsのインストール

以下ついでのメモ。


JavaScriptのruntimeはV8にしようと思うので、therubyracerに必要なg++をいれた。

sudo yum install gcc-c++

nokogiriでlibxmlとlibxsltが必要なのでそのあたりもいれた。

sudo yum install libxml2-devel libxslt-devel

ついでにmysql

sudo yum install mysql-devel mysql-server

あとは sudo gem install railsとか railsアプリケーションをもってきて bundle installとかとか。
rbenvとかrvmとかでも必要になるパッケージの参考になれば。

ではでは。

Happstackを試そうとしたらインストールではまった

haskellのweb frameworkとして Happstack(http://happstack.com/index.html)というものがあるらしく試そうとしても失敗してあきらめてたのですが、いろいろやってみたらインストールできたのでメモしておきます。


使用した環境

上記の環境以外の場合はすんなりインストールできるかもしれません。
やることとしては

$ ghc-pkg hide directory
$ ghc-pkg hide filepath

となります。
なにやらdirectoryとfilepathはふたつよみこまれてしまうようで、haskell platformについてきた directoryとfilepathを無効にしておけばよいです。

ついでに調べててわかったことですが、 .cabal を削除するだけだとインストールされていると認識されるようでそちらは .ghc に保存されてるようです。
がっつり削除したくなった場合は

$ rm -rf ~/.cabal
$ rm -rf ~/.ghc

などとしておくといままでしたことがなかったことにできるようです。

そのあとに

$ ghc-pkg hide directory
$ ghc-pkg hide filepath
$ cabal update
$ cabal install happstack

とするとインストールできました。
本家にサンプルも動作しました。

詳細

エラーの内容を保存しわすれた orz

GHCi runtime linker: fatal error: I found a duplicate definition for symbol___hscore_S_IFDIR

上記のようなシンボルが2度登場してるのが原因っぽくてログをよくみてみると
directoryとfilepathという一部のパッケージが古いversionに依存していて新しいものと古いものの両方を読みこんでしまうようでした。

なので上記にかいたとおり無効にして対処したというわけです。

(kansai-emacs #x03)にあそびにいってきた。

第3回 関西Emacs勉強会にあそびにいってきました。

先にまとめておくと、コミュニティの活発化、クラウド時代を見据えたelispを模索していかないといけないですね。

前イベント るびきちさん降臨

  • なんば集合でるびきちさんとお好み焼きを食べにいきました。
  • 集合写真もとりました。
  • サインも撮りました。(?

るびきちさんのこれからの活動がとても気になる話もきけたようにおもいます。

本イベント 関西Emacs勉強会

ポジションペーパ付き自己紹介

人数がおおすぎて覚えられない…。うう、ごめんなさい。ごめんなさい。
下から上まで幅広い年齢の勉強会になっていました。素敵。

imakadoさん init-loader

.emacs分割 utilityなinit-loaderの紹介。
ごめんなさい。つかってないです。
けど、同じようなアプローチをしてるので読み込みのログの表示やエラーがでても読み込みを続けてくれるので移行したいなあ。

r_katakaishiさんの小ネタ集
  • emacsからvirtualboxなどの仮想環境を操作する素敵なもの
  • org-modeでプレゼンテーション
  • キー配列について

Cacooをそもそもつかったことなかったのですが、
インライン表示ができるのですね。つかってみよう。
org-modeでプレゼンできるのは素晴らしいです。
narrow-modeをつかっているようです。その発送がなぜ浮ばなかったのか!!

kiwanamiさんの beautiful emacs

emacsへの想いをすごく感じました。
やっていくべきこと、やらないといけないこと。
emacsをもりあげていかなきゃと思いました。

Sekka(石火) SKK like Japanese input method

僕も日本語入力については思うことはいろいろありますが、
石火については素晴らしいとおもいました。
特徴は

  • モードレス
  • リアルタイム予測変換(曖昧対応)

すごくつかってみたいと思いました。
SKKの英単語タイプしてカタカナにするのは対応してない感じなのかな。
curlではなくてセッションをはりっぱなしにできるとまだまだ速度がでたりするのかなあ。

naotaさんのリリースに対して思うこと。

このあたりから体力がつきてメモがない。
Gentoo開発者になられ、ソフトウェア開発者として、パッケージのメンテナとして、という両方の方向性からリリースについての考え方がきけました。
モチベーションや利用者を増やすという観点では定期的にリリースしていくべきという結論だったように記憶しています。

その他雑談(おもに個人的な
  • IRCつかわないとなあ。
  • elispよもう。(どのあたり読むのがおすすめなのかきになる
  • tcodeでわからなくて変換した場合は教えてくれることに気がついた。とりあえずひらがな覚えよう。
  • アウトプットしないとなあ。
  • 去年からの疑問が解消されました(すごく些細で個人的なことなので伏せる

そんな感じでざっくりとかいてみました。
感想をかくのは苦手なのでご了承ください。
kiwanamiさんとたくさん話してしまい、恐縮しまくりなのを隠しながらがんばりました。
折角遠出したのでもっと積極的にいろんな方と話しにいかないとといけないなと反省しつつ、次回はもっとがんばろう。

rvmでrdocがインストールされない仕様になってたし。

いつのまにか ri がはやくなってたり、曖昧でも検索できるようになってたんだけど、Arrayとか標準ライブラリや添付ライブラリがひけなくなって、なんでだろうかとおもったら rvm からインストールしてるとどうやらデフォルトでは省かれる仕様に変わってたんですね。

    • docs オプションを明示するとインストールされるようです。

例えば

rvm install 1.9.2 --docs

Xcode4時代の.gitignore

Xcode4がリリースして何日がたちましたね、こんばんは。

Xcode4では新たな個人ファイルが設定されましたので、.gitignoreのテンプレートを作りなおしました。以下のscriptを ~/bin/xcode_git.sh に保存して使っています。

#!/bin/sh

cat <<EOF > .gitignore
# xcode noise
build/*
*.perspective
*.perspectivev3
*.pbxuser
*.xcworkspace
*.mode1
*.mode2v3
*.mode1v3
xcuserdata
Snapshots

# old skool
.svn

# osx noise
.DS_Store
profile
EOF

cat <<EOF > .gitattributes
*.pbxproj -crlf -diff -merge
EOF


ところで、Xcode4でgitが操作できるようになったのにignoreファイルを吐いてくれないのでしょうか。もしかしたら、別のところにその機能がある?

Gentoo 講習会という名のカレー

現在広島では Gentoo が非常に POP らしく、Gentooカレーを食べるイベントが開催されましたので、参加してきました。

http://www.cne.info.hiroshima-cu.ac.jp/15/1039

講師として、あおた先生([twitter:@naota344])がいらっしゃるというイベントで、カレーを食べるイベントだったのと思ったのですが、ぷおりんさん([twitter:@MetaX_Puorin])の素晴らしい手腕で講習会という体裁に落ち着いたようです。*1

あおた先生は Gentoo の魅力を紹介され、広島とはおもえない質問の嵐に回答されていました。

Gentoo カレー の Gentoo たる部分は結局曖昧なままでしたが、能書きはなしでおいしかったです。

得たもの

  • プライスレスな時間
  • あたらしい出会い(おもに珍しい属性をもつ人)
  • 限定は Gentoo に聞こえる
  • Ubuntuはうぶんちゅ
  • Gentooを連呼する素敵な女の子が存在するということ
  • 桜花たんは桜花たん


それにしてもDvorak使いっているもんですね。

*1:じつはよくわかってないけど