-mno-cygwin : gcc building Mercurial (Windows 2000)

雨燕双飞 提交于 2019-12-12 02:47:44

问题


Because the Mercurial Installer will not work on an old Windows 2000 system, I'm trying to build it from source. Its complaining that the C Compiler doesn't recognize the option -mno-cygwin. My version of gcc is 4.6.1. and MinGw is only two months old.

Followed these steps: 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

回答1:


From a comment by a TDM-GCC MinGW distro developer:

As of the 4.6 series, GCC no longer accepts many unrecognized options or flags. TDM-GCC has never "supported" -mno-cygwin; now, it will complain about it. This is also true for libtool flags such as "-no-undefined".

So you may have to use a somewhat older GCC version that will ignore the meaningless option, or fix the build scripts so they don't use that flag (which would never be necessary with the MinGW compiler anyway).

As a follow-on note, it looks like the Cygwin compiler stopped supporting -mno-cygwin starting with GCC 4: http://www.cygwin.com/ml/cygwin/2009-03/msg00802.html

So that option has been more or less useless for a couple years.




回答2:


You not to forget this step before running "python setup.py build"?

If using mingw, a setup.cfg needs to be created which directs setuptools to use it:

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


来源:https://stackoverflow.com/questions/8916133/mno-cygwin-gcc-building-mercurial-windows-2000

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!