Comments (5)
Yes, you nailed it.
Windows case-insensitivenes is very problematic, specially when packages change name case, and this is the case, bincrafters decided to rename the package to lowercase. We have added a couple of checks in the codebase, IIRC mainly for conan-create, to fail fast and tell the user about the conflict. But those checks might be worth investigating if possible to apply them also for installs, I'll check.
Of course, the typical workaround of switch off & on (in this case remove the cache files with conan remove "*" -f
) should be enough.
from cmake-conan.
I was using conan 1.0.0. I updated to latest 1.1.1 and the error is basically the same but slightly different. Reading it again, I guess it may be trying to get the sources and the bincrafters package is not providing them. This would be a problem on their side not conan!
PROJECT: Installing D:/Dev/vs/sdlconancmake/conanfile.txt
1> Requirements
1> SDL2/2.0.7@bincrafters/stable from local cache
1> libiconv/1.15@bincrafters/stable from 'conan-center'
1> Packages
1> SDL2/2.0.7@bincrafters/stable:dc9c05d50f7ee47ac10a455d7e592a61d7c75f59
1> libiconv/1.15@bincrafters/stable:6cc50b139b9c3d27b3e9042d5f5372d327b3a9f7
1>
1> libiconv/1.15@bincrafters/stable: Already installed!
1> SDL2/2.0.7@bincrafters/stable: WARN: Forced build from source
1> ERROR: Error while trying to get recipe sources for SDL2/2.0.7@bincrafters/stable. No remote defined
from cmake-conan.
In my case it was failing to build locally because it had hardcoded the "Ninja" generator for cmake, which I hadn't installed. But removing that, it built locally.
I'd say in your case the issue is a different one. Maybe you had the "bincrafters" repo to fetch the package recipe, then you removed the repo before building it? If you do that, the recipe doesn't know where to retrieve the sources from. And as the sources are retrieved only if you need to build from sources, that is the error message that I can read: Error while trying to get recipe sources for SDL2/2.0.7@bincrafters/stable. No remote defined
. Together with the SDL2/2.0.7@bincrafters/stable from local cache
, I suspect that it is that the bincrafters repo was removed.
Try removing the package with conan remove
add the bincrafters repo and try again.
Thanks for your feedback!
from cmake-conan.
I had added the bincrafters repo a while ago. When I created this small project, conan had no problem fetching this package and building the x86-Debug config. As soon as I switched to any other config (Release or x64) the error showed up.
The problem turns out to be more interesting. When I originally wrote the project, the package name in conanfile.txt
was sdl2/2.0.7@bincrafters/stable
, with sdl2
in lower case, as officially listed in https://bintray.com/bincrafters/public-conan/sdl2%3Abincrafters/2.0.7%3Astable
With the package written like this, I compiled the project first time and ended with the following error:
1> sdl2/2.0.7@bincrafters/stable: Build folder d:\Soft\conan-home\data\sdl2\2.0.7\bincrafters\stable\build\dc9c05d50f7ee47ac10a455d7e592a61d7c75f59
1> ERROR: Requested 'sdl2/2.0.7@bincrafters/stable' but found case incompatible 'SDL2'
1> Case insensitive filesystem can't manage this
I didn't really understand what this means, but anyway, I changed sdl2
to upper case in the conanfile.txt
and the project compiled fine in x86-Debug. However, the project could not build in any other configuration, which originated this issue report.
So, it appears, if I write the package in conanfile.txt
in lower case, the package downloads and builds itself (in the currently selected configuration), but then the project that uses this package it can not be built (case-insensitive error). If I then change conanfile.txt
to upper case, the project now builds. As soon as I change build config, the package in upper case can't be found.
So, workaround is, temporarily set package in conanfile.txt
to lowercase so the package is downloaded and built for the current build configuration, then switch to uppercase to actually use it.
I don't know the reasons for the "case insensitive" error - of course I am in Windows so the file system is case insensitive, but... why is that a problem for this package? (I haven't tried other packages yet)
from cmake-conan.
I assume this is the same type of problem as you already dealt with in conan-io/conan#1557, so feel free to close.
from cmake-conan.
Related Issues (20)
- [question] Invalid: 'settings.compiler.runtime' value not defined HOT 21
- Different formatting of msvc runtime value conan_provider.cmake
- Installing only certain packages HOT 8
- [develop2] Question: How stable is the current state HOT 2
- tools.build:compiler_executables breaks build with Autotools and Xcode HOT 3
- [develop2] detect_compiler() detects invalid 'settings.compiler.version' for apple-clang
- [develop2] Can conan_provider.cmake work with add_subdirectory HOT 6
- find_program working when building from command line, but not when using the CLion Conan plugin HOT 11
- [bug] generated settings.yml missing Macos.version "14.2", causes build failures HOT 10
- [develop2, BUG] Unknown arguments specified in conan_provider.cmake:519 HOT 2
- Unable to cross compile openssl/3.x.x on develop2 HOT 6
- Using "build-scripts" package via tool_requires() not working HOT 2
- [develop2] CMAKE_CONFIGURATION_TYPES with custom build types not getting dependencies added properly HOT 3
- ERROR: Invalid setting '6' is not a valid 'settings.compiler.version' value HOT 2
- 【conan install】conan_provider.cmake downloads packages from source because detect_host_profile generates compiler.cppstd=xx in the cmake-build-release/conan_host_profile file with the detect_host_profile method HOT 5
- cmake bootstrapping fails if not on PATH HOT 3
- Not working with conan editable mode HOT 5
- Update readme with more details HOT 1
- MSVC version update HOT 6
- [question] Using layout and -of together Conan 2 HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cmake-conan.