Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instructions to build mingwpy from source #25

Open
ogrisel opened this issue Jan 18, 2016 · 9 comments
Open

Instructions to build mingwpy from source #25

ogrisel opened this issue Jan 18, 2016 · 9 comments

Comments

@ogrisel
Copy link
Contributor

ogrisel commented Jan 18, 2016

Give detailed instructions to re-build the mingwpy binary distributions from source.

@carlkl
Copy link
Contributor

carlkl commented Jan 19, 2016

The first part is pushed into this branch:

https://github.com/mingwpy/mingw-builds/tree/mingwpy-dev

see all diffs:

https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2FniXman%2Fmingw-builds%2Fcompare%2Fdevelop...mingwpy%3Amingwpy-dev&sa=D&sntz=1&usg=AFQjCNH6rnorWMdlTOsDusFkmJkF0VpZoQ

The FPU patch (not a patch but a seqeunce of sed commands) is still missing and will follow.

@ogrisel
Copy link
Contributor Author

ogrisel commented Jan 20, 2016

Thanks, I will give it a try today. Are there any command-line options to pass to the script or should I use the default options (besides gcc version and target architecture)?

@ogrisel
Copy link
Contributor Author

ogrisel commented Jan 20, 2016

I just found the mingwpy_readme.md, sorry for the noise.

@ogrisel
Copy link
Contributor Author

ogrisel commented Jan 20, 2016

Some notes while I am testing:

  • need to install git and texinfo (missing dep for the build script) with pacman.

  • then to download the build scripts:

    git clone -b mingwpy-dev https://github.com/mingwpy/mingw-builds.git
    cd mingw-builds
    
  • then to build faster on a machine with 8 cores, here is an additional CLI option for ./build: --jobs=8

@carlkl
Copy link
Contributor

carlkl commented Jan 20, 2016

I made an update on mingwpy_readme.md. Be aware, that this is very much work in progress.

@ogrisel
Copy link
Contributor Author

ogrisel commented Jan 20, 2016

Thanks, I could get a 64-bit build of gcc / gfortran to build successfully. I used it to build OpenBLAS master from source on windows and could then compile time_dgemm.c and measured 75 GFLOPS on that host. Great work!

To build numpy I assume this is more complex as we need to get changes in numpy's distutils first right?

@ogrisel
Copy link
Contributor Author

ogrisel commented Jan 20, 2016

BTW if other people are interested in reproducing this build, I just realised that it's currently free to download the official 64 bit Windows 10 ISO (for instance to run in VirtualBox):

https://www.microsoft.com/en-us/software-download/windows10ISO

@carlkl
Copy link
Contributor

carlkl commented Jan 20, 2016

@ogrisel, you can also use the https://github.com/mingwpy/OpenBLAS/tree/mingwpy-dev branch to compile OpenBLAS. There are still some actions missing from my side:

  • patch the gcc specs file to avoid linking to msvcrt
  • add manifest resources to the specs and to the lib folder (essential for msvcr90)
  • add -mincoming-stack-boundary=2 to the specs (win32)
  • add -mlong-double-64 (i'm trying to patch the gcc source tree for that purpose)
  • add -DMS_WIN64 to the specs (amd64)
  • patch FPU default settings in mingw-w64 crt to MS ABI standard

and of course

  • renewed numpy PR for mingwpy usage

@carlkl
Copy link
Contributor

carlkl commented Jan 22, 2016

and I forgot the fpclassify patch for win32.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants