2012-01-18 7 views
0

Mercurial Installerは古いWindows 2000システム上で動作しないため、ソースからビルドしようとしています。 Cコンパイラがオプション-mno-cygwinを認識しないという不満があります。私のgccのバージョンは4.6.1です。 MinGwはわずか2ヶ月です。あなたは "のpython setup.pyのビルド" を実行する前に、このステップを忘れないようhttps://www.mercurial-scm.org/wiki/BuildingOnWindows-mno-cygwin:gcc building Mercurial(Windows 2000)

F:\mercurial-2.0.2>python setup.py build 
running build 
running build_mo 
warning: hgbuildmo: could not find msgfmt executable, no translations will be built 

running build_py 
package init file 'mercurial\__init__.py' not found (or not a regular file) 
package init file 'mercurial\__init__.py' not found (or not a regular file) 
running build_ext 
building 'mercurial.base85' extension 
f:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -If:\python27\include 
-If:\python27\PC -c mercurial/base85.c -o build\temp.win32-2.7\Release\mercurial\base85.o 
**cc1.exe: error: unrecognized command line option '-mno-cygwin'** 
error: command 'gcc' failed with exit status 1 
+0

MinGWの新しいバージョンをインストールしてみてください(まだWin2Kで動作している場合)。 –

+0

その最新のもの。 – ScrollerBlaster

答えて

3

comment by a TDM-GCC MinGW distro developerから:4.6シリーズのよう

を、GCCはもはや受け入れません多くの認識されないオプション またはフラグ。 TDM-GCCは-mno-cygwinを "サポート"していません。今、それは それについて文句を言うでしょう。 "-no-undefined"のようなlibtoolフラグにも当てはまります。

だから、無意味なオプションを無視し、またはそれらは(とにかくMinGWのコンパイラで必要になることはない)そのフラグを使用していないので、ビルドスクリプトを修正しますやや古いGCCのバージョンを使用する必要があります。後続の注意点として

CygwinのコンパイラはGCC 4で始まる-mno-cygwinを支援停止のように、それが見えます:http://www.cygwin.com/ml/cygwin/2009-03/msg00802.html

だからオプションは数年のために多かれ少なかれ役に立たないとなっています。

+0

hm私はmercurialソースツリーで参照されているのを見つけることができません – ScrollerBlaster

+0

私はあなたが 'Distutils'設定ファイルを見る必要があると思います - 情報の出発点はhttp://docs.python.org/install/indexです。 .html#inst-config-filesしかし、実際の設定ファイルや「Pythonモジュールの配布」マニュアルの「リファレンス」セクションを見る必要があると思います。 –

+0

@ScrollerBlaster:あなたのPythonディストリビューションがどこにインストールされていても、 'Lib \ distutils \ cygwincompiler.py'スクリプトを見てください。それは '-mno-cygwin'オプションが置かれている場所です。 –

0

は、次の手順に従っ?

mingwのを使用している場合、のsetup.cfgはsetuptoolsのは、それを使用するよう指示が作成する必要があります

cd mercurial 
echo [build] > setup.cfg 
echo compiler=mingw32 >> setup.cfg 
+0

ありがとう、私はそれをしました。 – ScrollerBlaster