トップ «前の日記(2002-08-19) 最新 次の日記(2002-08-22)» 月表示 編集

日々の流転


2002-08-21 [長年日記]

λ. コンパイル猿

日曜の続き。

λ. atk-1.0.4

atkがスタティックライブラリになってしまっているのに気がついた。理由はわからないが「libtool: link: warning: undefined symbols not allowed in i586-pc-cygwin shared libraries」というメッセージを見ると、何かシンボルが欠けているのかとも思う。しかし、直接dllwrapを使うと普通にDLLを作れるようなので、これをインストールしとこ。(8/31に追記あり)

ところで、dllwrapで--defを指定せずに作ったDLLには、impgenがうまく動作しないようだ。

λ. gtk+-2.0.6

cyggtk-win32-2.0-0.dllをビルドしようとしたら以下のようなエラーメッセージが出てしまった。auto-importは比較的新しい機能でよく知らないので使わないことを考える。gdktypes.hではG_OS_WIN32の時にしか「__declspec(dllimport)」が付かなくなっていたので、この条件をG_PLATFORM_WIN32に書き換えて試したら、うまくいった。

fu000001.o(.idata$3+0xc): undefined reference to `libimp_cyggdk_win32_2_0_0_a_iname'
fu000002.o(.idata$3+0xc): undefined reference to `libimp_cyggdk_win32_2_0_0_a_iname'
fu000003.o(.idata$3+0xc): undefined reference to `libimp_cyggdk_win32_2_0_0_a_iname'
fu000004.o(.idata$3+0xc): undefined reference to `libimp_cyggdk_win32_2_0_0_a_iname'
fu000005.o(.idata$3+0xc): undefined reference to `libimp_cyggdk_win32_2_0_0_a_iname'
fu000006.o(.idata$3+0xc): more undefined references to `libimp_cyggdk_win32_2_0_0_a_iname' follow
nmth000000.o(.idata$4+0x0): undefined reference to `_nm__gdk_threads_mutex'
Info: resolving _gdk_threads_mutex by linking to __imp__gdk_threads_mutex (auto-import)
collect2: ld returned 1 exit status

次に、適当なサンプルをビルドしようとすると、gtkをリンクする段階で「simple.o(.text+0xe5):simple.c: undefined reference to `gtk_init_abi_check'」等と言われてしまう。gtkmain.hでは「#ifdef G_PLATFORM_WIN32」を使ってるのに、gtkmain.cでは「#ifdef G_OS_WIN32」を使っているのが原因。#91649 アホらしくてやってられないね。gtkmain.cの方を直すのが筋なんだろうけど、gtkをリンクしなおすのが面倒なのでgtkmain.hの方を修正。

これでもう大丈夫だろうと思い、gtk+-2.0.6/examples/filesel辺りを試しにコンパイル実行してみると、以下のように言われてしまった。

bash-2.05b$ ./filesel.exe 

** (filesel:4063781): WARNING **: Couldn't load font "Sans 10" falling back to "Sans 10"

** (filesel:4063781): WARNING **: Couldn't load font "Sans 10" falling back to "Sans 10"

** (filesel:4063781): WARNING **: All font failbacks failed!!!!

このメッセージを出しているのはpango-fontmap.c。問題があるとしたらpangowin32-fontmap.cか? それともgtkrc-2.0ファイルに関する問題だろうか? gtk+側の問題かpangoの問題かを切り分けるうまい方法はないかな?

そろそろお手上げ気味かも……

λ. 個人向け国債を非課税に、財務省検討

せこいのう。

Tags: 時事

λ. return

そういえばHaskellのreturnって関数なんだよなぁ……

Tags: haskell