Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
WIP: more windows build and CI changes #5629
Conversation
tacaswell
added the
needs_review
label
Dec 6, 2015
This was referenced Dec 6, 2015
|
@pelson: Could you comment on this:
-> Why not use the documented way with |
Thanks @janschulz. I've responded in #5604 (comment). Essentially, if we do it the latter way, we are able to do things like |
I would suggest a healthier choice would be to look at extending conda-forge to include functools32. I'm happy to support you in doing this (see https://github.com/conda-forge/staged-recipes). In general, anything that involves a single-user anaconda.org channel should be avoided, IMHO. |
janschulz
referenced
this pull request
in conda-forge/staged-recipes
Dec 9, 2015
Merged
functools32 3.2.3.2 #33
Yes, true. PR submitted... |
|
@janschulz state of this? |
tacaswell
added this to the
proposed next point release (2.1)
milestone
Dec 19, 2015
janschulz
referenced
this pull request
Dec 22, 2015
Closed
Fix #5519: Patch now support the 'None' linestyle #5696
|
on it during the next hours on the train... |
|
@pelson I tried your way, but it doesn't work for multiple reasons:
First, The second reason is that matplotlibs setup call is protected by a
I've asked for a new way to get the version directly from versioneer: conda/conda-build#714 [update: there won't be such a change, so I can't see a way to replace the current version overwrite with a template one. @pelson if you have an idea how to fix this, that would be great...] |
|
Current status: I want to have a look how to compile with a local freetype version, so that the tests can run (and afterwards enable the tests again). But other than this, I'm happy with the PR... |
|
Since FT 2.6 it uses ctypes and is easly build if the compiler is already set up, |
|
Ok, I looked into the freetype building stuff ( From there it's almost easier/cleaner to include the complete source of that repo (adjusted to download the included sources (tars/zips) instead of using checked in ones...). @tacaswell @mdboom Any preference: just include the minimal source to compile the downloaded freetype or include the complete utils.py and let it compile everything which isn't found on the (windows-)system? The first will mean that I inline all relevant helper functions from utils.py and refatcor the local_freetype path in setupext.py to swithc between *ix (current codepath) and windows (utils.py stuff). If the latter, it would mean that each dependency would gain a "local_whatever" switch and a
and in setup_local_build.py:
|
|
I think I prefer the latter. Seems better organized. |
|
@mdboom Had a closer look and it seems that this would also need fixes for most other parts of the individual tests (e.g. |
|
Got the "local freetype" build going... |
|
Looks like the current problem is that |
|
Ok, the current problem looks like we need to clean the build area before starting the conda build... tomorrow... |
|
I'm a bit perplexed:
Why "version a"? https://github.com/numpy/numpy/blob/master/numpy/core/code_generators/generate_numpy_api.py#L91 |
Numpy ABI versions don't have a 1-to-1 correspondance with Numpy versions. And the code is displaying the number in hexadecimal so My guess here is that the build is not being entirely cleaned before being rebuilt for a different numpy version. EDIT: Oh, and I see you already said that... |
|
re the string failure: ok in py27, 64bit during the regular build:
not ok on 2.7, 64bit during the conda build:
-> No difference :-( I currently suspect that somehow the proper vcvarsall is not called and therfore not all include path are set: conda/conda-build#729 Lets see what the build log for the current debug build tells us... CC: @pelson |
|
py27, 64bit:
-> This is a problem in conda-build which does not prefers the installed python vs compiler over the normal VC install (which seems to be missing the 64bit compilers... :-() PY34, 64bit: https://ci.appveyor.com/project/JanSchulz/matplotlib/build/1.0.104/job/qk7e8eska42nsv39#L7402
-> This is point 4 on this entry: http://blog.ionelmc.ro/2014/12/21/compiling-python-extensions-on-windows/#for-python-3-4 Instead of |
janschulz
referenced
this pull request
in conda/conda-build
Jan 25, 2016
Closed
windows: code problems in how vcvarsall.bat is found? #729
|
FWIW This is the same issue discussed at conda-forge/matplotlib-feedstock#1. I'm interested to learn that this may be a conda issue. Unfortunately, I don't own a 64-bit Windows machine, and therefore haven't been able to reproduce locally (I do own a 32-bit machine, and that has been invaluable in debugging many issues). I suspect if you can reproduce quickly, it will be reasonably quick to determine how conda / the build system should be behaving. |
|
@pelson It could be argued that the PY34, 64bit is a problem by appveyor, that they don't setup the python build environment properly, but on the other hand that's the way it is directly after installing without the manual corrections... I'm currently trying a workaround by using the following in bld.bat:
|
|
@pelson It would be really great if the
|
|
@pelson Ok, that didn't work: now it can't find any python package?
damn... |
janschulz
added some commits
Dec 25, 2015
|
@pelson: Ok, new hypothesis: the things we set in The biggest difference is that there is a difference what is run when: normal build:
conda build:
This is what is called by the bld.bat (after conda build adds it's own commands to the start):
If this hypothesis is right, then including the old variables in the new set will let the build succeed... Lets see... |
|
And yay, it seems to work. @pelson you might want to implement something similar to janschulz/matplotlib@63db4de [edit: or not, not the 3.4 64bit build gets a 32bit 2.7 python?] |
|
Ok the 3.4 build is hopefully fixed by using I enabled the tests (still not failing, only showing...) and the wheel build again, lets see how this works... |
|
Yay, green... |
|
Ok, this is now green but the tests still fail (and are silenced to let the build continue). Not sure how to proceed here. IMO the best is to merge and then handle the test failure in a different PR (e.g. #5748)? There is also the case that some image comparison tools are missing (GS,...), so only 1 of the 3 tests per image are run. There are currently no conda packages for these tools, so this needs tooling support in other parts of the community :-/ |
|
This is great progress and I fully support merging it now and improve further in a new PR. |
tacaswell
added a commit
that referenced
this pull request
Jan 26, 2016
|
|
tacaswell |
2a4863c
|
tacaswell
merged commit 2a4863c
into matplotlib:master
Jan 26, 2016
tacaswell
removed the
needs_review
label
Jan 26, 2016
|
|
|
Yes, thanks @janschulz. This is tiresome work with long feedback loops. But really worthwhile, given the imbalance between users on Windows and developers on Windows. |
janschulz commentedDec 6, 2015
Followup after #5604
local_freetype = Trueinsetup.cfgto get image comparison tests? Probably needs windows fixes in the setup code? yep: #5696 (comment)Closes: #5627