-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
[package] cmake/3.16.3: not working for Windows #1705
Comments
The
What leads you to this conclusion? |
The cmake recipe at cci builds from source, so Can you please remove your current cmake package and download it again? |
Because I only see *.tar.gz archives instead of *.zip files. Actualy the recipe is downloading something and I even have a cmake.exe in my conan cache. But when running it, I get an error telling me a dll is missing. So I assume its downloading the correct files for my platform and my assumptions were not correct. But somehow something is missing. Maybe I have to add something to my system path, but I would assume the package would take care of all its dependencies. |
This is the output:
But running cmake.exe straight out of the package gives me an error which tells me that MSVCP140D.dll is missing. And using it as a build_requires I get:
|
It looks like cmake is built in debug mode and you're missing the debug msvc runtimes. 2 ways to fix this:
|
Google tells me that msvcp140d.dll belongs to visual studio 2015. Anyways, I believe it is a bug that this package is available in debug configuration. |
I installed visual studio 2015, but unfortunately the problem persists. |
That's what I expected. |
I should also note that those dependency lists are for the "Release" build_type, but are still using the debug runtime. |
@robert-shade |
@robert-shade So the newer cmake packages might have been built with a newer visual studio release. |
@madebr yeah, I think that's the root of the trouble. The debug dlls aren't in the normal runtime installer. - I still don't understand why the debug runtime is being linked for the "Release" build_type. |
Oh! I think I found it. The cmake is being run in the source_subfolder , so it's skipping the CMakeLists.txt in the root that calls conan_basic_setup() |
Wow nice find! I also just found out that it doesn't build on Linux without an openssl package. |
Are there any update regarding this issue? We are facing the exact error number:
on a Microsoft Azure CI agent (Windows 2016, the problem is not appearing on Windows 2019 agents for some reason), and it is preventing us to move our whole infra away from the deprecated Thank you for reading! |
There were several changes in the CMake recipe and, probably more important, in the way CCI builds packages. Could you please re-try? For the ones of you who tested locally, please make sure to actual use the latest revision |
Friendly reminder to re-try, otherwise I think we should close this issue |
Sorry... I totally forgot this issue and just saw a notification mail in my mailbox... But I retried it and now it seems to work as expected for me. Thank you very much! |
Thank you for the feedback. Please close the issue then 😄 |
Since the Conan CMake Installer packages are deprecated I wanted to switch to the new cmake packages on conan-center.
Unfortunately its not working under windows, because only Linux binaries are downloaded when the package is used as a build_require.
I reckon all package recipes for cmake will have this issue, because there is no distinction between Linux and Windows inside the source() method.
conan_data.yml does also only contain urls to the the linux archives.
The old CMake Recipes work fine, by the way.
Package and Environment Details
Conan profile
The text was updated successfully, but these errors were encountered: