コンパイルエラー洗い出し

  • 投稿日:
  • by
  • カテゴリ:



面倒くさいですな。


makeに-kオプションを付けて、ログを眺めることに。



$ make -k World CROSSCOMPILEDIR=/usr/i586-mingw32msvc/bin >build.log 2>&1

build.log



../../../../config/makedepend/makedepend: warning: InitInput.c (reading /usr/i586-mingw32msvc/include/pthread.h), line 559: # error Please upgrade your GNU compiler to one that supports __declspec.


・・・


fsconvert.c: In function ‘_fs_convert_props’:


fsconvert.c:110: error: ‘SIZE_MAX’ undeclared (first use in this function)


fsconvert.c:110: error: (Each undeclared identifier is reported only once


fsconvert.c:110: error: for each function it appears in.)


make[5]: *** [fsconvert.o] エラー 1


・・・


fbcompose.c:2804: error: expected specifier-qualifier-list before ‘int32_t’


fbcompose.c: In function ‘_gradient_walker_init’:


fbcompose.c:2820: error: ‘GradientWalker’ has no member named ‘num_stops’


fbcompose.c:2821: error: ‘GradientWalker’ has no member named ‘stops’


fbcompose.c:2822: error: ‘GradientWalker’ has no member named ‘left_x’


fbcompose.c:2823: error: ‘GradientWalker’ has no member named ‘right_x’


fbcompose.c:2824: error: ‘GradientWalker’ has no member named ‘stepper’


fbcompose.c:2829: error: ‘GradientWalker’ has no member named ‘spread’


fbcompose.c:2831: error: ‘GradientWalker’ has no member named ‘need_reset’


fbcompose.c: In function ‘_gradient_walker_reset’:


fbcompose.c:2838: error: ‘int32_t’ undeclared (first use in this function)


fbcompose.c:2838: error: (Each undeclared identifier is reported only once


fbcompose.c:2838: error: for each function it appears in.)


fbcompose.c:2838: error: expected ‘;’ before ‘x’


fbcompose.c:2840: error: ‘GradientWalker’ has no member named ‘num_stops’


fbcompose.c:2841: error: ‘GradientWalker’ has no member named ‘stops’


fbcompose.c:2845: error: ‘GradientWalker’ has no member named ‘spread’


fbcompose.c:2848: error: ‘x’ undeclared (first use in this function)


fbcompose.c:2848: error: expected ‘;’ before ‘pos’


fbcompose.c:2853: error: ‘left_x’ undeclared (first use in this function)


fbcompose.c:2861: error: ‘right_x’ undeclared (first use in this function)


fbcompose.c:2894: error: expected ‘;’ before ‘pos’


fbcompose.c:2895: error: expected ‘)’ before ‘pos’


fbcompose.c:2917: error: expected ‘)’ before ‘pos’


fbcompose.c:2919: error: expected ‘;’ before ‘tmp_x’


fbcompose.c:2921: error: ‘tmp_x’ undeclared (first use in this function)


fbcompose.c:2961: error: ‘GradientWalker’ has no member named ‘left_x’


fbcompose.c:2962: error: ‘GradientWalker’ has no member named ‘right_x’


fbcompose.c:2968: error: ‘GradientWalker’ has no member named ‘left_x’


fbcompose.c:2968: error: ‘GradientWalker’ has no member named ‘right_x’


fbcompose.c:2972: error: ‘GradientWalker’ has no member named ‘stepper’


fbcompose.c:2976: error: expected ‘;’ before ‘width’


fbcompose.c:2977: error: ‘GradientWalker’ has no member named ‘stepper’


fbcompose.c:2977: error: ‘width’ undeclared (first use in this function)


fbcompose.c:2980: error: ‘GradientWalker’ has no member named ‘need_reset’


fbcompose.c: In function ‘_gradient_walker_pixel’:


fbcompose.c:2995: error: ‘GradientWalker’ has no member named ‘need_reset’


fbcompose.c:2995: error: ‘GradientWalker’ has no member named ‘left_x’


fbcompose.c:2995: error: ‘GradientWalker’ has no member named ‘right_x’


fbcompose.c:2998: error: ‘GradientWalker’ has no member named ‘left_x’


fbcompose.c:2998: error: ‘GradientWalker’ has no member named ‘stepper’


make[5]: *** [fbcompose.o] エラー 1


→int32_t辺りの未定義が原因。ヘッダの不整合か。


・・・


/usr/i586-mingw32msvc/bin/windres XWin.rc -DPROJECT_NAME="\\\"Xming\\\"" -O coff -o XWin.res


XWin.rc:41:38: error: ../../../../../version.def: No such file or directory


/usr/i586-mingw32msvc/bin/windres: XWin.rc:46: syntax error


/usr/i586-mingw32msvc/bin/windres: preprocessing failed.


make[5]: *** [XWin.res] エラー 1


→xcのさらに上のディレクトリ(笑)にversion.defというカラのファイルを置けばよい


・・・


winmultiwindowicons.c: In function ‘winScaleXBitmapToWindows’:


winmultiwindowicons.c:112: 警告: pointer targets in passing argument 8 of ‘miGetImage’ differ in signedness


winmultiwindowicons.c: トップレベル:


winmultiwindowicons.c:267: error: expected ‘)’ before ‘*’ token


winmultiwindowicons.c: In function ‘winXIconToHICON’:


winmultiwindowicons.c:354: error: ‘uint32_t’ undeclared (first use in this function)


winmultiwindowicons.c:354: error: (Each undeclared identifier is reported only once


winmultiwindowicons.c:354: error: for each function it appears in.)


winmultiwindowicons.c:354: error: ‘icon’ undeclared (first use in this function)


winmultiwindowicons.c:354: error: ‘icon_data’ undeclared (first use in this function)


winmultiwindowicons.c:354: 警告: カンマ演算子の左側の式に効力がありません


winmultiwindowicons.c:367: 警告: implicit declaration of function ‘NetWMToWinIcon’


winmultiwindowicons.c:367: 警告: return makes pointer from integer without a cast


make[5]: *** [winmultiwindowicons.o] エラー 1


→uint32_t辺りの未定義が原因。ヘッダの不整合か。


・・・


rootlessScreen.c: In function ‘RootlessAllocatePrivates’:


rootlessScreen.c:571: error: lvalue required as left operand of assignment


make[5]: *** [rootlessScreen.o] エラー 1


→SCREENRECを左辺値で使ってる箇所を修正でOK


・・・


rootlessWindow.c: In function ‘RootlessCreateWindow’:


rootlessWindow.c:69: error: lvalue required as left operand of assignment


rootlessWindow.c: In function ‘RootlessDestroyFrame’:


rootlessWindow.c:110: error: lvalue required as left operand of assignment


rootlessWindow.c: In function ‘RootlessGetShape’:


rootlessWindow.c:141: 警告: unused variable ‘pScreen’


rootlessWindow.c: In function ‘RootlessEnsureFrame’:


rootlessWindow.c:356: error: lvalue required as left operand of assignment


rootlessWindow.c:373: error: lvalue required as left operand of assignment


rootlessWindow.c: In function ‘RootlessResizeCopyWindow’:


rootlessWindow.c:648: 警告: the address of ‘gResizeDeathBounds’ will always evaluate as ‘true’


rootlessWindow.c: In function ‘RootlessReparentWindow’:


rootlessWindow.c:1301: error: lvalue required as left operand of assignment


rootlessWindow.c:1302: error: lvalue required as left operand of assignment


make[5]: *** [rootlessWindow.o] エラー 1


→WINRECを左辺値で使ってる箇所を修正でOK


・・・


rlAccel.c: In function ‘RootlessAccelInit’:


rlAccel.c:142: error: lvalue required as left operand of assignment


make[6]: *** [rlAccel.o] エラー 1


・・・



左辺値がどうのというのはgcc4系だから出るパターンかな。



$ /usr/i586-mingw32msvc/bin/gcc --version
gcc (GCC) 4.2.1-sjlj (mingw32-2)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

左辺値でキャストを使ってるパターン。


あとはXWin.rcのコンパイルでSyntax Errorになりますな。文字列の結合がエラーになるようで。リソースコンパイラの仕様が変わったのかしらん。X.bmpも入ってなくてエラーになるし。困ったもんですなぁ。xkbcompの下のX.icoもないし。開発者の手元にはシンボリックリンクでも張ってあるのかしらん。


というわけで、動くかどうか分からないXming.exeはできました。



syasuda@syasuda-ubuntu:~/src/Xming_69031/xc$ ls -al programs/Xserver/Xming.exe
-rwxr-xr-x 1 syasuda syasuda 2664004 2010-04-08 18:40 programs/Xserver/Xming.exe

おっとまだタイトルバーの文字化け対策してませんでしたね。明日やってみることにしましょう。



今日のwine上のsakura.exeは不安定極まりない。タブを叩いたり、×ボタンで終了するとウィンドウがどこかへ。プロセスは生きているので・・・なんか変なことしたかなぁ。タグジャンプもきかないときがあるし。


(追記)