boost::ublas::bounded_vectorを使うときは少し気をつけてねという話

この記事は,Boost Advent Calendar 2011の14日目の記事です.
(2時間近くも遅刻してすみません><)

スキルはまだまだですが,それでももうboostが無いと生きていけない体になってしまいました.
そういえば魔導書Vol2id:kikairoya先生の章(一番最後ですね)あたりは,ホントに「boostを使い倒す!」かんじがして最高に読み応えがありました.ぜひお読みください.

さて,本来はこのアドベでは無難に「あまり日本語情報の出回ってないライブラリを(ほとんど翻訳で)紹介する」つもりだったんですが,意外とネタ探しにつまづいたので,方針転換して僕が引っかかってしまった落とし穴を紹介することに.
筋違いなことを言ってたら,たぶん言ってますが,ツッコミをお願いします.
ホントに不当なdisがあったら全力で謝罪記事を書かせて頂きます….

(2011.12.15 12:30) 編集上のミスについて指摘をいただいたので訂正

Continue reading

sshのXForwardingでGLUTなプログラムが実行できない場合の設定

どうも,昨日で22歳になりました.もはやアラサーですよアラサー.

sshのXForwardingでGUIなプログラムをリモート実行できますね.すごく便利です.
そのやり方については他を参照のこと.リモートのsshd_configのX11Fowardingをyesにしてssh -Xで入るだけです.

で,ふつうのXプログラムはできるのにGLUTなプログラムができなくて困ってました.
症状としてはこんなかんじ

% aglutprog.out
freeglut (aglutprog.out):  ERROR:  Internal error <FBConfig with necessary capabilities not found> in function fgOpenWindow
X Error of failed request:  BadWindow (invalid Window parameter)
  Major opcode of failed request:  4 (X_DestroyWindow)
  Resource id in failed request:  0x0
  Serial number of failed request:  27
  Current serial number in output stream:  30

解決策は

% export LIBGL_ALWAYS_INDIRECT=1

環境変数設定が必要だったんですね.非リモート時の場合には影響ないので,zshrcにでも書いちゃいましょう.

なお,手元の環境はDebian GNU/Linux 6.0.3です.