Windows 7でcygwin-x86(32ビットバージョン)を使用してソフトウェアをビルドしようとしています。
Cygwin-x64(64ビット)は、同じマシンで完全に正常に動作します。 32ビットの実行可能ファイルをビルドしたい。
cygwin-x86を試すたびに、次のエラーが発生します。
[メイン] make 7780 child_info_fork :: abort:C:\ cygwin\bin\cygiconv-2.dll:Loaded to different address:parent(0x440000)!= child(0x5F0000)
make:fork:Resource temporary利用できません
私はこのスレッドをチェックしました Cygwin Error
私はそこに記載されているすべてをすでに試しましたが、それでも同じ問題に直面し続けています。
/ usr/bin/rebaseall -vまたはcd/usr/bin &&を試すたび./rebaseall -v上記のスレッドで受け入れられた回答のステップ7で述べたように、次のエラーが発生します。
/usr/x86_64-pc-cygwin/sys-root/usr/bin/cygvtv_stubs-0.dll:マシンタイプが正しくないためスキップされました。 /usr/x86_64-pc-cygwin/sys-root/usr/bin/cygz.dll:マシンタイプが正しくないためスキップされました.
セグメンテーション違反(コアダンプ)
他の多くの.dllについても、この間違ったマシンタイプエラーが発生します。
前述のように、cygwin-64がマシンにインストールされていて、期待どおりに動作しています。しかし、rebaseallを実行している間は、x86-64-pc-cygwin32ビット版ではなく。
スレッドは廃止されました。
実行/usr/bin/rebase-trigger
、すべてのcygwinプロセスを閉じて、再度実行しますsetup-x86.exe
。また、何もインストールしなくても、リベースが実行されます。
オプションfullを指定することもできます。
追加の注記:32ビットシステムでフォークの問題が発生する最も可能性の高い原因は、インストールされているプログラムとライブラリが多すぎることです。
例えば: /usr/x86_64-pc-cygwin/sys-root/usr/bin/cygz.dll
属する cygwin64-zlib
cygwin32からcygwin64プログラムを構築するためのクロスライブラリ。本当に必要ですか?そうでない場合、私が疑っているように、すべてのcywgin64パッケージを削除します。
この問題は、ウイルス対策プログラムによって引き起こされることもあります。 (私はそれがアバストで起こっているのを見ました。)これを無効にすることで、これが原因かどうかをテストできます。
また、分岐されたash、dash、またはbashの最新のプロセスをそれぞれ強制終了することもできます。setup.exeは、このスクリプトをスキップして、残りを続行します。私はそれらの約10-20を殺さなければならなかった、主にラテックスのポストインストールスクリプトで。