我有一个使用箭头和镶木地板的项目。我下载并构建了所需的库,然后成功构建了我的库。现在我想将其迁移为使用 conan,以简化构建过程。
我面临的问题是,大多数(如果不是全部)arrow 的预构建二进制文件都不包含 parquet,至少对于 Windows 而言是这样。
这可能意味着柯南会下载配方并构建它。但是,一旦我将 parquet 添加到 conanfile.txt 中,就会出现错误
这是我的 conanfile.txt
[requires]
arrow/2.0.0
rapidjson/cci.20200410
catch2/2.13.6
[generators]
cmake
[options]
arrow:shared=False
arrow:parquet=True
Run Code Online (Sandbox Code Playgroud)
这些是我使用 conan install 时遇到的错误
>conan install ..
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=Visual Studio
compiler.runtime=MD
compiler.version=14
os=Windows
os_build=Windows
[options]
[build_requires]
[env]
WARN: thrift/0.13.0: requirement boost/1.76.0 overridden by arrow/2.0.0 to boost/1.74.0
WARN: libevent/2.1.12: requirement openssl/1.1.1j overridden by thrift/0.13.0 to openssl/1.1.1k
ERROR: Permission denied for user: 'None'. [Remote: bincrafters:]
Run Code Online (Sandbox Code Playgroud)
从错误中,我假设配方存在一些版本冲突并且无法继续,并且我需要执行类似使用 override 的操作,但我不知道如何有效地执行此操作。
其他答案,包括一个非常相似的问题中的答案中的一个,假设将 conan 更新到最新版本可以解决此问题,但我已经更新到版本 1.38,但无济于事。
有什么提示吗?
编辑1:
我发现的第一件事是我的remotes.json已经过时,指向bincrafters。这可能确实是破坏我构建的原因。稍后我会发布我发现的内容
我发现的第一件事是我的remotes.json已经过时,指向bincrafters。这可能确实是破坏我构建的原因。稍后我会发布我发现的内容
是的你是对的。此信息和操作已在此处共享: https: //bincrafters.github.io/2020/04/19/infrastruct-changes-and-required-actions/
从错误中,我假设配方存在一些版本冲突并且无法继续,并且我需要执行诸如使用覆盖之类的操作,但我不知道如何有效地执行此操作。
由于所有菜谱都是手动更新的,所以版本冲突的情况时有发生。此处记录了您的问题的正确解决方法: https: //docs.conan.io/en/latest/faq/troubleshooting.html#error-inknown-requirements-obtained-in- Different-evaluations-of-requirements
除此之外,您可以在此处提出请求版本更新的问题: https: //github.com/conan-io/conan-center-index/issues
| 归档时间: |
|
| 查看次数: |
7398 次 |
| 最近记录: |