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 vs2008_runtime #4728

Merged
merged 16 commits into from
Jan 5, 2018
Merged

Conversation

jakirkham
Copy link
Member

@jakirkham jakirkham commented Jan 3, 2018

Adds a package for vs2008_runtime for conda-forge using AppVeyor. Uses the strategy proposed in this comment due to some oddities with AppVeyor's VS 2008 install.

@conda-forge-linter
Copy link

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipes/vs2008_runtime) and found it was in an excellent condition.

@jakirkham jakirkham force-pushed the add_vs2008_runtime branch 13 times, most recently from 4c25ee8 to 186064c Compare January 3, 2018 06:27
@@ -0,0 +1,26 @@
for /F "usebackq tokens=3*" %%A in (`REG QUERY "HKEY_LOCAL_MACHINE\Software\Microsoft\DevDiv\VC\Servicing\9.0\IDE" /v UpdateVersion`) do (
Copy link
Member Author

Choose a reason for hiding this comment

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

Do you know how to query the runtime library version number from the registry or CMake for VS 2008, @isuruf? I'm pretty sure what I have here is wrong. Though without a Windows machine at hand, it's proving difficult to find out.

Copy link
Member

Choose a reason for hiding this comment

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

Pushed an untested fix. Let's see if it works

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks @isuruf. Nice fix!

@jakirkham
Copy link
Member Author

jakirkham commented Jan 3, 2018

Now if we can only figure out why cmake refuses to copy vcomp, we should be in a good place.

Edit: Maybe it's not included with this install? 😕

Edit 2: Raised as issue ( appveyor/ci#2008 ).

@isuruf isuruf force-pushed the add_vs2008_runtime branch from db967ea to 5ef73fc Compare January 3, 2018 09:39
@jakirkham
Copy link
Member Author

Thanks for exploring this with me @isuruf. I'm wondering if AppVeyor actually installs vcomp90 at this point. Think we might be able to fix this by installing Microsoft Visual C++ 2008 SP1 Redistributable Packages for 32-bit and 64-bit. Have pushed a commit to test this theory.

These should hopefully have the missing `vcomp90` library in them. So
add this hack to `bld.bat` temporarily to see if this fixes the issue.
@@ -0,0 +1,33 @@
package:
name: vs2008_runtime
version: "9.0.30729.6161"
Copy link
Member

Choose a reason for hiding this comment

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

@jakirkham, I updated to 9.0.30729.6161 which is the SP1 MFC security update

Copy link
Member Author

Choose a reason for hiding this comment

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

Sounds fine to me. As long as we are equal to or greater than (which this is) defaults copy, I think we should be ok.

set "ARCH_DIR=amd64"
)

cd C:\Windows\WinSxS\%ARCH_DIR%_microsoft.vc90.openmp_*_%PKG_VERSION%_*
Copy link
Member

Choose a reason for hiding this comment

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

We are using the exact version here, so all of the dlls are actually coming from the SP1 MFC update

Copy link
Member Author

Choose a reason for hiding this comment

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

Could you please add the original link to where these were downloaded from in a comment?

Copy link
Member Author

Choose a reason for hiding this comment

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

Done above.

"vcomp90"
] %}
{% for each_lib in libs %}
- if not exist "%PREFIX%\\{{ each_lib }}.dll" exit 1
Copy link
Member

Choose a reason for hiding this comment

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

Defaults is placing the dlls in %PREFIX% and %LIBRARY_BIN%, so did the same here

Copy link
Member Author

Choose a reason for hiding this comment

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

Thanks for pointing this out.

@isuruf isuruf changed the title WIP: Add vs2008_runtime Add vs2008_runtime Jan 4, 2018
extra:
recipe-maintainers:
- gillins
- isuruf
Copy link
Member Author

Choose a reason for hiding this comment

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

Went ahead and added you as a maintainer, @isuruf. Please let me know if that is ok.

Copy link
Member

Choose a reason for hiding this comment

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

Yes


extra:
recipe-maintainers:
- gillins
Copy link
Member Author

Choose a reason for hiding this comment

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

@gillins, are you still happy to be a maintainer here?

recipe-maintainers:
- gillins
- isuruf
- mingwandroid
Copy link
Member Author

Choose a reason for hiding this comment

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

@mingwandroid, are you still happy to be a maintainer here?

- gillins
- isuruf
- mingwandroid
- msarahan
Copy link
Member Author

Choose a reason for hiding this comment

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

@msarahan, are you still happy to be a maintainer here?

@jakirkham
Copy link
Member Author

jakirkham commented Jan 4, 2018

So do we want to keep the vcredist installs in this recipe and make a note that it requires administrative privileges or would we rather add them to vs2008_express_vc_python_patch where it already requires administrative privileges?

@isuruf
Copy link
Member

isuruf commented Jan 4, 2018

We can pass through the env variable CI and install the vcredist if it's set

@jakirkham
Copy link
Member Author

That seems like a reasonable suggestion.

@jakirkham
Copy link
Member Author

One last question, could we validate these downloads against some kind of checksum?

@isuruf
Copy link
Member

isuruf commented Jan 4, 2018

Done

@jakirkham
Copy link
Member Author

Beautiful. Thanks @isuruf. :)

I think we are ok to merge.

@jakirkham
Copy link
Member Author

@conda-forge/core @conda-forge/staged-recipes, this is ready for a final review. :)


about:
home: http://www.microsoft.com
license: Proprietary
Copy link
Member

Choose a reason for hiding this comment

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

Is this OK?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes. They tell us that we can redistribute the runtime libraries. Anything not in that list comes from this Microsoft Redistribution, which exists for this purpose.

Copy link
Member Author

Choose a reason for hiding this comment

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

Also from a very old discussion that happened on this same topic would highlight this comment as well.

@jakirkham
Copy link
Member Author

Anything else?

@jakirkham jakirkham mentioned this pull request Jan 5, 2018
@jakirkham
Copy link
Member Author

Is it alright if we merge?

@patricksnape patricksnape merged commit ed9464a into conda-forge:master Jan 5, 2018
@patricksnape
Copy link
Contributor

patricksnape commented Jan 5, 2018

Great work guys

@jakirkham
Copy link
Member Author

Thanks everyone!

@jakirkham jakirkham deleted the add_vs2008_runtime branch January 5, 2018 23:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

5 participants