Room FU

未成年者の皆さんへ

2011年3月11日の大地震と、それに伴う原発事故を通じて色々と考える機会があった。
各所から国や東京電力に対して様々なコメントが出ており、それぞれの責任を問う発言も多々見受けられた。
それらの中には至極もっともな意見もあったが、ふと、それならば自分には責任が無かったかと思った時、否定できない事に気付いた。
なぜならば、日本は民主主義の国であり、民主主義とは国民の代表を国民全体が選ぶシステムであるからだ。
つまり、この国の行いの責任の一端は国民全員(正確には選挙権を持つ全員)にもあるという事である。
選挙権を得てから現在までの10年間の1票分ずつは私の責任であるということだ。
この事について、選挙権を持たない皆さん(特に未成年者の皆さん)には謝罪しなければならない。このような国にしてしまって申し訳ない。
気付いた以上は出来る範囲で行動していくつもりではいるが、これから選挙権を持つ皆さんには同じ誤ちを繰り返してほしくないと思い、こうして拙い文章で恥を晒している次第である。
Webの隅っこのこんな場所なので、ほぼ自己満足のための書き込みではあるが、もしこれを読んだ誰かがちょっとだけでも考える時間を取ってくれれば嬉しい。

最近の更新履歴

2011/07/14: 更新履歴(過去分)ページを追加、Nesto de vendoを追加。
2010/11/01: 大学のサークルメンバー用ダウンロードリンクを追加。
2010/10/18: Program Problem第八回、第九回、ティータイム 6 を追加。
過去分

内容

Room FU Weblog 雑文用ブログ
Nesto de vendo エスペラント語の勉強のための雑記ページ
Hidden Bomb Plus Plus 大学のサークルメンバー用ソースコード
プログラミング入門記事 Program Problem
ACE(Adaptive Communication Environment)関連
Git チートシート 私家日本語訳(外部リンク) (原文)
分散SCM fossil 私家日本語訳 (原文)
windows makeオプション
mockpp入門 (原文)
mockppチュートリアル(翻訳中) (原文)
関連リンク:MockPP 導入ガイド
ACDK(Artefaktur Component Development Kit) 機能一覧 私家日本語訳 (原文)

Sourceforge.jp ユーザ情報
トップへ戻る

雑記(覚え書きとも言う)

Debian での Xen の設定
Debian5.0(lenny)で Xen をインストールし、使ってみようかと思ったらコマンドでのイメージ作成まではうまくいくものの、仮想マシンを起動してみるとcrondの起動後に固まってしまう。
この解決法は http://www.grandarbre.net/2008/08/ubuntu804xen.html に書いてあった。
手順としては、仮想マシン設定ファイルに「extra = 'xencons=tty'」を追加すればよいらしい。
これでひとまず動くようになる。
101、106キーボードの切り替え(windows)
windowsでUSBの101キーボードを接続したところ、インストール時に106キーボードが選択されていたため、押したキーと表示される文字がずれてしまった。
検索したところ、次のURLに説明が載っていたので、指示通りに作業し再起動したら無事に101配置になってくれた。
http://yoosee.net/d/archives/2007/12/11/003.html
利便性を考慮し、変更してくれるバッチファイルを作成したのでアップしておくことにする。
101to106106to101
libACE_FlReactor の作り方(MinGW編)
ビルド手順通りにやれば、ACEのビルドは問題無くできるのだが、GUI対応リアクタは作成されない。
今回はFLTKを入れたので、FlReactor の作り方をメモしておくことにする。
まずは当然、FLTK をインストールしておく必要がある。これは MinGW でも普通にコンパイルできたので、ヘッダとライブラリを導入すればよい。
続いて ACE が普通にビルドできる環境を用意する。ビルド手順通りにやれば問題無い。
それから、ACE_wrappers/include/makeinclude/platform_gnuwin32_common.GNU を開いて、「-lGL」となっている部分(定義は PLATFORM_GL_LIBS)を以下のように修正する。
-lglu32 -lopengl32 -lwinmm -lkernel32 -luser32 -lgdi32 -lwsock32 -lole32 -luuid
この後「make fl=1 ace_flreactor=1」を実行すると、めでたくDLLが作成される。
Berkeley DB の作成(MinGW)
以下のサイトに configure のオプションがあるので、その通りにする。
http://mathieu.carbou.free.fr/wiki/index.php?title=Berkeley_DB_for_MinGW
ocamlmklibの作成(MinGW)
Win32用のOcamlバイナリには ocamlmklib.exe が入っていないということで、ソースから make することになったわけだが、だいぶてこずったのでメモしておくことにする。
結論としては myocamlbuild_config.mli、myocamlbuild_config.ml、tools/ocamlmklib.ml の順にコンパイルして出来た .cmo ファイルを「ocamlc -o ocamlmklib.exe myocamlbuild_config.cmo ocamlmklib.cmo」(ファイル指定の順序も重要)としてリンクすればいい。
なお、myocamlbuild_config.ml については README.win32 の通りに config 以下のファイルを準備してから build/mkmyocamlbuild_config.sh を行うことで生成できる。生成した後で myocamlbuild_config.ml を開き、bindir = "" と変更しておいた方が良いと思われる。(windows ではパス区切りを「\」にして実行してくれるため、msys 上で使うと「パスが見付かりません」エラーになってしまう)
ecl のコンパイル(バージョン 9.7.1 を MinGWで)
手順通りに ./configure、make すると、途中で asm-defs.m4 が読めないというエラーで止まってしまう。
そこで、手動で以下のファイルを build/gmp/mpn/ にコピーしておき、読み込み元のソースを書き換える。
以上の作業を行った後、ecl のソースフォルダまで戻り、通常通り make する。
これでうまく行くかと思いきや、最後の最後で ecl_min.exe compile に失敗。

バージョン 0.9l で試したところ、上記の方法で変更してやると、無事にコンパイルが 終了できた。後は、このバイナリを使って、他のバージョンをコンパイルできるか 試してみる予定。

試してみた。ecl だと、FORMATTER モジュールが上書きできないとかでダメ。
ecl_min だと、途中までロードするものの Initialize エラーでダメ。
ecl のコンパイル(バージョン 0.9l を MSVC9 で)
始めはバージョン 9.7.1 で挑戦したのだけれど、MinGW の場合とは違うエラー (ecl_min.exe の実行時エラー)で停止してしまい、こちらもコンパイルできず。
仕方無しに色々探し回ってみたところ、バージョン 0.9l でコンパイルに成功したと いう書き込みを発見したので試してみた。
結論としては、問題無くコンパイルできた。ちなみに 9.6.1 でも試したが、 こちらはダメだった。
.a ライブラリファイルから .lib ファイルを作る方法
Visual Studio をインストールするなりして、Microsoft の lib.exe が使える状態にしておく。
lib.exe の引数に .a ファイルを食わせる。「lib libACE.dll.a」など。
.libファイルができあがる。上の例では「libACE.dll.lib」になる。
ただし、この方法でできた .lib ファイルの利用チェックはしてないので、ちゃんと動くかどうかは不明。
thriftのコンパイル(mingw32の場合)
唐突にthriftをいじってみようと思い、ページを検索して情報を集めながらmingw32でのコンパイルに挑戦してみた。
まず最初にautoconf、automake、libtoolが必要だったので、mingwのページからダウンロードしてコンパイルした。
続いてthrift のコンパイルに入ろうとしたら、bisonとflexも必要(boostもだが、これは入れてあった)とのことで、コンパイルに挑戦するも、両方とも色々とエラーが出て挫折。 仕方なくWebを彷徨ったあげく、GnuWin32にバイナリがあるとの事で、早速入手。
作業を進めてみると、bisonとflexのバイナリだけでなく、flexのlibや、libiconv2やlibintlやregexが必要だと言われるので、その通りにバイナリを設置する。(入手は上と同様にGnuWin32)
Thrift WikiのWin32ページを参考にしつつ進めていくと ./configure の途中で次のエラーが出現。
./configure: line 21183: syntax error near unexpected token `MONO,'
./configure: line 21183: ` PKG_CHECK_MODULES(MONO, mono <= 1.2.6, have_mono=yes, have_mono=no)'

これの解決法もWikiに載っていたが、どうもpkgtoolが入っていないらしく、pkg.m4 が見当たらない。諦めて、その近辺をコメントアウトしてしのぐことにする。
あとは make するのみで済むかと思いきや、netinet/in.h が無いとエラー。幸い、こちらはlibthriftライブラリの作成でthrift.exeには関係無いので無視することに。
ここで出来たthrift.exeに-versionを付けて起動チェック。問題無く実行できたので、msys の/local/binにコピーして、再度thrift.exeを実行。すると、なぜかエラーコード127で強制終了する。
しばらく悩んで色々と試したあげく、該当フォルダでmake installしたところ、なぜか/local/bin/thrift.exeが動作するようになる。謎である。
まあ、なにはともあれ動く実行ファイルが手に入ったので良しとすることに。ちなみに、libthriftの作成に失敗しているため、 ここにあるC++でのサーバ作成は実施できず、動作確認は取れていない。

作るまで色々と大変だったので、保険も兼ねてバイナリをここに置いておく。
人柱覚悟で利用できる方のみダウンロードしていただきたい。
Git で fatal: protocol error: bad line length character が出る
環境変数 GIT_SSH が ssh.exe に設定されていない(例えば plink.exe になっている)と出るらしい。
添付の ssh.exe を利用するよう設定しなおすと直る。
環境変数はマイコンピュータのプロパティ→詳細設定タブ→環境変数(XPの場合) で設定するか、もしくはレジストリエディタで HKLM/SYSTEM/ConrtolSet001/Control/SessionManager/Environment の GIT_SSH を編集すること。
Selenium で Firefox プロファイルを変更するには(要jarコマンド)
まずは自分の Firefox でプロファイルの設定を変更し、 どのファイルが変更されるかを調べておく。 (プロファイルの内容は「 Documents and Settings\ユーザ名\Application Data\Mozilla\Firefox\Profiles\プロファイル名のフォルダ\ 」 以下に入っている。プロファイル名は Profiles フォルダと同じ階層にある profiles.ini で確認できる。)
続いて、selenium のサーバ用フォルダを開き、selenium-server.jar を展開する。 (ZIP形式が扱える解凍ソフトが利用できる。作業用フォルダを作って、その中で作業するとよい)
その中に「customProfileDicCUSTFF」と「customProfileDirCUSTFFCHROME」という フォルダがあるので、これらの両方に先程調べたプロファイルの変更点を適用する。
今回は「画像を表示しないURL」の設定を加えたかったので、permissions.sqliteファイルをそのままコピーした。
その後、展開した内容を jar コマンドで再度パッケージ化する。 (-m オプションにて META-INF/MANIFEST.MF を指定するのを忘れないこと)
以上で作業完了となる。通常通り selenium を起動し、設定が適用されていることを確認すること。

ご連絡は fumiu at raythebm.net まで