ruby 2.1.1 入りの td-agent rpm を作ろうとしたらハマりにハマったのでメモ。
1. ハマりたくなかったので vagrant を使って真っさらな環境を用意してビルド。結局ハマったけど
2. td-agent レポジトリを clone
3. ruby のバージョンを 2.1.1 に変更。今回は一緒に coolio, msgpack のバージョンもあげた。ruby 2.0 以上だと bundler も 1.3 以上じゃないとダメとエラーがでたのでそちらもあげた
追記: [重要] ruby 2.1.1 にしたところメモリ使用量があがり続けたため色々テスト中 => ロングランさせたら最終的には安定した。
autogen.sh
diff --git a/autogen.sh b/autogen.sh index d489fae..1e68951 100755 --- a/autogen.sh +++ b/autogen.sh @@ -29,12 +29,12 @@ mkdir -p deps/ruby mkdir -p plugins cd deps download "http://www.canonware.com/download/jemalloc" "jemalloc-2.2.5.tar.bz2" -download "http://ftp.ruby-lang.org/pub/ruby/1.9" "ruby-1.9.3-p484.tar.bz2" +download "http://ftp.ruby-lang.org/pub/ruby/2.1" "ruby-2.1.1.tar.bz2" -download "http://rubygems.org/downloads" "bundler-1.2.5.gem" +download "http://rubygems.org/downloads" "bundler-1.5.3.gem" download "http://rubygems.org/downloads" "json-1.7.7.gem" -download "http://rubygems.org/downloads" "msgpack-0.4.7.gem" +download "http://rubygems.org/downloads" "msgpack-0.5.6.gem" download "http://rubygems.org/downloads" "iobuffer-1.1.2.gem" -download "http://rubygems.org/downloads" "cool.io-1.1.1.gem" +download "http://rubygems.org/downloads" "cool.io-1.2.1.gem" download "http://rubygems.org/downloads" "http_parser.rb-0.5.1.gem" download "http://rubygems.org/downloads" "yajl-ruby-1.1.0.gem" download "http://rubygems.org/downloads" "jeweler-1.6.2.gem"
1.9.3 から 2.1.1 に上げると gems のパスも変わるので一緒に変更。2.1.1 だけど 2.1.0 なの注意な。
$ sed -i 's/1.9.1/2.1.0/g' Makefile.am
4. fluentd のリビジョンも最新 v0.10.44 に変更
REVISION
5. ビルド
ドハマりしたけどとりあえず結論だけ書く
「ここは直すべき」に関しては @repeatedly 氏が直してくれるに違いない。もう疲れたょ....
ここに辿りつくまでの軌跡
そのっつ (SEO Naotoshi)@sonotsruby の version あげるためだけに td-agent rpm 作り直すのめちゃくちゃ時間かかるしオーバーキルな気がする
2014/02/26 16:57:18
そのっつ (SEO Naotoshi)@sonotsおかしい部分直して、これでもう大丈夫だとは思うんだが、まだ完了しない
2014/02/26 16:57:43
そのっつ (SEO Naotoshi)@sonotsあぁぁぁ、最後の最後に失敗した ...
2014/02/26 17:04:29
そのっつ (SEO Naotoshi)@sonotsREADME.rdoc には大分はまった ...
2014/02/26 17:09:09
そのっつ (SEO Naotoshi)@sonots@yoshi_ken これって正しいやり方わかりました? https://t.co/AS7NuJWQPk #同じとこでハマってるなう
2014/02/27 12:47:34
そのっつ (SEO Naotoshi)@sonots@repeatedly yoshi_ken さんも嵌ってるし、いつもどうやってビルドしてるんですか?? https://t.co/AS7NuJWQPk
2014/02/27 12:50:22
そのっつ (SEO Naotoshi)@sonots@yoshi_ken QA_SKIP_BULD_ROOT 試してみましたがエラー出てしまった ... https://t.co/2cBeQtvg7L
2014/02/27 13:53:58
そのっつ (SEO Naotoshi)@sonots@hirose31 @kzk_mover @tagomoris @repeatedly ぶっ壊れてます!https://t.co/UORloma2N3
2014/02/27 15:03:01
そのっつ (SEO Naotoshi)@sonots@repeatedly さっぱりですT T
2014/02/27 17:05:24
そのっつ (SEO Naotoshi)@sonotsなにが違うんやで
2014/02/27 17:05:57
そのっつ (SEO Naotoshi)@sonots@repeatedly なぜ check-buildroot が呼ばれてないのか...
2014/02/27 17:19:18
Mr. Fiber@repeatedly@sonots 俺に言われても…
2014/02/27 17:20:24
ひろせ31@hirose31@repeatedly /usr/lib/rpm/check-buildroot 実行してないすねぇ。。 @sonots さんの https://t.co/6YxvTThiKn は /usr/lib/rpm/redhat/brp-compress の前に実行してる。
2014/02/27 17:44:12
そのっつ (SEO Naotoshi)@sonotsあなたが神か RT @hirose31: sonotsさんがかわいそうなので参戦するか。。
2014/02/27 17:32:34
ひろせ31@hirose31@repeatedly あーそのへんすな
2014/02/27 17:52:45
ひろせ31@hirose31@repeatedly おかげでまるっと原因&対策わかりました :D
2014/02/27 18:04:51
Mr. Fiber@repeatedlyさすが:D社最後の将ひろせさん.人の環境を目grepしただけで原因を把握する恐ろしい御方やで…
2014/02/27 18:06:23
結論
ruby の version あげるためだけに td-agent rpm 作り直すのめちゃくちゃ時間かかるしオーバーキルな気がする
2014/02/26 16:57:18おかしい部分直して、これでもう大丈夫だとは思うんだが、まだ完了しない
2014/02/26 16:57:43あぁぁぁ、最後の最後に失敗した ...
2014/02/26 17:04:29README.rdoc には大分はまった ...
2014/02/26 17:09:09@yoshi_ken これって正しいやり方わかりました? https://t.co/AS7NuJWQPk #同じとこでハマってるなう
2014/02/27 12:47:34@repeatedly yoshi_ken さんも嵌ってるし、いつもどうやってビルドしてるんですか?? https://t.co/AS7NuJWQPk
2014/02/27 12:50:22@yoshi_ken QA_SKIP_BULD_ROOT 試してみましたがエラー出てしまった ... https://t.co/2cBeQtvg7L
2014/02/27 13:53:58@hirose31 @kzk_mover @tagomoris @repeatedly ぶっ壊れてます!https://t.co/UORloma2N3
2014/02/27 15:03:01@repeatedly さっぱりですT T
2014/02/27 17:05:24なにが違うんやで
2014/02/27 17:05:57@repeatedly なぜ check-buildroot が呼ばれてないのか...
2014/02/27 17:19:18@sonots 俺に言われても…
2014/02/27 17:20:24@repeatedly /usr/lib/rpm/check-buildroot 実行してないすねぇ。。 @sonots さんの https://t.co/6YxvTThiKn は /usr/lib/rpm/redhat/brp-compress の前に実行してる。
2014/02/27 17:44:12あなたが神か RT @hirose31: sonotsさんがかわいそうなので参戦するか。。
2014/02/27 17:32:34@repeatedly あーそのへんすな
2014/02/27 17:52:45@repeatedly おかげでまるっと原因&対策わかりました :D
2014/02/27 18:04:51さすが:D社最後の将ひろせさん.人の環境を目grepしただけで原因を把握する恐ろしい御方やで…
2014/02/27 18:06:23ひろせさん、マジひろせさん
恐ろしい御方やで...
FYI: まとめはこちら => 原因と対策まとめ by hirose31