From: KIMURA Koichi Date: 2007-12-10T15:27:17+09:00 Subject: [ruby-dev:32509] ruby-core:13961での問題(Error while bulding Ruby 1.9 from snapshot 2007/12/09) 木村です。 At Mon, 10 Dec 2007 05:33:48 +0900, Wolfgang Nadasi-Donner wrote in [ruby-core:13961]: で、ptyの拡張ライブラリが絡んでビルドができないという報告が出てますが、 自分のところでも同じ現象が出てます。 なかださんが mkmf.log を見せてくれというメールを投げてます() が、コンパイラが日本語を含んだメッセージを吐くのと、添付ファイルとして 投稿することができないので直接貼り付けて ruby-devに投稿します。 #一応 ruby-devに貼り付けた旨 ruby-coreにも投げるつもりです 先週の金曜日の時点のソースは問題なくビルドできています(pty等の インストーやアンインストールはしていません)。 一応環境を書いておくと、 Windows 2000 Visual C++ 7.1 です。 使ったソースは今朝の時点での snapshotです。 200行ほどありますが、目障りに感じた方がいらしたらごめんなさい。 have_header: checking for sys/stropts.h... -------------------- no "cl -nologo -E -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -MD -Zi -O2b2xg- -G6 conftest.c -P" conftest.c conftest.c(1) : fatal error C1083: インクルード ファイルを開けません。'sys/stropts.h': No such file or directory checked program was: /* begin */ 1: #include /* end */ -------------------- have_func: checking for setresuid()... -------------------- no "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.c(8) : error C2065: 'setresuid' : 定義されていない識別子です。 checked program was: /* begin */ 1: #define WIN32_LEAN_AND_MEAN 2: #define WIN32 3: #include 4: #include 5: 6: /*top*/ 7: int main() { return 0; } 8: int t() { void ((*volatile p)()); p = (void ((*)()))setresuid; return 0; } /* end */ "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.obj : error LNK2019: 未解決の外部シンボル _setresuid が関数 _t で参照されました。 conftest.exe : fatal error LNK1120: 外部参照 1 が未解決です。 checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { setresuid(); return 0; } /* end */ -------------------- have_header: checking for libutil.h... -------------------- no "cl -nologo -E -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -MD -Zi -O2b2xg- -G6 conftest.c -P" conftest.c conftest.c(1) : fatal error C1083: インクルード ファイルを開けません。'libutil.h': No such file or directory checked program was: /* begin */ 1: #include /* end */ -------------------- have_header: checking for pty.h... -------------------- no "cl -nologo -E -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -MD -Zi -O2b2xg- -G6 conftest.c -P" conftest.c conftest.c(1) : fatal error C1083: インクルード ファイルを開けません。'pty.h': No such file or directory checked program was: /* begin */ 1: #include /* end */ -------------------- have_library: checking for openpty() in util.lib... -------------------- no "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib util.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.c(8) : error C2065: 'openpty' : 定義されていない識別子です。 checked program was: /* begin */ 1: #define WIN32_LEAN_AND_MEAN 2: #define WIN32 3: #include 4: #include 5: 6: /*top*/ 7: int main() { return 0; } 8: int t() { void ((*volatile p)()); p = (void ((*)()))openpty; return 0; } /* end */ "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib util.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c LINK : fatal error LNK1104: コンパイラは、ファイル 'util.lib' を開くことができません。 checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { openpty(); return 0; } /* end */ -------------------- have_func: checking for openpty()... -------------------- no "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.c(8) : error C2065: 'openpty' : 定義されていない識別子です。 checked program was: /* begin */ 1: #define WIN32_LEAN_AND_MEAN 2: #define WIN32 3: #include 4: #include 5: 6: /*top*/ 7: int main() { return 0; } 8: int t() { void ((*volatile p)()); p = (void ((*)()))openpty; return 0; } /* end */ "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.obj : error LNK2019: 未解決の外部シンボル _openpty が関数 _t で参照されました。 conftest.exe : fatal error LNK1120: 外部参照 1 が未解決です。 checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { openpty(); return 0; } /* end */ -------------------- have_func: checking for _getpty()... -------------------- no "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.c(8) : error C2065: '_getpty' : 定義されていない識別子です。 checked program was: /* begin */ 1: #define WIN32_LEAN_AND_MEAN 2: #define WIN32 3: #include 4: #include 5: 6: /*top*/ 7: int main() { return 0; } 8: int t() { void ((*volatile p)()); p = (void ((*)()))_getpty; return 0; } /* end */ "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.obj : error LNK2019: 未解決の外部シンボル __getpty が関数 _t で参照されました。 conftest.exe : fatal error LNK1120: 外部参照 1 が未解決です。 checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { _getpty(); return 0; } /* end */ -------------------- have_func: checking for ptsname()... -------------------- no "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.c(8) : error C2065: 'ptsname' : 定義されていない識別子です。 checked program was: /* begin */ 1: #define WIN32_LEAN_AND_MEAN 2: #define WIN32 3: #include 4: #include 5: 6: /*top*/ 7: int main() { return 0; } 8: int t() { void ((*volatile p)()); p = (void ((*)()))ptsname; return 0; } /* end */ "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.obj : error LNK2019: 未解決の外部シンボル _ptsname が関数 _t で参照されました。 conftest.exe : fatal error LNK1120: 外部参照 1 が未解決です。 checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { ptsname(); return 0; } /* end */ -------------------- have_func: checking for ioctl()... -------------------- yes "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c conftest.c(8) : error C2065: 'ioctl' : 定義されていない識別子です。 checked program was: /* begin */ 1: #define WIN32_LEAN_AND_MEAN 2: #define WIN32 3: #include 4: #include 5: 6: /*top*/ 7: int main() { return 0; } 8: int t() { void ((*volatile p)()); p = (void ((*)()))ioctl; return 0; } /* end */ "cl -nologo -Feconftest -I../../.ext/include/i386-mswin32_71 -I../.././../include -I../.././../ext/pty -I../.././../include -MD -Zi -O2b2xg- -G6 conftest.c msvcr71-ruby19-static.lib oldnames.lib user32.lib advapi32.lib shell32.lib ws2_32.lib -link -libpath:"." -libpath:"../.." -stack:0x200000" conftest.c checked program was: /* begin */ 1: /*top*/ 2: int main() { return 0; } 3: int t() { ioctl(); return 0; } /* end */ -------------------- -- 木村浩一