柯南找不到指定设置、选项和依赖项的特定包
Conan cannot find a certain package for the specified settings, options and dependencies
我正在使用 Jetbrains CLion 2019.3、MinGW 8.1 和 Conan C/C 开发一个小型 C 可执行项目]++ 包管理器 1.21.1。我正在更新我对 C 的知识,并想了解像柯南这样的新工具。我的主要开发环境是Windows,但是这个项目是为了跨平台;我也希望能够在 Linux/Unix 上构建和 运行 应用程序。
由于我的应用程序需要使用 HMACSHA1
计算签名,我想使用 OpenSSL 库,因此我将 OpenSSL/1.1.1a@conan/stable
包添加到 [=15] 的 requires
部分=] 文件,我还为 MinGW
创建了一个 Conan 配置文件,其中包含以下选项:
toolchain=$MINGW64_PATH
target_host=x86_64-w64-mingw32
cc_compiler=gcc
cxx_compiler=g++
[env]
CONAN_CMAKE_FIND_ROOT_PATH=$toolchain
CHOST=$target_host
AR=$target_host-ar
AS=$target_host-as
RANLIB=$target_host-ranlib
CC=$target_host-$cc_compiler
CXX=$target_host-$cxx_compiler
STRIP=$target_host-strip
RC=$target_host-windres
[settings]
os_build=Windows
arch_build=x86_64
# We are cross-building to Windows
os=Windows
arch=x86_64
compiler=gcc
# Adjust to the gcc version of your MinGW package
compiler.version=8.1
compiler.libcxx=libstdc++11
build_type=Release
MINGW64_PATH
指向我的MinGW安装文件夹。
当运行ning conan install
时它抱怨缺少一个不存在的包(显然是OpenSSL的依赖包):
zlib/1.2.11@conan/stable: WARN: Can't find a 'zlib/1.2.11@conan/stable' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.version=8.1, os=Windows
- Options: minizip=False, shared=False
- Dependencies:
- Package ID: eb34f13b437ddfd63abb1f884c4b8886c48b74cd
ERROR: Missing prebuilt package for 'zlib/1.2.11@conan/stable'
Try to build it from sources with "--build zlib"
Or read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package"
由于我是使用柯南的菜鸟,我不知道如何解决这个问题。需要做什么来解决这个问题,我也可以自己解决这个问题,还是需要软件包作者的帮助?
我在 https://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package 找到了 Missing prebuilt package
错误的描述,但没有多大帮助。
so I added the OpenSSL/1.1.1a@conan/stable package to the requires
那个包已经过时了,你可以在Conan Community repository. You should try openssl/1.1.1a@
instead, which is maintained by the new Conan Center Index上查看。
conan install openssl/1.1.1d@
命名空间在哪里?它已被删除,请查看 more information about recipes.
Since I am a noob using Conan, I have no clue how I can fix this problem. What needs to be done to fix this issue, and also can I fix this on my own, or do I need help from the package author?
按照FAQ的建议,自己构建,运行错误信息提示的命令:
conan install openssl/1.1.1a@ --build zlib
但我敢肯定这还不够,您还需要构建 OpenSSL。因此,在您的情况下最好的方法是:
conan install openssl/1.1.1a@ --build missing
现在,柯南将从源构建任何未在服务器端预先构建的内容。
总而言之,这不是错误,就像什么东西坏了一样。
当您要求 OpenSSL 1.1.1a 时,Conan 在 Conan Center 上找到了说明如何构建 OpenSSL 的配方,但是它没有找到您的预构建包,按照您的设置和选项。
嗯,柯南中心索引中没有使用MingW,因为没有足够的需求,所有supported platforms and configurations列在Wiki中。但是这个特定的配方应该支持 MingW,因为当它是柯南社区的一部分时,MingW 出现在构建的包列表中。
我想说,你可以用 1.1.1d 代替,它比 1.1.1a 更新更安全。
我正在使用 Jetbrains CLion 2019.3、MinGW 8.1 和 Conan C/C 开发一个小型 C 可执行项目]++ 包管理器 1.21.1。我正在更新我对 C 的知识,并想了解像柯南这样的新工具。我的主要开发环境是Windows,但是这个项目是为了跨平台;我也希望能够在 Linux/Unix 上构建和 运行 应用程序。
由于我的应用程序需要使用 HMACSHA1
计算签名,我想使用 OpenSSL 库,因此我将 OpenSSL/1.1.1a@conan/stable
包添加到 [=15] 的 requires
部分=] 文件,我还为 MinGW
创建了一个 Conan 配置文件,其中包含以下选项:
toolchain=$MINGW64_PATH
target_host=x86_64-w64-mingw32
cc_compiler=gcc
cxx_compiler=g++
[env]
CONAN_CMAKE_FIND_ROOT_PATH=$toolchain
CHOST=$target_host
AR=$target_host-ar
AS=$target_host-as
RANLIB=$target_host-ranlib
CC=$target_host-$cc_compiler
CXX=$target_host-$cxx_compiler
STRIP=$target_host-strip
RC=$target_host-windres
[settings]
os_build=Windows
arch_build=x86_64
# We are cross-building to Windows
os=Windows
arch=x86_64
compiler=gcc
# Adjust to the gcc version of your MinGW package
compiler.version=8.1
compiler.libcxx=libstdc++11
build_type=Release
MINGW64_PATH
指向我的MinGW安装文件夹。
当运行ning conan install
时它抱怨缺少一个不存在的包(显然是OpenSSL的依赖包):
zlib/1.2.11@conan/stable: WARN: Can't find a 'zlib/1.2.11@conan/stable' package for the specified settings, options and dependencies:
- Settings: arch=x86_64, build_type=Release, compiler=gcc, compiler.version=8.1, os=Windows
- Options: minizip=False, shared=False
- Dependencies:
- Package ID: eb34f13b437ddfd63abb1f884c4b8886c48b74cd
ERROR: Missing prebuilt package for 'zlib/1.2.11@conan/stable'
Try to build it from sources with "--build zlib"
Or read "http://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package"
由于我是使用柯南的菜鸟,我不知道如何解决这个问题。需要做什么来解决这个问题,我也可以自己解决这个问题,还是需要软件包作者的帮助?
我在 https://docs.conan.io/en/latest/faq/troubleshooting.html#error-missing-prebuilt-package 找到了 Missing prebuilt package
错误的描述,但没有多大帮助。
so I added the OpenSSL/1.1.1a@conan/stable package to the requires
那个包已经过时了,你可以在Conan Community repository. You should try openssl/1.1.1a@
instead, which is maintained by the new Conan Center Index上查看。
conan install openssl/1.1.1d@
命名空间在哪里?它已被删除,请查看 more information about recipes.
Since I am a noob using Conan, I have no clue how I can fix this problem. What needs to be done to fix this issue, and also can I fix this on my own, or do I need help from the package author?
按照FAQ的建议,自己构建,运行错误信息提示的命令:
conan install openssl/1.1.1a@ --build zlib
但我敢肯定这还不够,您还需要构建 OpenSSL。因此,在您的情况下最好的方法是:
conan install openssl/1.1.1a@ --build missing
现在,柯南将从源构建任何未在服务器端预先构建的内容。
总而言之,这不是错误,就像什么东西坏了一样。
当您要求 OpenSSL 1.1.1a 时,Conan 在 Conan Center 上找到了说明如何构建 OpenSSL 的配方,但是它没有找到您的预构建包,按照您的设置和选项。
嗯,柯南中心索引中没有使用MingW,因为没有足够的需求,所有supported platforms and configurations列在Wiki中。但是这个特定的配方应该支持 MingW,因为当它是柯南社区的一部分时,MingW 出现在构建的包列表中。
我想说,你可以用 1.1.1d 代替,它比 1.1.1a 更新更安全。