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

Add MSYS2 path translation exclusion for CL with MSVC builds #900

Merged
merged 10 commits into from
May 6, 2016

Conversation

msarahan
Copy link
Contributor

This might work - needs testing. If it doesn't, I think we might need to remove the /Release flag (but this really should work: https://msdn.microsoft.com/en-us/library/ff660764(v=vs.100).aspx)

ping @patricksnape @jakirkham - is there a good way for us to test this with conda-forge?

@msarahan msarahan added the in_progress [deprecated] use milestones/project boards label Apr 27, 2016
@jakirkham
Copy link
Member

Is this meant to fix ( #895 )?

@patricksnape
Copy link
Contributor

Sorry I'm away this week with work and they are fairly intense, long days. I did have a bit of a look at this and I think it might be to do with delayed expansion within the SDK script. We may need to flip it on before calling it - as is done in conda-forge right now.

# Unfortunately, the Windows SDK takes a different command format for
# the arch selector - debug is default so explicitly set 'Release'
win_sdk_arch = '/x86 /Release' if bits == 32 else '/x64 /Release'
win_sdk_arch = '/Release /x86' if bits == 32 else '/Release /x64'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 97 above. That is documented as being required if the Windows SDK is used. Currently that only gets set if the user overrides the default version - when in fact it may need to be set for VS 2010 only (which is the only version that uses the Win SDK.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I understand those flags above as telling distutils "stand back, I'm going to try science!"

In other words, it overrides distutils' search for compiler. Maybe I'm wrong - haven't looked deeply at this.

Are there changes you'd suggest here, or just commenting?

@msarahan
Copy link
Contributor Author

@jakirkham - hopefully. Testing now with ICU: https://ci.appveyor.com/project/conda-forge/icu-feedstock/build/1.0.17

@patricksnape good idea on delayed expansion. I'll try that next if this doesn't work.

@@ -4,7 +4,7 @@ package:

source:
fn: sympy-0.7.5.tar.gz
url: https://pypi.python.org/packages/source/s/sympy/sympy-0.7.5.tar.gz
url: https://pypi.python.org/packages/8c/a5/5fa8adee81837687f7315122769fc0b0e8b042c69e2fe5809c41191c7183/sympy-0.7.5.tar.gz
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Unrelated, but it is here. Why do we now have to do this with the URLs?

I have seen this is needed on conda-forge too. Would be nice if we could handle a redirect or whatever so that we can avoid this ugly URL somehow.

cc @ocefpaf

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't know when this changed, but pypi changed their web api. They don't seem to offer redirects that I know of. My search terms have been "pypi url change" and stuff like that. Haven't been able to find anything.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I have tried to search for this change and found nothing either, but thought maybe you might know more than I. If you figure out anything, please let me know.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msarahan, @jakirkham
Seems to be quite a bit of complaints/discussion related to the pypi URL changes here:
https://bitbucket.org/pypa/pypi/issues/438/backwards-compatible-un-hashed-package

TLDR: doesn't look like it will be fixed on the current pypi, but backwards compatible URLs are featured in "Warehouse" which is PyPI 2.0.

I was able to verify the expected behaviour for the package pyface:
The links listed at https://pypi.io/project/pyface/#files have the hashes in them, but the following old-style URL also works: https://pypi.io/packages/source/p/pyface/pyface-5.1.0.tar.gz

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Awesome, works for sympy too.

https://pypi.io/packages/source/s/sympy/sympy-0.7.5.tar.gz

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going to split that commit off of this PR and make its own. That really needs a fix.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was debating asking about just that exactly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@msarahan msarahan closed this May 1, 2016
@msarahan msarahan reopened this May 1, 2016
@msarahan msarahan added in_progress [deprecated] use milestones/project boards and removed in_progress [deprecated] use milestones/project boards labels May 1, 2016
@codecov-io
Copy link

Current coverage is 10.4%

Merging #900 into master will decrease coverage by +0.5%

@@            master       #900   diff @@
=========================================
  Files           39         41     +2   
  Lines         5144       5289   +145   
  Methods          0          0          
  Messages         0          0          
  Branches         0          0          
=========================================
+ Hits           509        550    +41   
- Misses        4635       4739   +104   
  Partials         0          0          
  1. 7 files (not in diff) in conda_build were modified. more
    • Misses -6
    • Hits -9
  2. 2 files (not in diff) in conda_build were created. more

Powered by Codecov. Last updated by 05cce46...20887a5

@msarahan msarahan added this to the 1.20.2 milestone May 6, 2016
@msarahan msarahan force-pushed the fix_win_vs2010 branch 2 times, most recently from 9507c93 to 10b09e4 Compare May 6, 2016 19:15
@msarahan
Copy link
Contributor Author

msarahan commented May 6, 2016

Ultimately, the cause of this issue is that MSYS2 automatically converts things that look like

/AI

into paths, like C:\root\of\msys2\ai

This confuses MSVC a lot. The main additions here are some environment variables that prevent MSYS2's path conversion from acting on a few things. Otherwise, there are some tests that are probably good to have, anyway.

@msarahan
Copy link
Contributor Author

msarahan commented May 6, 2016

Merging. Passing appveyor build in https://ci.appveyor.com/project/msarahan/conda-build/build/1.0.54

@msarahan msarahan changed the title swap vs2010 arch options; fix env var settings Add MSYS2 path translation exclusion for CL with MSVC builds May 6, 2016
@msarahan msarahan merged commit c6b9aba into conda:master May 6, 2016
@msarahan msarahan removed the in_progress [deprecated] use milestones/project boards label May 6, 2016
@msarahan msarahan deleted the fix_win_vs2010 branch October 12, 2016 15:32
@github-actions
Copy link

Hi there, thank you for your contribution!

This pull request has been automatically locked because it has not had recent activity after being closed.

Please open a new issue or pull request if needed.

Thanks!

@github-actions github-actions bot added the locked [bot] locked due to inactivity label May 10, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators May 10, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
locked [bot] locked due to inactivity
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants