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

Failing to install Conan Catch2/catchorg package due to case mismatch on macOS 10.14 #1501

Closed
torfinnberset opened this issue Jan 18, 2019 · 9 comments

Comments

@torfinnberset
Copy link
Contributor

I've used to get Catch2 from the bincrafters repository, but I saw there was a deprecation warning that led me to use the catchorg repository. So I added the catchorg repository to conan, and tried installing it from this location. However, I am getting an error when trying to install the catchorg version:

conan install Catch2/2.5.0@catchorg/stable
Configuration:
[settings]
arch=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=10.0
os=Macos
[options]
[build_requires]
[env]

Catch2/2.5.0@catchorg/stable: Not found in local cache, looking in remotes...
Catch2/2.5.0@catchorg/stable: Trying with 'bloomlife'...
Catch2/2.5.0@catchorg/stable: Trying with 'conan'...
Catch2/2.5.0@catchorg/stable: Trying with 'conan-community'...
Catch2/2.5.0@catchorg/stable: Trying with 'bincrafters'...
Catch2/2.5.0@catchorg/stable: Trying with 'catchorg'...
Downloading conanmanifest.txt
[==================================================] 1.4KB/1.4KB      
Downloading conanfile.py
[==================================================] 889B/889B        
Downloading conan_export.tgz
[==================================================] 891B/891B        
Decompressing conan_export.tgz: 100%|██████████| 891/891 [00:00<00:00, 420kB/s]
ERROR: Failed requirement 'Catch2/2.5.0@catchorg/stable' from 'PROJECT'
ERROR: Requested 'Catch2/2.5.0@catchorg/stable' but found case incompatible 'catch2'
Case insensitive filesystem can't manage this

So, I then naturally I tried to change change the case from Catch2 to catch2, but now there's another catch:

conan install catch2/2.5.0@catchorg/stable
Configuration:
[settings]
arch=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=10.0
os=Macos
[options]
[build_requires]
[env]

catch2/2.5.0@catchorg/stable: Not found in local cache, looking in remotes...
catch2/2.5.0@catchorg/stable: Trying with 'bloomlife'...
catch2/2.5.0@catchorg/stable: Trying with 'conan'...
catch2/2.5.0@catchorg/stable: Trying with 'conan-community'...
catch2/2.5.0@catchorg/stable: Trying with 'bincrafters'...
catch2/2.5.0@catchorg/stable: Trying with 'catchorg'...
ERROR: Failed requirement 'catch2/2.5.0@catchorg/stable' from 'PROJECT'
ERROR: Unable to find 'catch2/2.5.0@catchorg/stable' in remotes

So I guess this works on Windows, as it's case insensitive, but will break on Linux/BSD based systems. I was trying to look at the Conan sources in this repo to trace down the discrepancy, but no luck.

As a last comment, I'd prefer if the Catch2 package was available on conan-center, as adding more remotes for all our devs is error-prone and slows things down. Anyway, Catch2 is great no matter what 👍

@horenmar
Copy link
Member

Try doing conan remove -f catch2/* before installing Catch2 from the new repository.

@torfinnberset
Copy link
Contributor Author

Unfortunately the same issue:

$ conan remove -f catch2/
$ conan install Catch2/2.5.0@catchorg/stable
Configuration:
[settings]
arch=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=10.0
os=Macos
[options]
[build_requires]
[env]

Catch2/2.5.0@catchorg/stable: Not found in local cache, looking in remotes...
Catch2/2.5.0@catchorg/stable: Trying with 'bloomlife'...
Catch2/2.5.0@catchorg/stable: Trying with 'conan'...
Catch2/2.5.0@catchorg/stable: Trying with 'conan-community'...
Catch2/2.5.0@catchorg/stable: Trying with 'bincrafters'...
Catch2/2.5.0@catchorg/stable: Trying with 'catchorg'...
Downloading conanmanifest.txt
[==================================================] 1.4KB/1.4KB      
Downloading conanfile.py
[==================================================] 889B/889B        
Downloading conan_export.tgz
[==================================================] 891B/891B        
Decompressing conan_export.tgz: 100%|██████████| 891/891 [00:00<00:00, 273kB/s]
ERROR: Failed requirement 'Catch2/2.5.0@catchorg/stable' from 'PROJECT'
ERROR: Requested 'Catch2/2.5.0@catchorg/stable' but found case incompatible 'catch2'
Case insensitive filesystem can't manage this

Some more info if it helps:

$  conan --version
Conan version 1.11.2

$ conan remote list
conan: https://bintray.com/conan/conan-center [Verify SSL: True]
conan-community: https://api.bintray.com/conan/conan-community/conan [Verify SSL: True]
bincrafters: https://api.bintray.com/conan/bincrafters/public-conan [Verify SSL: True]
catchorg: https://api.bintray.com/conan/catchorg/Catch2 [Verify SSL: True]

@Minimonium
Copy link
Contributor

@torfinnberset Can you please check the contents of your .conan/data folder after the conan remove -f catch2 part?

@torfinnberset
Copy link
Contributor Author

Hmm, I ran conan remove -f catch2 again, then did ls ~/.conan/data to verify that is was not there. Indeed there was nothing, so I re-ran conan install Catch2/2.5.0@catchorg/stable and now it passed

conan install Catch2/2.5.0@catchorg/stable
Configuration:
[settings]
arch=x86_64
build_type=Release
compiler=apple-clang
compiler.libcxx=libc++
compiler.version=10.0
os=Macos
[options]
[build_requires]
[env]

Catch2/2.5.0@catchorg/stable: Not found in local cache, looking in remotes...
Catch2/2.5.0@catchorg/stable: Trying with 'bloomlife'...
Catch2/2.5.0@catchorg/stable: Trying with 'conan'...
Catch2/2.5.0@catchorg/stable: Trying with 'conan-community'...
Catch2/2.5.0@catchorg/stable: Trying with 'bincrafters'...
Catch2/2.5.0@catchorg/stable: Trying with 'catchorg'...
Downloading conanmanifest.txt
[==================================================] 1.4KB/1.4KB      
Downloading conanfile.py
[==================================================] 889B/889B        
Downloading conan_export.tgz
[==================================================] 891B/891B        
Decompressing conan_export.tgz: 100%|██████████| 891/891 [00:00<00:00, 402kB/s]
Catch2/2.5.0@catchorg/stable: Installing package
Requirements
    Catch2/2.5.0@catchorg/stable from 'catchorg' - Downloaded
Packages
    Catch2/2.5.0@catchorg/stable:5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 - Download

Catch2/2.5.0@catchorg/stable: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'catchorg' 
Downloading conanmanifest.txt
[==================================================] 1.0KB/1.0KB      
Downloading conaninfo.txt
[==================================================] 150B/150B        
Downloading conan_package.tgz
[==================================================] 110.0KB/110.0KB  
Decompressing conan_package.tgz: 100%|██████████| 107k/107k [00:00<00:00, 8.02MB/s]
Catch2/2.5.0@catchorg/stable: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9

Anyway, thanks @Minimonium and @horenmar for your help. Something is flaky though, could be a Conan cache issue or something else. I will close this issue for now

@torfinnberset
Copy link
Contributor Author

Well nevermind, just saw in my log that I initially typed conan remove -f catch2/ not conan remove -f catch2/*. Still, I don't think the issue should've happened in the first place, but I guess it's a Conan issue

@Minimonium
Copy link
Contributor

Minimonium commented Jan 18, 2019

@torfinnberset it could be macOS specific, I couldn't reproduce the error on Windows.

[Both are case insensitive afaik]

@torfinnberset
Copy link
Contributor Author

@Minimonium only Windows is case insensitive AFAIK; macOS and Linux systems are case sensitive.

@Minimonium
Copy link
Contributor

@torfinnberset then there is something fishy because of the error:

ERROR: Requested 'Catch2/2.5.0@catchorg/stable' but found case incompatible 'catch2'
Case insensitive filesystem can't manage this

@torfinnberset
Copy link
Contributor Author

@Minimonium found a similar issue reported in Conan: conan-io/conan#1557

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants