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 |
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
@jimitndiaye
I had the same problem and fixed it using the suggestion from http://stackoverflow.com/a/6035864/1462615