Created
July 1, 2011 19:57
-
-
Save mmlin/1059280 to your computer and use it in GitHub Desktop.
Installing hg-git on Windows using MinGW
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Here's how I installed hg-git on Windows using the MinGW compiler. | |
PREPARE | |
------- | |
- Install Python (http://www.activestate.com/activepython/downloads) | |
- Install the Python package manager, setuptools (http://pypi.python.org/pypi/setuptools) | |
- Install the MinGW installer (http://sourceforge.net/projects/mingw/files/Automated%20MinGW%20Installer/mingw-get/) | |
- Install the C compiler, MinGW gcc, and a utility, pexports, to help create the import library | |
> mingw-get install gcc | |
> mingw-get install mingw-utils | |
Create an import library for MinGW gcc (http://mercurial.selenic.com/wiki/BuildingOnWindows) | |
> cd c:\python26\libs | |
> pexports c:\windows\system32\python26.dll > python26.def | |
> dlltool -C -d python26.def -l libpython26.a | |
> nm libpython26.a # shows you the exported symbols with "I" (as import symbol) | |
- Configure the package manager to use the new C compiler | |
In C:\Python26\Lib\distutils\, create distutils.cfg with this content: | |
[build] | |
compiler=mingw32 | |
INSTALL (http://hg-git.github.com/) | |
----------------------------------- | |
> easy_install hg-git | |
> cd %USERPROFILE% | |
> notepad .hgrc | |
[extensions] | |
hgext.bookmarks = | |
hggit = C:\Python26\Lib\site-packages\hg_git-0.2.6-py2.6.egg\hggit | |
USE (http://hg-git.github.com/) | |
------------------------------- | |
$ cd hg-git # (a Mercurial repository) | |
$ hg bookmark -r default master # make a bookmark of master for default, so a ref gets created | |
$ hg push git+ssh://[email protected]/schacon/hg-git.git | |
$ hg push |
After following the instructions above on Python2.7 I get an error saying "unrecognized command line option '-mno-cygwin'" when gcc is called while installing dulwich.
@jimitndiaye
I had the same problem and fixed it using the suggestion from http://stackoverflow.com/a/6035864/1462615
To install hg-git on Python 2.7 on Windows 7 x64, I had to patch cygwinccompiler.py
--- C:\Python27\Lib\distutils\cygwinccompiler.py.orig.py
+++ C:\Python27\Lib\distutils\cygwinccompiler.py
@@ -325,7 +325,7 @@
no_cygwin = ''
self.set_executables(compiler='gcc%s -O -Wall' % no_cygwin,
- compiler_so='gcc%s -mdll -O -Wall' % no_cygwin,
+ compiler_so='gcc%s -mdll -O -Wall -D MS_WIN64' % no_cygwin,
compiler_cxx='g++%s -O -Wall' % no_cygwin,
linker_exe='gcc%s' % no_cygwin,
linker_so='%s%s %s %s'
The link in this guide -- http://mercurial.selenic.com/wiki/BuildingOnWindows should be replaced with https://www.mercurial-scm.org/wiki/BuildingOnWindows
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I got it to work by ignorning the section
and just running the easy_install command again once I had the entry
[build]
compiler=mingw32
In C:\Python27\Lib\distutils\distutils.cfg which uses the gcc compiler from mingw instead.