web-dev-qa-db-ja.com

Cygwinエラー:「child_info_fork :: abort:Loaded to different address:」

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ビット版ではなく。

13
Ganesh kudva

スレッドは廃止されました。

実行/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パッケージを削除します。

14
matzeri

この問題は、ウイルス対策プログラムによって引き起こされることもあります。 (私はそれがアバストで起こっているのを見ました。)これを無効にすることで、これが原因かどうかをテストできます。

2

また、分岐されたash、dash、またはbashの最新のプロセスをそれぞれ強制終了することもできます。setup.exeは、このスクリプトをスキップして、残りを続行します。私はそれらの約10-20を殺さなければならなかった、主にラテックスのポストインストールスクリプトで。

0
aanhouden