]
トップ «前の日記(2004-05-31) 最新 次の日記(2004-06-02)» 編集

Yukiharu YABUKI の tDiary



このtDiaryを検索します。

2004-06-01 [長年日記]

_ 天気

はれ。世間は衣更えの季節か。会社用の夏物のスーツでも考えるか。毎日着るし。

_ 駅なか英会話

次回は水曜日の18:00から19:30が最終。いってみようか

_ Debug symbol

会社にて、uim-ximが落ちた時に、gdbでバックトレースできるように、デバッグオプション付きでバイナリをつくる要求が生じた。

Debian packageを一時的にdebug symbolをつけてパッケージングしたかったら、

DEB_BUILD_OPTIONS

を活用するのがDebian風だと思う。Debian メンテナ入門 --- 第 4 章 - debian/ ディレクトリ以下に無くてはならないファイル(http://www.debian.org/doc/manuals/maint-guide/ch-dreq.ja.html>)にも記述がある。

パッケージ中のdebianディレクトリの中にrulesファイルがある。その中に

ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))

CFLAGS += -g

endif

ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))

INSTALL_PROGRAM += -s

endif

こんな部分がある。上記はDebianパッケージの生成時にdh_makeなどのテンプレートの中に含まれているとのこと(上記のメンテナーマニュアルより)で、CFLAGを有効にするには、どないしたもんかな。

google先生に"./configure CFLAGS"というキーワードで調べていると、OS XだがOS X ハッキング! --- 第89回 configure、何するものぞ (http://pcweb.mycom.co.jp/column/osx/089/)というのがみつかった。読みすすめると

CFLAG="$(CFLAG)" ./configure --ほげほげoption

とすると、コンパイル時のオプションを渡せることを知った。ということで、uimのパッケージを修正。

また、DEB_BUILD_OPITONSにnostripを入れておくと、dh_stripがストリップしないことも知る。ということで、BUILDする前に、環境変数DEB_BUILD_OPTIONSを設定(bashです)

$export DEB_BUILD_OPTIONS=nostrip,debug

$debuld -us -uc -rfakeroot -eDEB_BUILD_OPTIONS=debug,nostrip

とした。debuldの-eオプションについては、manなどを読んだが、私の理解ではこれだけでは設定できなかったので、exportしてある。

Debugシンボルがついているかの確認

どうするかよくわからんかったので、man nmしてみた。そこで nm --debug-syms でダンプしてみるとデバッグシボルが表示されるとのこと。mcをつかってパッケージ内のバイナリを/tmpにコピーして

nm --debug-syms /tmp/hoge

で確認してみた。ok そうにみえる。

ちなみにfileコマンドだと、ストリップしているかの判断はつくが、シンボルがついているかどうかの判断まではわからない。

/tmp/uim-xim: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.0, dynamically linked (uses shared libs), not stripped

_ [Eclipse] Rubyのプロジェクトだけ見える.

わたしのつくったeclipse-rdtに問題があって(削除したら直ったので)、一時期Javaのプロジェクトがつかえなくて、こまっていた。なぜかEclipse-jdtとかはいってなかったので当然なのだが。手順としては

  1. eclipse-rdtをremoveする
  2. Eclipseのjava関連をinstallする

で直りました。その後にapt-get install eclipse-rdtすると、思いどおりになりました。他の人にも伝えなくては...

_ [Eclipse] 異機種格闘技戦(おぃ

Windowsな人と、Linuxな人が、cvsでコードを共有するときには、sjisかUTF-8を指定する必要があるのか。(linuxのeclipseだとsjisも選べる) Eclipse Settings ウィンドウ(W)→設定(P)で、この画面が出ます。

_ [] Code Reading と Rubyレシピブック

大阪のジュンク堂にて発見。Code Reading Ruby レシピブック を購入した。むむ。ジュンク堂で購入したのに、なんとか、Amazonでも登録して欲しい。をを、登録されて見えるようになりました

本日のツッコミ(全2件) [ツッコミを入れる]
_ n_saito (2004-06-01 13:26)

eオプションは -us -uc とかの前でないと有効にならないっぽいです。(by 同じように悩んだヤツ

_ yabuki (2004-06-01 13:28)

をを、そうでしたか。ありがとう。>-eオプション