FC2ブログ

ホーム 次ページ >

スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

スポンサー広告

CppUnitをソースからインストール(Linux)

2010年07月31日 21:52

先日のNetBeansでCppUnit(Fedora編)では、yumを使ってお手軽にCppUnitをインストールしましたが、ソースコードからビルドしてインストールする手順も、メモの代わりに書いておきます :-)

まず最初に

http://sourceforge.net/projects/cppunit/files/cppunit/1.12.1/

にいって

cppunit-1.12.1.tar.gz

をダウンロードします。
ダウンロード先はホームディレクトリ配下のどこでもかまいません。
ダウンロードが完了したら、

>tar zxvf cppunit-1.12.1.tar.gz

と実行して解凍します。

解凍が完了したら

>cd cppunit-1.12.1

で、解凍したディレクトリに移動します。
Automakeでビルドするので、お約束の

>./configure

を実行して

>make

とすればビルドが完了します。
あとはsuでスーパーユーザになって、以下のようにインストールします。

>su
>make install


これで、/usr/local/includeにヘッダファイル、/usr/local/libにライブラリがインストールされます。
環境によっては/usr/local/libが共有ライブラリとして登録されていないので、以下の手順で登録します。

この登録は、スーパーユーザの権限のまま進めてください。

まずはetc配下にあるld.so.confに/usr/local/libを追加します。

>vi /etc/ld.so.conf

を実行して
ld.so.confの最後の行に

/usr/local/lib

を追加して保存します。

その後、

>/sbin/ldconfig

と実行して終了です。

CppUnitなんて開発でしか使わないので、環境変数LD_LIBRARY_PATHに/usr/local/libを設定して済ませるのも手ですが、うちの環境では念のためldconfigを使って登録しています。
スポンサーサイト

C++ コメント: 0 トラックバック: 0

マッカラン入手

2010年07月31日 21:07

会社に、私と同じスコッチウィスキー飲みの人がいて、マッカランの味(よく言われるゴム臭)が合わないのであげるよ~ってことでもらいました :-)
その人が部下にやらせていたAsteriskの設定がなかなか進まない~って困っていたので、その設定の手助けをした成功報酬です :-)
マッカラン

ってことで、先週Getしたラフロイグと飲み比べです (*゚∀゚)=3ハァハァ

ウィスキー コメント: 2 トラックバック: 0

NetBeansでCppUnit(Fedora編)

2010年07月30日 23:56

ここ数日は、雨のお陰で少し涼しくなって過ごしやすくなりましたね :-)
そんな夜長に、ラブプラス+をやったりRubyを試したりする日々が続いています....orz

そんな日々の合間に、少しずつC++開発環境を整えているのですが、作ったクラスの単体試験を簡単に出来るようにしたかったので、Fedora環境でCppUnitを使えるようにしてみました。
NetBeansがCppUnitに対応していて、テストコード作成の支援もしてくれるので、CppUnitを導入しない理由もありませんしね (`・ω・´) シャキーン

今日は、自分のインストールメモも兼ねて、Fedora環境のNetBeansでCppUnitを使えるようにする手順をまとめてみます。

手順は以下の通りです。

1)CppUnitインストール

インストールはyumでパッケージインストールするだけです :-)
yumを使うため、suでスーパーユーザになります。

>su

yumで以下のようにcppunitをインストールします。

>yum install cppunit

あとは、インストール確認でyesを選択してインストールが開始されます。
これでCppUnitのインストールは完了です :-)


2)とりあえずNetBeansから使ってみる

とりあえずインストールしたので、NetBeansからCppUnitのコード生成と実行を試してみます。

でもその前に、プロジェクトにちょっとしたおまじないが必要だったりします。
NetBeansが自動的に生成してくれるテストコードは、動的リンクライブラリを使用しているので、プロジェクトプロパティのリンカーに動的リンクを追加しなければなりません。

プロジェクトプロパティ画面のリンカーを選択して、ライブラリのボタンを選択します。

lib1

すると追加するライブラリを選択するダイアログが開くので、”標準ライブラリを追加”ボタンを押下すると標準ライブラリ一覧が表示されるので、動的リンクを選択して了解を押下します。

lib2

これで動的リンクが使用するライブラリに登録されます。

lib3

どうせなら、プロジェクト生成時に自動的に登録してくれればいいのにね...

それでは本題に戻ります :-)

まずはテストコードを生成したいCppファイルを選択して右クリックしてメニューを表示させます。
そのメニューの中の”テストを作成”=>”新規CppUnit”を選択します。

Cpp1

選択すると、CppUnitテスト生成ダイアログが表示されるので、指示に従って生成します。

ダイアログから、テストコードを生成したいクラスメソッドを選択して、次へボタンを押下します。

Cpp2

すると、生成するテストの名称やテストコードのファイル名称などを入力する画面になるので、適当な名称を入力して完了ボタンを押下すると、ランナークラスとテストコードクラスの雛形を自動生成されます。

Cpp3

テストコードは、テストファイルフォルダに生成されます。
あとは、生成されたテストコードクラスにテストコードを記述します。

Cpp4

あとは実際にテストコードを実行するだけなのですが、NetBeansではプロジェクトからテストコードを選択して実行出来るようになっています。

Cpp5

テストファイル内のテスト名称を右クリックしてメニューを表示させ、”テスト”を選択するとテストコードがビルドされ、実行されます。
テストコードの実行が終了すると、テスト結果がグラフィカルに表示されます。

Cpp6

JUnitとかと比べるとまだまだなところもありますが、結構簡単に使えて便利なので使わない手はありません。クラス単位にテストしながら開発するのがかなりらくになります。

このNetBeansのCppUnitでテストコードを書く上で注意点というか制限がひとつありました。
それは、テストコードや実行コードから標準出力に出力すると、テスト結果表示が正しく動作しないのです。
多分、標準出力に出力されるCppUnitの処理結果文字列からテスト結果を取得しているため、テスト結果以外の文字列が標準出力に出力されると、テスト結果を正しく取得できないようです。(´・ω・`)ショボーン

C++ コメント: 0 トラックバック: 0

Fedora13でのJavaの豆腐文字対処...

2010年07月24日 22:48

夏コミ向けの原稿もやっと終わり、こっちのブログにネタを書く時間を取れるようになったので、少しずつペースを上げてネタを書いていこう (`・ω・´) b  ビシッ!!

Fedoraに限らず、LinuxでJavaを使うと起こる豆腐文字問題...orz
この問題の原因は本当に単純で

Javaが表示に使おうとしている日本語フォントが、ライセンスの関係でインストールされていない

ってのが原因です...
Linux環境でNetBeansを使っているのですが、いつもこの問題に悩まされています...
かなり前からこの問題は続いているけど、そろそろ解決してほしいです...

で、この問題を解決するためには、必要な日本語フォントのインストールとJavaの設定変更をする必要があるのですが、フォントインストールが面倒なので、Javaの設定変更だけで対処しています。

対処内容は以下の通り...
この対処は、Fedora13を対象としています :-(
他のバージョンやディストリビューションは、個々の環境にあわせて設定を変えてください...

1)Fedora用のfontconfig.propertiesを作成

SunのJDKをインストールした後、

/usr/java/default/jre/lib

に移動します。

その下には、fontconfig.propertiesという、Javaが文字表示に使用するフォントが定義されているファイルが置いてあります。
補足ですが、fontconfig.bfcってファイルもあって、これはfontconfig.propertiesのバイナリ形式版です。

で、以下のような名称で、OSごとのfontconfig.propertiesのサンプルが用意されています。

fontconfig.[OS名称].properties.src

って名称でいくつか用意されています。
このファイルを元に、OSに対応したfontconfig.propertiesを作成します。

Fedoraでは、fontconfig.RedHat.propertiesが参照されるので、fontconfig.RedHat.properties.srcをコピーしてfontconfig.RedHat.propertiesを作成し、修正します。

>cp -p fontconfig.RedHat.properties.src fontconfig.RedHat.properties


2)fontconfig.propertiesの定義変更

作成したfontconfig.RedHat.propertiesを見ると、以下のようにsazanamiフォントが定義されています...
でも、ライセンスの関係でしょうか、Fedora13にはsazanamiフォントがインストールされていません (´・ω・`)ショボーン
仕方ないので、日本語フォントとしてインストールされているVLGothicフォントを、sazanamiフォントの代わりに使うように設定を変更します...

以下のように設定されているフォント定義を

filename.-misc-sazanami_gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf
filename.-misc-sazanami_mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf



filename.-misc-sazanami_gothic-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf
filename.-misc-sazanami_mincho-medium-r-normal--*-%d-*-*-c-*-iso10646-1=/usr/share/fonts/vlgothic/VL-PGothic-Regular.ttf

のように変更します。
強引ですが、フォントの形にこだわらなければ問題なく動作します :-)

2011.02.09 fontconfig.bfcを削除する必要が無いことがわかったので修正....

あとは、バイナリ形式のfontconfig.bfcが読み込まれてしまわないよう、ファイル名称を変更します。
>mv fontconfig.RedHat.bfc fontconfig.RedHat.bfc.org
>mv fontconfig.bfc fontconfig.bfc.org


これで豆腐文字問題は解消するはずです :-)

Linux コメント: 0 トラックバック: 0

Oracle JRockit Flight Recorder

2010年07月12日 21:26

Javaはもう飽きた~~~!!
っていっておきながら、Javaネタ....orz
飯を食うためだもん....無視するわけにはいかないからね :-(

JRockit Flight Recorderの記事(@IT)
本家

Javaを使ったシステムを開発したときに、一番困るのがJVM内で起こったスレッド周りのトラブルや、ガベージコレクションが原因で起こるパフォーマンス劣化、なぞのメモリリークが起きた時の原因特定だったりします。この手の問題は、プログラムにログを仕掛けても原因特定はかなり困難で、OS内の振る舞いを追いかけるのが一番の近道なんだけど、MBeanが登場する前のJavaでは原因特定の手段が無いに等しかったので、かなり苦労していました。
JRockitは、昔からJVM内の動作をモニタする機能があって、使えるんだろうなぁ...って思っていたけど、当時はBEA製品だったこともあって、保守の責任とかを考えると安易にWebLogicを使っていない運用環境に入れることが出来なかったんですよね...

って話がそれてしまった...
記事にあるFlight Recorderって機能を使えばGCやスレッドの障害などの履歴も取れるんですね...

有料みたいだけど...

BEAもSunもOracleに買われてしまったことが、いい方向に進むといいな...
エンドユーザが、WebLogicを使っていないシステムにJRockitを適用しても問題ないことをOracleが明言してくれるのが一番なんだけど....
無理ならせめて、SunのJDKとJRockitが統合されてくれれば...
願わくば、OpenJDKにJRockitの機能が入ることを希望... :-(

@ITの記事にあるとおり、パフォーマンスを落とさずに履歴を取れるのであれば、現地運用しながら履歴をとれるので、かなり有効かもしれませんね。発生頻度の低い問題って、大抵現地環境では一ヶ月に一回発生するけど、社内で作った再現環境ではいつまでたっても再現しないってのは日常茶飯事だから...orz

本家のページを読むと、WebLogicを買わないと使えないのかと思っていたけど、@ITの記事に

”JRockit Flight Recorderは、「WebLogic Enterprise Edition」以上のエディションに含まれている。もちろん単体で購入することも可能だ。”

とあったので、とりあえずTomcatとかでも使うことは出来そうですね...いくらするんだろう...

Flight Recorderは無理だけど、JRockit Mission Controlぐらいは家で試しに使ってみようかな...

Java コメント: 0 トラックバック: 0

ホーム 次ページ >

プロフィール

PANTOMAIMU

Author:PANTOMAIMU
本当は仕様を決めたり設計だけじゃなく、プログラミングもしたいのに~というジレンマを抱えながらも、時間があれば家でプログラムを作ったりしている、しがないSE....
趣味はお絵描きに曲作りに自転車 :-)

Twitter @PANTOMAIMU

カレンダー

06 | 2010/07 | 08
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

FC2カウンター

最新トラックバック

検索フォーム

ブロとも申請フォーム

この人とブロともになる

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。