Room foo

最近の更新履歴

2015/03/08: ポチエス置き場 を追加
2014/07/25: ぷろぐらむ・ぷろぶれむ・ぷらいむ 2限目 を追加
2014/07/08: ぷろぐらむ・ぷろぶれむ・ぷらいむ 1限目 を追加
2014/01/08: myrepos の README 私家訳版の作成。
2014/01/07: リンクの整理と vcsh の README 私家訳版の作成。
過去分

内容

プログラミング関連

プログラミング入門?? Program Problem
プログラミング(もっと)入門 ぷろぐらむ・ぷろぶれむ・ぷらいむ

私家訳版の文書

myrepos README 私家日本語訳(原文)
vcsh README 私家日本語訳(原文)
ACE(Adaptive Communication Environment)関連
Git チートシート 私家日本語訳(外部リンク) (原文)
分散SCM fossil 私家日本語訳 (原文)
mockpp入門 (原文)
mockppチュートリアル(翻訳中) (原文)
関連リンク:MockPP 導入ガイド
ACDK(Artefaktur Component Development Kit) 機能一覧 私家日本語訳 (原文)

その他

Room foo Weblog 雑文用ブログ
Nesto de vendo エスペラント語の勉強のための雑記ページ
windows makeオプション

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 まで