試験運用中なLinux備忘録・旧記事

はてなダイアリーで公開していた2007年5月-2015年3月の記事を保存しています。

crossdevでのReactOS 0.3.3-RC1のビルドは失敗

RosBEの各種ツールのバージョンが非常に新しいためか、以下の構成でもうまくいかなかった。色々試してみたが、結局お手上げだった。

  • binutils 2.17
  • gcc 3.4.6-r2, 4.1.2, 4.2.0 (いずれもNG)
  • mingw-runtime 3.9, 3.12 (いずれもNG?)
  • w32api 3.9

binutilsに含まれるリソースコンパイラ*1windresにもx86_64でのみ不具合があり(x86-chroot内でクロスコンパイラをビルドしたら成功したため)、

[MKDIR]    output-i386/tools/wrc
[LD]       output-i386/tools/wrc/wrc
[WRC]      obj-i386/base/applications/cacls/lang/cacls.coff
i686-mingw32-windres: cacls.cacls.res.tmp: Not a valid WIN32 resource file
make: *** [obj-i386/base/applications/cacls/lang/cacls.coff] Error 1

という具合に止まってしまう。GCCは、4.1.2でも4.2.0でも

[CC]       base/shell/explorer/taskbar/quicklaunch.cpp
[CC]       base/shell/explorer/utility/shellclasses.cpp
[CC]       base/shell/explorer/utility/utility.cpp
[CC]       base/shell/explorer/utility/window.cpp
[CC]       base/shell/explorer/utility/dragdropimpl.cpp
[CC]       base/shell/explorer/utility/shellbrowserimpl.cpp
base/shell/explorer/utility/shellbrowserimpl.cpp:119: error: ‘HRESULT const GUID::*LTHUNK0(const GUID*, ULONG, OLECMD*, OLECMDTEXT*)’ aliased to undefined symbol ‘_ZN17IShellBrowserImpl11QueryStatusEPK5_GUIDmP10_tagOLECMDP14_tagOLECMDTEXT’
base/shell/explorer/utility/shellbrowserimpl.cpp:119: error: ‘HRESULT const GUID::*LTHUNK1(const GUID*, DWORD, DWORD, VARIANT*, VARIANT*)’ aliased to undefined symbol ‘_ZN17IShellBrowserImpl4ExecEPK5_GUIDmmP10tagVARIANTS4_’
base/shell/explorer/utility/shellbrowserimpl.cpp:119: error: ‘HRESULT IShellView::*LTHUNK2(IShellView*)’ aliased to undefined symbol ‘_ZN17IShellBrowserImpl16OnDefaultCommandEP10IShellView’
base/shell/explorer/utility/shellbrowserimpl.cpp:119: error: ‘HRESULT const GUID::*LTHUNK3(const GUID&, const IID&, void**)’ aliased to undefined symbol ‘_ZN17IShellBrowserImpl12QueryServiceERK5_GUIDS2_PPv’
make: *** [obj-i386/base/shell/explorer/utility/shellbrowserimpl.o] エラー 1

これで止まってしまう。3.4系も

[PCH]      obj-i386/base/shell/explorer/precomp.h.gch
In file included from base/shell/explorer/precomp.h:31:
base/shell/explorer/utility/utility.h:781: error: expected class-name が '{' ト ークンの前にあります
base/shell/explorer/utility/utility.h:783: error: `wstring' does not name a type
base/shell/explorer/utility/utility.h:793: error: expected `,' or `...' が '&'  トークンの前にあります
(以下大量のエラー)
base/shell/explorer/utility/xmlstorage.h:2558: error: 'const struct String' has no member named 'c_str'
make: *** [obj-i386/base/shell/explorer/precomp.h.gch] エラー 1

でダメだった。

*1:Win32アプリで、ダイアログなどの「リソース」と呼ばれる情報が書かれたリソースファイル(*.rc)をコンパイルするプログラム