Op 30 jun. 2011 04:10 schreef "David Cleaver" <firstname.lastname@example.org> het volgende:
> > On 6/30/2011 05:20, Torbjorn Granlund wrote:
> >> Currently (i think) GMP configures and builds under MinGW-64, but GMP's
> >> performance leaves a lot to be desired, mainly since the GMP x86_64
> >> assembly does not work with Windows64's calling conventions. (GMP's
> >> performance is very dependent on assembly code, unfortunately.)
> >> We'd like to improve things in a two steps:
> >> (1) Make the existing assembly code work by adding a rather simple layer
> >> of abstraction to it. We will still require a bash-type shell and
> >> other unix-like commands, like e.g., m4 and make.
> >> (2) Perhaps make things work, at least to some degree, with a more
> >> Windowsy environment.
> >> Questions:
> >> Do people here agree that GMP works today (w/o assembly)?
> Yes, I agree that GMP works on 64-bit Windows (w/o assembly). I currently have
> Windows XP Pro x64 as my OS and I use GMP for many of my own programs. I also
> use it with GMP-ECM to good effect.
> Can indeed
> >> MinGW-64 run configure and 'make'?
> Mingw64 provides ar,as,gcc,cpp,ranlib,gdb,ld and several other executables, all
> the *.h and lib*.a files. You need to have an MSYS shell to run configure and make.
> Would I need to install external
> >> software, e.g., (parts of) Cygwin to make it work?
> I'd recommend MSYS as your shell. I have been through this process several
> times recently (setting up mingw64 with msys and building gmp on a Windows XP
> x64 computer). There are just a few zip files you can download to get up and
> running. I'll explain the process at the end of this e-mail.
> >> For step (1) above, will one have m4 from MinGW, or will that require
> >> external software (e.g., Cygwin)? Do you see any other potential
> >> problems?
> If you download MSYS, you will have access to m4.
> >> I will worry about (2) at a later point. The idea here is to not depend
> >> on Unixisms, whatever that means. Gcc from MinGW will certainly still
> >> be useful (I suppose gcc can be run from within such systems as "Visual
> >> Studio"?)
> >> (I am not at this list, please retain any CC to me.)
> >> PS. Which is the recommened way to get started with mingw? I find
> >> sources, but I really don't want to mess with setting up a cross
> >> compiltion environment at this early stage. Should I install by means
> >> of Cygwin's installer?
> Do you have access to a 64-bit Windows OS? If so you can download two zip files
> and be up and running shortly thereafter. The first download will be mingw64.
> The easiest way to get set up with this is to download a personal build made by
> Ozkan Sezer of MingW64. You can download this zip file from their SourceForge
> page here:
> If you have a 64-bit Windows OS, you can download the currently latest file:
> If you don't have a 64-bit Windows OS, you can download one of the other zip
> files and you will be setting up a cross-compile environment at that point.
> Personally, I unzip that file to a simple location, such as:
> This helps me to remember which version of mingw64 I am using.
> Then, the next step is to get MSYS. Luckily, MingW64 hosts an MSYS environment
> that you can download as one zip file, and not have to worry about going through
> an installation process. You can find the MSYS environment on their SourceForge
> page here:
> As of this writing the latest one there is the following:
> I unzip this one to another simple directory like so:
> This helps me to remember which version of MSYS I am using. Although, you can
> get actual MSYS version info from 'uname -a'.
> To get MSYS to use the mingw64 from above as your compiler, you need to change
> the path in your MSYS profile. You can edit the following file:
> (using Notepad [part of Windows], or maybe even Notepad++ [download from the
> And change the 'export PATH' from:
> if [ $MSYSTEM == MINGW32 ]; then
> export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
> if [ $MSYSTEM == MINGW32 ]; then
> # export PATH=".:/usr/local/bin:/mingw/bin:/bin:$PATH"
> export PATH=".:/c/mingw64-20110510/bin:/usr/local/bin:/bin:$PATH"
> Then, to start up the MSYS shell, you can double-click the msys.bat file located
> in your MSYS folder.
> If you right-click on the msys.bat file, you should get a list of options, one
> of them being "Send To", which has a sub-menu. In that sub-menu you can select
> "Desktop (create shortcut)", this will put a shortcut on your desktop that you
> can use to launch MSYS without having to go clicking through folders each time
> you want to run MSYS.
> At this point you can download GMP, I think you are familiar with this one. ;)
> If you'd like to download this with svn, you can get a good windows command line
> version from SourceForge here:
> Currently, the latest version is 1.6.17, which you can get from:
> I unzip this to the following location (for 64-bit Windows):
> c:\program files (x86)\svn-win32-1.6.17\
> Then, to use it from a windows command prompt or inside MSYS, you need to change
> the Windows 'Path' environment variable. To change this, click on Start, and
> Select the 'Control Panel' (or Start->Settings->Control Panel, depending on your
> set up). Once in there, double-click 'System'. Then select the 'Advanced' tab,
> and there should be a button at the bottom that says 'Environment Variables'.
> Click that, and at the bottom of this window you should see a list of 'System
> Variables'. Scroll down until you see the 'Path' variable. You can
> double-click this to edit it. At this point we just want to add the svn\bin
> path at the end of this list of paths. So, make sure you have a ';' semi-colon
> at the end of the list and then put the path to svn after it, like so:
> ;C:\Program Files (x86)\svn-win32-1.6.17\bin
> Click OK to complete this, click OK to close the 'Environment Variables' window,
> and click OK to close the system properties. Now you can open up a new command
> prompt or MSYS shell and use svn like normal.
> Actually, I always download the latest gmp zip from your web site. But, for
> other projects that I do download from svn, I download them to one svn
> directory, and then copy that to a different folder to do my compiling. For
> example, I would have:
> This way I can leave the files in svn alone and do as much as I want with the
> files in the other directories.
> So, to build gmp, first bring up an MSYS shell, then cd to your gmp directory.
> Since config.guess doesn't guess my system very well, I have to pass build and
> host options to it. This isn't for cross-compiling, it is just to make sure
> that configure chooses the correct values for the compiling we are about to do.
> So, my gmp configure line looks like:
> ./configure --host=x86_64-pc-mingw32 --target=x86_64-pc-mingw32
> Then I can run 'make' and 'make check' and everything is fine, except for the
> bugs that I have already reported.
> Oh, actually, if I remember right, if you have link.exe or nm.exe, the configure
> script will die with a strange error. (Maybe I should turn in another bug
> report?) But, if you go into the c:\msys-20110526\bin\ folder and rename both
> files from link.exe and nm.exe to link.old and nm.old, the configure process
> should complete just fine.
you can work around the link.exe problem by configuring with "--host=x86_64-w64-mingw32 --build=x86_64-w64-mingw32". No need to rename any files.
> Whew, that was a lot of instructions. I hope most of that made sense. Please
> let me know if you run into any troubles or would like a better explanation of
> any of the above steps. Let us know how it goes.
> -David C.
> All of the data generated in your IT infrastructure is seriously valuable.
> Why? It contains a definitive record of application performance, security
> threats, fraudulent activity, and more. Splunk takes this data and makes
> sense of it. IT sense. And common sense.
> Mingw-w64-public mailing list