2009-08-29 12 views
0

Windows Vista UltimateマシンにFirefoxを構築しようとしています。次のエラーが表示され続けます。nsinstall:Vistaのファイル番号エラーが無効です

nsinstall: Bad file number

このエラーはVistaのUACのために発生していることがあります。ここに私はこの結論に導く2つの記事です。 https://wiki.mozilla.org/Penelope_Developer_Page#Windows_Vistaおよびhttp://www.kevinbrosnan.net/mozilla-build-error-nsinstall-bad-file-number

標準の「管理者として実行」を使用して、ビルドをやり直そうとしましたが、まったく同じエラーが発生します。また、管理者として通常のコマンドプロンプトを起動し、mozilla-build(start-msvc8.bat)のバッチファイルに行き、実行しました。それでも、同じ点で同じエラーが発生します。

このエラーを回避する方法や、エラーの原因になっている可能性のある他の洞察はありますか?

:私の希望でもposted something hereは、トピック固有のヘルプを取得するが、私は、私はnsinstall上の情報を見つけたことを掲示した後、私は...のぞき見を聞いていませんでした。私はcompletly cnemelkasrによって提案されたとして、問題を修正するために、UACを無効にしようとしました:とにかく、私はSOので、私は更新私は...ここに

を試してみようと思いました好みます。私はまったく同じエラーを受けました。この新しい知識は、ファイルやフォルダが見つからないと思うようにしています... NSInstallの経験がある人は、指定されたエラー - ファイル番号が間違っています - が何を意味するのか知っていますか?ファイルハンドルを参照している可能性があります。

答えて

0

私の質問に対する答えが見つかりました。私は他の人と答えを共有し、この質問を閉じるためにここに答えを掲示しています。

UACを無効にした後、ディレクトリの深さがNSInstallを妨害していることが示唆されました。私はc:/Users/Frank/Documents/hg-repos/firefox-src-hgRepo/mozilla-fv-expirement/からC:/mozilla-fv-expirement/にフォルダを移動しました。すべての以前のビルドの試行をクリーンアップし、最後にビルドを(UACをオフにして)再開し、動作中のデバッグバイナリを受け取りました。提案がで投稿されました

mozilla.dev.builds

0

本当にUACエラーの場合は、UACを完全に無効にすることができます。私はいくつかのパッケージでこれをしなければなりませんでした。 Web上には、そのための指示を得るための数多くの場所があります。

のうちの1つである。

+0

だから、あなたは上記の私の更新から見ることができるように、私はこれを試してみましたが、それは助けにはなりませんでした。あなたに他の提案があるなら、私はそれらにオープンしています... –

0

「不正なファイル番号を」メッセージ私が見てきた例では、execvp (command, argv)(または類似)関数に渡された引数が多すぎによって引き起こされます。しかし、からのプログラムまでです。古い bash,shまたはのBorland/WatcomプログラムPATHが考えられます。

ビルドディレクトリの名前を短くすると、最終的にCreateProcess()に渡されるコマンドラインの合計サイズが短くなります。私はWin-XPでもこれを見てきたので、UACには何も関係がないと思います。しかし、ビルド中にMozillaが相対パスを使用しないことはちょっと奇妙です。私はいくつかのディレクトリを使用していると思う接頭辞そのメイクファイルの価値(私はそれを構築しようとしたことがない)。

あなたが_execvp()のドキュメントを見れば:
引数と環境設定に必要なスペースは、32キロバイトを超えて:
http://msdn.microsoft.com/en-us/library/3xw6zy53.aspx

E2BIGが可能errno値の一つです。

ここでは、奇妙な部分があります。

事実1
のVisual-C/MinGWの(任意のバージョン)で、strerror(EBADF) "不正なファイル番号"を返しません。 (これは "Bad file descriptor"を返します)。

事実2:オン
BorlandのCBuilder 5.6とWatcomの1.9(これらはないは、MSVCランタイムを使用しない)、strerror(EBADF)が実際に "不正なファイル番号"を返すん。

理論
は(あまりにも、その他ブラウン管?)ボーランド、WatcomのはE2BIGEBADFの意味をアップミックスすることが可能です。それは意味をなさないでしょうか?あなたがより良い理論を持っているなら、誰かが私を修正してください。
は、ご使用の環境のサイズを短くする(最も簡単)またはコマンドライン(必ずしも容易ではない)を短縮する次のいずれか 私は

結論 ...少しは自分自身を混乱しています。

--gv

関連する問題