-mno-cygwin: сборка gcc Mercurial (Windows 2000) - PullRequest
0 голосов
/ 18 января 2012

Поскольку установщик Mercurial не будет работать на старой системе Windows 2000, я пытаюсь собрать его из исходного кода.Жалуется, что компилятор C не распознает опцию -mno-cygwin .Моя версия gcc - 4.6.1.и MinGw всего два месяца.

Выполнены следующие действия: https://www.mercurial -scm.org / wiki / BuildingOnWindows

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

Ответы [ 2 ]

3 голосов
/ 19 января 2012

Из комментария разработчика дистрибутива TDG-GCC MinGW :

Начиная с серии 4.6, GCC больше не принимает много нераспознанных опций. или флаги. TDM-GCC никогда не «поддерживал» -mno-cygwin; сейчас будет пожаловаться на это. Это также верно для флагов libtool, таких как "Ая-неопределенный".

Так что вам, возможно, придется использовать несколько более старую версию GCC, которая игнорирует бессмысленную опцию, или исправить скрипты сборки, чтобы они не использовали этот флаг (что в любом случае никогда не понадобится компилятору MinGW).

Как примечание, похоже, что компилятор Cygwin перестал поддерживать -mno-cygwin, начиная с GCC 4: http://www.cygwin.com/ml/cygwin/2009-03/msg00802.html

Так что эта опция была более или менее бесполезной в течение пары лет.

0 голосов
/ 18 января 2012

Вы не забыли этот шаг перед запуском "python setup.py build"?

Если используется mingw, необходимо создать файл setup.cfg, который указывает setuptools на его использование:

cd mercurial
echo [build] > setup.cfg
echo compiler=mingw32 >> setup.cfg
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...