(wrist blog)

twitterはこちら http://twitter.com/wrist

homebrewでphp5.4.12をインストール

brew tapリポジトリを追加したらインストールできるはずだがconfigure: error: GD build test failed. Please check the config.log for details.と表示されてコケて調べたのでそのメモ。 このissueを参考にして、freetype, jpeg, libpng, gdを入れなおしたら行けた。

$ brew update
$ brew tap homebrew/dupes
$ brew tap josegonzalez/homebrew-php
$ brew rm freetype jpeg libpng gd
$ brew install freetype jpeg libpng gd
$ brew link --overwrite freetype 
$ brew install php54  

なおbrew link --overwrite freetypeWarning: Could not link freetype. Unlinking...というエラーがfreetypeのインストール時に表示されたため実行した。

osxとdebian上でrbenv + ruby-buildを使ってruby 2.0.0-p0をインストール

今更な上に色んな人が書いていますが自分もやってみました。

rbenv, ruby-build

rbenvはrvmのような複数バージョンのRubyを管理するためのツールで、 ruby-buildはrbenv installを提供するrbenvのプラグインです。 環境変数でバージョンの切替などができる模様です。

参考: rbenvとRVMとの違い

インストール環境

  • mac osx(Mountain Lion 10.8.3, x86_64)
  • さくらVPS上のdebian(squeeze 6.0.7, x86_64)
  • homebrew/apt-get, gitはインストール済み

mac osx上でのインストール

この記事を参考にさせて頂きました。 ここではhomebrewを使ってrbenv, ruby-buildのインストールを行います。 ちなみにruby 2.0.0-p0を使いたいだけならばhomebrewで直接導入もできるみたいです。

0. 準備

予めreadline、opensslをインストールしておきます。

$ brew update
$ brew install readline
$ brew install openssl

1. rbenv, ruby-buildのインストール

以下のようにしてインストールします。

$ brew install rbenv
$ brew install --HEAD ruby-build

2013/10/27追記

ruby-buildでインストール可能なrubyのバージョン一覧を更新したいときは、gitで入れた場合はpullするだけですが、homebrewで入れている場合は一旦brew uninstall --HEAD ruby-buildした後に再びinstallしてやれば最新のruby-buildがインストールされるのでこれで一覧が更新されます。

2. ruby 2.0.0-p0をインストール

以下を実行して

$ rbenv install -l

一覧にruby 2.0.0-p0があることを確認した後に、

$ RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p0

でインストールします。インストール後、以下を実行します。

$ rbenv rehash
$ rbenv global 2.0.0-p0

rbenv rehash~/.rbenv/shimsを更新することで、インストールしたrubyやgemの情報を更新するコマンドです。 ~/.rbenv/shimsirb, gem, rake, rails, rubyといったrubyに関するコマンドを維持するためのディレクトリで、 このディレクトリをパスの先頭に追加してやる必要があります。 公式にはこのためにrbenvは予め以下を実行することで、パスの追加及び自動補完を有効化し、 ついでに.zshenv(bashの場合は.bash_profile)にeval $(rbenv init -)を書き込んでくれる旨が書かれています。

$ echo 'eval "$(rbenv init -)"' >> ~/.zshenv

rbenv init -のみを実行すると何が行われているかが分かると思います。

一方でrbenv global~/.rbenv/versionを更新するためのコマンドです。 このファイルが存在しない場合、rbenvはシステムにインストールされたrubyを使用することを想定するようです。 またrbenv localでアプリケーション毎に利用するrubyのバージョンを切り替えられたりするようです。

この上で、以下を実行してバージョンを確認します。

$ ruby -v

これでruby 2.0.0p0が表示されれば無事インストール完了です。

2013/10/27 追記

osxをmavericksにアップデートしたらrbenv install実行時に以下のようなエラーが出るようになりました。

BUILD FAILED

Inspect or clean up the working tree at /var/folders/nc/h5hw29596zzbhrcstv7h24hr0000gn/T/ruby-build.20131027021741.58118
Results logged to /var/folders/nc/h5hw29596zzbhrcstv7h24hr0000gn/T/ruby-build.20131027021741.58118.log

Last 10 log lines:
checking build system type... x86_64-apple-darwin13.0.0
checking host system type... x86_64-apple-darwin13.0.0
checking target system type... x86_64-apple-darwin13.0.0
checking for gcc-4.2... gcc-4.2
checking for gcc... (cached) gcc-4.2
checking whether the C compiler works... no
configure: error: in `/var/folders/nc/h5hw29596zzbhrcstv7h24hr0000gn/T/ruby-build.20131027021741.58118/ruby-2.0.0-p195':
configure: error: C compiler cannot create executables
See `config.log' for more details
make: *** No targets specified and no makefile found.  Stop.

コンパイラが問題だということが分かるので、

$ CC="/usr/bin/clang" RUBY_CONFIGURE_OPTS="--with-readline-dir=`brew --prefix readline` --with-openssl-dir=`brew --prefix openssl`" rbenv install 2.0.0-p0

コンパイラを明示的に指定してインストールすることで解決します。

debian上でのインストール

この記事を参考にさせて頂きました (Qiita上で僕も記事を書くべきのような気もして来ましたが…)。 debianではapt-getを使って必要なパッケージ一式を取得した後に、 rbenv, ruby-buildをgithub上のリポジトリをcloneして取得します。

0. 準備

予めビルドに必要なパッケージ一式をインストールします。

$ sudo apt-get update
$ sudo apt-get install build-essential bison openssl libreadline6 \
libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev \
libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf \
libc6-dev ncurses-dev

1. rbenv, ruby-buildのインストール

公式を参考に以下のようにしてgitで取得し、各種設定を行います。 rbenvのインストールは以下のように行います。~/.rbenv/binにパスを通しているのは、rbenv init`の実行のためです。

$ git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
$ exec $SHELL -l  # restart login shell

この上でruby-buildをインストールします。

$ git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

2. ruby 2.0.0-p0をインストール

以下を実行して

$ rbenv install -l

一覧にruby 2.0.0-p0があることを確認した後に、

$ rbenv install 2.0.0-p0

でインストールします。インストール後、以下を実行します。

$ rbenv rehash
$ rbenv global 2.0.0-p0

2013年 手首の目標

緒言

そろそろ一年の1/12が終わろうとしているというのに今更2013年の目標を立てようかと思います。 昨年は修論に始まり就職、研修、配属と立て続けに色々あったので、多少は落ち着いた今年こそ適当に頑張りたい。

目標達

  • 頑張ってブログを書く
  • ロードバイクでn*100km以上の遠出をする
  • 10kg痩せる
  • 裁断機とスキャナを買ってできれば自炊する
  • 一ヶ月に一回ぐらいは地域の勉強会に参加
  • githubをちゃんと使う
  • 個人のポートフォリオを作る
  • アップルにお布施を払ってしまったのでiPhoneアプリを一本仕上げてリリースしたい
  • HTML5のaudio周り(web audio apiなど)をちゃんと追う
  • Scalaで一本Webサービスを仕上げる
  • 放置しているSICPをスケジュールをちゃんと立てて読む
  • PRMLもちゃんと読みたい
  • 本業のための勉強を最優先にする

無理かもしれないけど諦めるものか

2011/11/27の手首

今日はTOEICを受けたのであるがリスニングが途中で止まる等ハプニングに見舞われた上に,
だらだらやってたら明らかに時間が足りなくなってしまったので
僅か一ヶ月半前の前回の受験と比べると大幅なスコアの減少が見込まれ
目から汗が湧き出しかねない一日であった.

それ以上に受験後に行こうと思っていたつけ麺屋が昼から夜に掛けてずっと開店してると思い込んでいたら
開店時間が18時という遥か先だったので泣きながらココイチでビーフカレー400gを食べた.

ココイチは余り知られていないがルー多めと頼むと無料でルーを追加してくれるので,
実際100g米の量を増やすよりも300gで頼んだ上でルー多めに150gのライスを別で注文した方が同じ値段なので量的にはお得である.
これは実際にココイチ店員であった友人に教えて頂いた技なので僕から半径Nkm以内にいる貧乏学生達は覚えておいて損は無いと思われる.

さて現在研究室に戻って来ているので今から研究やら書類を相手に一晩戦おうかと思う.

ところでiPhone/iPadアプリのiSSHを随分前に購入したものの,外出先からジョブの様子を見るなどする以外に特別な用途を見い出せないでいたのであるが,
rubyのautotestをこれで走らせておけばPCでファイルを保存する度にiPad側も反応してくれるので
これは意外と良い使い道ではないかと思いこれから試そうかと思っている.

来週は実質最後のゼミなので死ぬ気で血ヘドを吐くまで頑張りたい.

2011/11/26の手首

この日は後輩に誘われて大須などへ行った.
具体的に何処へ行ったかについては
foursquareでチェックインしてtwitterに垂れ流していたので
この日のtwilogでも見れば確認できることと思われるので割愛する.
なおリアルの知人に行く先々で遭遇するなどして
名古屋の狭さを実感する羽目となった.

今回誘ってくれた後輩はB4とM1の後輩であったので,
これで地味に3世代揃った事となったのであるが,
最後に寄った飲み屋で現在の研究室云々に関して
各学年の立場から話すことなどできたので
有益だったかもしれないしそうでないかもしれない(情報量0).

夜は研究室に行くつもりであったが
自宅で出来る作業に勤しんだ結果諦めてしまった.


さて明日は公式TOEICを久々に受験するのであるが,
過去に2回程受験の必要性を見失った
(院試に必要であろう点数は取れていたため)がために
受験料を捨てる行為に走ってしまったことがあるので
明日の自分の精神状態の変化を憂えていたりしなくもない.
会場近くのつけ麺屋に行くことをモチベーションとして
繰り返し自分を励まし続けることで回避したいと思われる.
期待値計算と尤度の最大化を繰り返すしかないのである.

実際,今年度に入ってから英語を喋る機会が増えた上に,
今後英語力が重視される環境に身を置く可能性が高いので,
英語の勉強は継続して行いたいと考えている.
現在継続している事と言えば週一回の(リアルでの)英会話だけであるので,
今後はとりあえず登録したラングリッチのお試しレッスンを受けた上で
毎日取り組めるのであれば取り組んでいきたいと思われるものの,
待ち受ける修士論文をなぎ倒すことも必要であるので兼ね合いを見極めたい.