nDiki : ビルド

ビルド - build

ビルドの種類

  • first build
  • weekly build
    • biweekly build
  • daily build
    • nightly build
    • morningly build
  • private build
  • milestone build
  • latest build
  • stable build
  • candidate build
  • freeze build
  • release build
    • final build
    • gold build

スポンサード リンク

2013年7月2日 (火)

Fedora 17 の home 以下に GHCHaskell Platform をインストール

Fedora 17 の home 以下に GHCHaskell Platform をインストールの、ちょっと手を入れる必要があったのでメモ

libgmp.so.3

GHC で libgmp.so.3 が必要だけれど無いので libgmp.so.10 にシンボリックリンクを作ってごまかす。

 mkdir ~/lcoal/lib
 cd ~/local/lib
 ln -s /usr/lib64/libgmp.so.10 libgmp.so.3
 export LD_LIBRARY_PATH=$HOME/local/lib

GHC 7.6.3

 cd ~/install
 wget http://www.haskell.org/ghc/dist/7.6.3/ghc-7.6.3-x86_64-unknown-linux.tar.bz2
 tar jxvf ghc-7.6.3-x86_64-unknown-linux.tar.bz2
 cd ghc-7.6.3
 ./configure --prefix=$HOME/local/ghc-7.6.3
 make install
 ~/local/ghc-7.6.3/bin/ghci           # インタプリタ起動してみる。
 PATH=$PATH:$HOME/local/ghc-7.6.3/bin

Haskell Platform 2013.2.0.0

 cd ~/install
 wget http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-platform-2013.2.0.0.tar.gz
 tar zxvf haskell-platform-2013.2.0.0.tar.gz
 cd haskell-platform-2013.2.0.0
 ./configure --prefix=$HOME/local/haskell-platform-2013.2.0.0

OpenGL 関連のライブラリが入っていないホストで、かつとりあえず必要無さそうので適当に消す(なんで OpenGL いるのー)。

  • configure.ac の Check for OpenGL and GLUT のところを全部コメントアウト。
  • packages/platform.packagesから以下を削除。
    • GLURaw-1.3.0.0
    • OpenGL-2.8.0.0
    • GLUT-2.4.0.0
    • OpenGLRaw-1.3.0.0
  • packages/haskell-platform-2013.2.0.0/haskell-platform.cabal の build-depends からも上記のパッケージ名を削除。

あとこのままだと GHC_PACKAGE_PATH 云々とエラーが出て止まるので script/build.sh をいじる。 以下をコメントアウト。

 GHC_PACKAGE_PATH="${ORIG_GHC_PACKAGE_PATH}" \

あとは configure を作り直してビルド

 ./autoconf
 ./configure --prefix=$HOME/local/haskell-platform-2013.2.0.0
 make
 make install
 PATH=$PATH:$HOME/local/haskell-platform-2013.2.0.0/bin
スポンサード リンク
[ 7月2日全て ]

2013年12月18日 (水)

Unison ビルドするとか、セブン-イレブンで買ったカレーについてきたのとか【日記】

Unison の最新版をインストール。例によって OCaml を tmp に入れてからのいつもの手順バージョン番号が変わる以外は手順は変わらず。

あと、朝セブン-イレブンで買ったカレーについてきたのはだった。かー。なのかー。

デスクに常備しているワッパー武器(スノーピーク)のチタンスプーンを出してきて食べたのだけれど、隣のエンジニアに「計量スプーンみたい」って言われた。それなりのお値段なのよー、軽量で持ち運びに便利なのよー(でもアウトドアで使ってないんだけれど)。

[ 12月18日全て ]

2014年3月13日 (木)

Ruby を使っているプロジェクトに参加

初めてのRuby

Ruby を使っているプロジェクトに参加すべく、環境構築開始。

Perl 使っているのであえて Ruby でコードを書く理由がなくて、影舞とか Redmine とか何か使う時にビルドするぐらいのレベル。後方互換性をかなり大切にしている Perl に対して、バージョンを上げるとあっさりスクリプトが動かなくなるという印象もあって積極的に使ってこなかったんだよね。

いい機会なので読み書きできるようにしておこう。

書籍は「初めてのRuby」を推薦してもらった。

[ 3月13日全て ]

2014年12月26日 (金)

今日のさえずり: さすがにこの時間でさくっと帰りたいので、お金を払う電車に乗ろう

2014年12月26日

[ 12月26日全て ]

2015年4月27日 (月)

今日のさえずり: 朝会誕生日の祝福をしてくれたので次の1年頑張れる

2015年04月27日

[ 4月27日全て ]

2015年4月30日 (木)

開発ディレクトリ毎に異なる環境変数を設定するのに direnv を使う

シェルで特定の開発ディレクトリ以下に移動すると自動的に設定ファイルで指定された環境変数を設定し、そのディレクトリから別のディレクトリに移動すると戻してくれる direnv が便利。

https://github.com/zimbatm/direnv

Go開発するのに GOPATH と bin への PATH 追加が面倒だったので導入してみた。

インストール

 git clone https://github.com/zimbatm/direnv
 cd direnv
 make build
 cp -a direnv $HOME/local/bin

なお direnv は Go で書かれているのでソースからビルドするには Go開発環境が必要。

Bash の設定

.bashrc に以下を追加。

 if command -v direnv > /dev/null; then
    eval "$(direnv hook bash)"
 fi

その他のシェルでの設定は https://github.com/zimbatm/direnv 参照。

Go プログラム開発ディレクトリでの設定

 $ cd project_dir
 $ export EDITOR=emacsclient # 次のコマンドで開くエディタ
 $ direnv edit .
   .envrc の編集用にエディタが開くので

   layout go

   と入力して保存。

後は Bash でこのディレクトリ以下(サブディレクトリも含む)に移動するとこの .envrc のあるディレクトリが GOPATH に追加され、また bin ディレクトリが PATH に追加される。便利。

なお direnv edit . しないで直接 .envrc を作った場合は、別途 direnv allow . を実行してこの .envrc を使うことを明示的に許可する必要がある。許可したかどうかは ~/.config/direnv/allow/* に保存される(freedesktop.org の XDG Base Directory Specification っぽくなっているので XDG_CONFIG_HOME 環境変数があれば ~/.config ではなくてその下に保存される)。

その他標準で

  • layout go
  • layout node
  • layout perl
  • layout python
  • layout ruby

などが用意されている。また

 PATH_add bin

のようにして PATH への追加も簡単。

その他コマンドの実行も可能なので開発以外にもいろいろ便利に使える。

[ 4月30日全て ]

2015年5月31日 (日)

今日のさえずり:

2015年05月31日

[ 5月31日全て ]

2015年6月9日 (火)

今日のさえずり: ニューMGC上野店はとっくの昔、2006年3月12日で閉店していたのか……

2015年06月09日

  • 10:22 理解していなかったけれど「そもそもAOL社内の福利厚生的なチームビルド企画としてスタートしたので、ホントに部活なんです。」ということらしいです。 / “【報告】毎日めしテロ『 AOL炊飯部 』はじめました。 - 前略、セチガ..… http://bit.ly/1FFLBv3
  • 12:40 ニューMGC上野店はとっくの昔、2006年3月12日で閉店していたのか……。
  • 12:48 OCN からスマートフォンに電話がかかってきて何だろうとと思ったら、「OCN 光 with フレッツ」から「OCN 光」にという営業だった。とりあえず説明だけ聞きましたよと答えたのにそのままこの電話で手続き進めようとされたので慌てて制止した。
  • 12:49 もう営業電話かけないでくださいって言っておいた。わざわざ電話がかかってきたので重大な何かがあったのかと思ったよ。 OCN だし。
  • 13:11 誕生日会! (@ Pillar Cafe in 渋谷区, 東京都) https://www.swarmapp.com/c/fhz1WexwmCy
  • 17:41 “【ものがたりごはん】島耕作がデートした老舗「駒形どぜう」のどじょう鍋、たっぷりネギと召し上がれ! 大切な人と行きたい風味も風情もMy Best、ゴボウの追加も忘れずに | AOL炊飯部” http://bit.ly/1F5Io6A
[ 6月9日全て ]

2015年8月22日 (土)

YAPC::Asia Tokyo 2015 2日目

naney:20794290452

今日も朝から YAPC::Asia Tokyo 2015 の2日目です。まずは一杯の無限オレンジジュースからスタート。最初はトラックCから。 C の部屋に入れたのはこれが初めてです。なるほど狭め。

「Mackerel開発におけるScalaとGo、そしてPerl」 songmu @songmu 氏 #yapcasiaC

言語の特性にあわせて様々なプログラミング言語を活用しているというトーク。サーバサイドで使われているということでちょっと Scala が気になりますが、やはりここでもコンパイルが遅いという話が出ていました。

Go は小さなシングルバイナリを作れるというところがやはり大きな利点。あとはやっぱり Perlビルドなどのためのツールを作るのに便利だよねという話でした。

Perl 5.22 and You」 Ricardo Signes @rjbs 氏 #yapcasiaA

Ricardo Signes 氏のトークを聞くのは YAPC::Asia Tokyo 2013 1日目の時(記事)以来です。

前回同様 Perl の機能追加・削除についての話が中心。直観に反するような挙動が修正されるというところは言語としての完成度があがって良いなと。一方、さらに experimental として追加される文法は、ますます変態的になっていくなという印象もありました。

ランチ

今日は一人でぶらりとTFTビルへ。

「Adventures in Refactoring」 Ben Lavender @bhuga 氏 #yapcasiaA

リファクタリングを行う理由の中で「Developer Education」という話があって、理解のためにリファクタリングをしてもらうのも良いと言っていて、ああそうだよなと思いました。リファクタリングの素養はあるけれども、チームのコードは知らないという状態の時にはいいなと思います。

あとは、基本的には Martin Fowler の「リファクタリング」を読んでいれば OK な感じです。

ちょっとうつらうつらしてました。あと「カレのヒゲ」はマイクにこすれるので通訳的に要注意のようでした。

「Parallelism, Concurrency, and Asynchrony in Perl 6」 Jonathan Worthington @jnthnwrthngtn 氏 #yapcasiaA

Perl 6 における 並列・並行・非同期処理の話。 Perl 6 では言語レベルでこのあたりのサポートがしっかり入ってくるという印象でした。昨日聞いたトークといい、やはり Perl 6 が気になってきました。

Go Debugging, Profiling, and Optimization」 Brad Fitzpatrick @bradfitz 氏 #yapcasiaA

Go の各種ツールを使って時間やメモリを消費している部分を見つけてどんどん削っていく様子をライブで実演してくれました。なるほど、ちょっとしたコードでも工夫すると劇的に最適化できるみたいです。

実演中アセンブラコードをチェックしているところや、データが 1 word から 3 words で管理されているという説明などをみて、ああやっぱり Go は C/C++ 的なマシンへの近さやコンパクトさがあるよなとあらためて感じました。

「Lightning Talks Day 2」 #yapcasiaA

YAPC::Asia Tokyo 最後のトーク(になるかもしれない)となった LT は Kuniwak (@orga_chem) 氏の「Vim script性的解析の光と闇」でした。

CONBU さんが LT の時間内で設営・撤収デモまで実演していて、その素早さに驚嘆でした。まさに神業のレベルです。会期中お世話になりました。

「Wrap Up!」 Daisuke Maki @lestrrat 氏 #yapcasiaA

今年はキーノートが無いので LT が終わるとクロージングです。

今年の参加者はなんと約2,130人。今の形での開催は最後と言われている YAPC::Asia は今後どうなっていくのでしょうか。 YAPC::Asia Tokyo 2015 は「The End.」のスライドで幕を閉じました。皆さんお疲れさまでした。

YAPC::Asia Tokyo 2015 を終えて

去年の YAPC::Asia Tokyo 2014 では Go 言語の勢いを感じ、その後ちょっとした規模ですが業務ツール開発に使ってみたりしました。

YAPC::Asia Tokyo 2015 では近年になく Perl のトークを見た気がします。しかも今回は Perl 6 のコードををよく見た気がするのは気のせいでしょうか。今回はこれを機に Perl 6 にチャレンジしていきたいと思います。

[ 8月22日全て ]

2016年10月19日 (水)

チームのワーキングアグリーメントを作るの楽しい

スクラムマスターから「ワーキングアグリーメント(working agreements)を作ってみませんか?」と言われたのでチームでトライしてみました。これ、作るプロセス自体が楽しいですね。チームの一体感が高まるし、チームの自己組織化につながるなと感じました。

ワーキングアグリーメント

  • ワーキングアグリーメントはチームメンバで「合意した」ルールを書き出したもの。チームで合意したものであればどんな事を書いても OK。ミーティングの時刻だったり、ビルドのルールだったり。
  • ワーキングアグリーメントはチームメンバ全員で作る。上がってきたルール案に対して、例えば親指サイン(親指を上・横・下のどちらかに向ける)を使って全員に意思表明してもらい、全員が合意したものを採用する。
  • ワーキングアグリーメントは定期的に見るようにする。ふりかえりなどの際にアップデートしていく。

組織におけるルールは「誰かが作ってみんなが守るもの」というものが多いのですが、チームで合意して作るというのが自己組織化チームでは重要なんですね。

チームで作ったルールを書き出して明文化することでチームメンバ間の思い違いを無くすことができます。また暗黙的なルールは改善しにくいけれど、見える化すると改善の対象とすることができるというメリットもあるとのことです。なるほど。

アジャイルサムライでは「チームの約束」

ちなみにアジャイルサムライにワーキングアグリーメントなんてあったっけかなと思って調べてみたら、同書では「チームの約束 (working agreements)」として「チームが大事にすること (shared values)」とともに書かれていました。

[ 10月19日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィの SNS の企画開発を行うグループでマネージャー・プロダクトオーナーをしています。CS 向上・ユーザーサポート・健全化などにも取り組んでいます。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.092156s / load averages: 0.38, 0.40, 0.41
nDiki by WATANABE Yoshimasa (Naney, Google profile)
Powered by DiKicker