conan-center-index icon indicating copy to clipboard operation
conan-center-index copied to clipboard

zlib: Fix shared library on Windows MSVC

Open alessiosacco opened this issue 1 year ago • 5 comments

Summary

Changes to recipe: zlib/1.3.1

Motivation

When option.shared = True and compiler is MSVC, the CMakeLists.txt creates an archive called zlib.lib, but the dll is called zdll.dll.

This configuration is not standard and is not supported by cmakedeps_macro.cmake module when using find_package(ZLIB).

The source patch now creates zlib.lib and zlib.dll.

Details

Tested using Windows, MSVC v142 and v143, debug and release with option.shared both false and true, Debian Linux GCC 10.


alessiosacco avatar Aug 29 '24 07:08 alessiosacco

CLA assistant check
All committers have signed the CLA.

CLAassistant avatar Aug 29 '24 07:08 CLAassistant

Conan v1 pipeline :x:

Sorry, the build is only launched for Access Request users. You can request access writing in this issue.

Conan v2 pipeline :x:

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Sorry, the build is only launched for Access Request users. You can request access writing in this issue.

conan-center-bot avatar Aug 29 '24 07:08 conan-center-bot

Conan v1 pipeline :x:

Sorry, the build is only launched for Access Request users. You can request access writing in this issue.

Conan v2 pipeline :x:

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Sorry, the build is only launched for Access Request users. You can request access writing in this issue.

conan-center-bot avatar Aug 29 '24 07:08 conan-center-bot

The cmakedeps_macro.cmake generated by CMakeDeps, in the function conan_package_library_targets is not able to find the shared library because it expects the name of the implib and the runtime library to be the same, which is not what happens when zlib is compiled under windows using the old conanfile and patch. The function uses the CMake find_library function with the name argument _LIBRARY_NAME that is extracted from the implib filename in order to search for the runtime library. Since the runtime does not have the same name as the implib a STATUS message is shown during CMake configure: message(STATUS "Cannot locate shared library: ${_LIBRARY_NAME}") The problem is also reflected in how the target is created, because it will be an UNKNOWN IMPORTED library instead of a SHARED IMPORTED library. With the current self.cpp_info specified in package_info there is no way to specify that the runtime library has a different name from the implib, see docs.

alessiosacco avatar Aug 29 '24 12:08 alessiosacco

Therefore it's a conan issue (not being able to specify DLL name in package_info() to help CMakeDeps finding DLL, or telling conan whether some lib is shared or not. It's usually not a big issue, unless you want to rely on CMake to do something with these files). I don't think it's a good idea to change import lib name due to some conan client issue, it should be fixed in conan client.

SpaceIm avatar Aug 29 '24 13:08 SpaceIm

Hi @alessiosacco - thanks for providing more details.

I have opened this issue in the Conan repository: https://github.com/conan-io/conan/issues/16926 - as this is general and indeed a limitation. The "warning" being a warning is correct - CMake only needs the import library .lib - although the logic in CMakeDeps that sets the imported target type to UNKNOWN instead of SHARED as a result of this, may have other side effects (see https://github.com/conan-io/conan/issues/12654)

Are you experiencing any errors or issues other than the warning?

That said, I'm afraid we can't accept this PR as it would cause breakages across the board on Windows when using shared libraries. The Conan model takes into account that if the version hasn't changed and a library is depended on as a shared library, downstream dependees don't need to be rebuilt. If ABI or the shared library names change for the same version in a new recipe revision, existing binaries of dependees that rely on zlib shared would not be rebuilt BUT they would stop working at runtime as the new package does not provide the DLL name expected. A possible workaround would be to simply duplicate the DLLs in the new revision when making this sort of change (provide the old dll name and the new dll name). However we tend to be very conservative here: we should keep the exact names used upstream, unless there's as a very strong and compelling justification. Arguably the zlib recipe should have never renamed the DLL in the existing patch in the same place - would need to check the historical of the recipe to understand why this was done.

jcar87 avatar Sep 03 '24 09:09 jcar87

Hi @jcar87, I have run into this issue when trying to upgrade the version of zlib that is packaged inside the project I am building. The zlib library was previously prebuilt and copyied to the install folder of the shared library that I am distributing. The prebuilt zlib was installed using CMake install using install(IMPORTED_RUNTIME_ARTIFACTS). CMake requires the targets that are used for this call to declare the IMPORTED_LOCATION_<CONFIG> property and the targets need to be IMPORTED SHARED for this to work in the case of RUNTIME in Windows and LIBRARY in Linux. The libraries that are provided by the cmakedeps_macros module do not satisfy these requirements because the .dll is not declared in the property and the target is IMPORTED UNKNOWN. I will follow the issue you have opened.

alessiosacco avatar Sep 04 '24 18:09 alessiosacco

Hi @alessiosacco - thank you for providing additional information, this is very useful. Indeed this would be a limitation as a result of https://github.com/conan-io/conan/issues/16926.

For getting CMake to bring/copy the DLLs you depend on, you may have better luck with the following example, where we can try for CMake to recursively find the DLLs (and it should find them, as it relies on information external to the targets) https://docs.conan.io/2/reference/tools/cmake/cmaketoolchain.html#conan-runtime-lib-dirs

jcar87 avatar Sep 05 '24 08:09 jcar87

Conan v1 pipeline :x:

Failure in build 4 (d4cc0521d8a61672f334509a59a26c787b9e65ce):

  • zlib/1.3.1: Didn't run or was cancelled before finishing

  • zlib/1.3: Didn't run or was cancelled before finishing

  • zlib/1.2.11: Didn't run or was cancelled before finishing

  • zlib/1.2.13: Didn't run or was cancelled before finishing

  • zlib/1.2.12: CI failed to create some packages (All logs)

    Logs for packageID 4f1710918aa542fccb5a54d7bd712e4b0750b50d:
    [settings]
    arch=x86_64
    build_type=Debug
    compiler=Visual Studio
    compiler.runtime=MDd
    compiler.version=16
    os=Windows
    [options]
    zlib:shared=True
    
    [...]
    zlib/1.2.12: Build folder C:\J\workspace\prod-v1\bsr@3\96309\abbdd\.conan\data\zlib\1.2.12\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build
    zlib/1.2.12: Generated conaninfo.txt
    zlib/1.2.12: Generated conanbuildinfo.txt
    zlib/1.2.12: Generating the package
    zlib/1.2.12: Package folder C:\J\workspace\prod-v1\bsr@3\96309\abbdd\.conan\data\zlib\1.2.12\_\_\package\4f1710918aa542fccb5a54d7bd712e4b0750b50d
    zlib/1.2.12: Calling package()
    zlib/1.2.12: CMake command: cmake --install "C:\J\workspace\prod-v1\bsr@3\96309\abbdd\.conan\data\zlib\1.2.12\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build" --config Debug --prefix "C:/J/workspace/prod-v1/bsr@3/96309/abbdd/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d"
    
    ----Running------
    > cmake --install "C:\J\workspace\prod-v1\bsr@3\96309\abbdd\.conan\data\zlib\1.2.12\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build" --config Debug --prefix "C:/J/workspace/prod-v1/bsr@3/96309/abbdd/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d"
    -----------------
    -- Installing: C:/J/workspace/prod-v1/bsr@3/96309/abbdd/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/lib/zdll.lib
    -- Installing: C:/J/workspace/prod-v1/bsr@3/96309/abbdd/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/bin/zlib1.dll
    -- Installing: C:/J/workspace/prod-v1/bsr@3/96309/abbdd/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/include/zconf.h
    -- Installing: C:/J/workspace/prod-v1/bsr@3/96309/abbdd/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/include/zlib.h
    [HOOK - conan-center.py] post_package(): [PACKAGE LICENSE (KB-H012)] OK
    [HOOK - conan-center.py] post_package(): [DEFAULT PACKAGE LAYOUT (KB-H013)] OK
    [HOOK - conan-center.py] post_package(): [MATCHING CONFIGURATION (KB-H014)] OK
    [HOOK - conan-center.py] post_package(): [SHARED ARTIFACTS (KB-H015)] OK
    [HOOK - conan-center.py] post_package(): [STATIC ARTIFACTS (KB-H074)] OK
    [HOOK - conan-center.py] post_package(): [EITHER STATIC OR SHARED OF EACH LIB (KB-H076)] OK
    [HOOK - conan-center.py] post_package(): [PC-FILES (KB-H020)] OK
    [HOOK - conan-center.py] post_package(): [CMAKE-MODULES-CONFIG-FILES (KB-H016)] OK
    [HOOK - conan-center.py] post_package(): [PDB FILES NOT ALLOWED (KB-H017)] OK
    [HOOK - conan-center.py] post_package(): [LIBTOOL FILES PRESENCE (KB-H018)] OK
    [HOOK - conan-center.py] post_package(): [MS RUNTIME FILES (KB-H021)] OK
    [HOOK - conan-center.py] post_package(): [SHORT_PATHS USAGE (KB-H066)] OK
    **********************************************************************
    ** Visual Studio 2019 Developer Command Prompt v16.11.26
    ** Copyright (c) 2021 Microsoft Corporation
    **********************************************************************
    [vcvarsall.bat] Environment initialized for: 'x64'
    [HOOK - conan-center.py] post_package(): [MISSING SYSTEM LIBS (KB-H043)] OK
    [HOOK - conan-center.py] post_package(): [APPLE RELOCATABLE SHARED LIBS (KB-H077)] OK
    zlib/1.2.12 package(): Packaged 1 '.dll' file: zlib1.dll
    zlib/1.2.12 package(): Packaged 2 '.h' files: zconf.h, zlib.h
    zlib/1.2.12 package(): Packaged 1 '.lib' file: zdll.lib
    zlib/1.2.12 package(): Packaged 1 file: LICENSE
    zlib/1.2.12: Package '4f1710918aa542fccb5a54d7bd712e4b0750b50d' created
    zlib/1.2.12: Created package revision bb3e3d4a47977643145d3c3f01d473ae
    [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK
    [HOOK - conan-center.py] post_package_info(): [INCLUDE PATH DOES NOT EXIST (KB-H071)] OK
    WARN: **************************************************
    WARN: *** Conan 1 is legacy and on a deprecation path **
    WARN: *********** Please upgrade to Conan 2 ************
    WARN: **************************************************
    zlib/1.2.12: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    [HOOK - conan-center.py] post_package_info(): ERROR: [LIBRARY DOES NOT EXIST (KB-H054)] Component zlib::zlib library 'zlib' is listed in the recipe, but not found installed at self.cpp_info.libdirs. Make sure you compiled the library correctly. If so, then the library name should probably be fixed. Otherwise, then the component should be removed. (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H054-LIBRARY-DOES-NOT-EXIST) 
    ERROR: 
    	ConanException: [HOOK - conan-center.py] post_package_info(): Some checks failed running the hook, check the output
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline :x:

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Sorry, the build is only launched for Access Request users. You can request access writing in this issue.

conan-center-bot avatar Sep 16 '24 11:09 conan-center-bot

Conan v1 pipeline :x:

Failure in build 6 (d4cc0521d8a61672f334509a59a26c787b9e65ce):

  • zlib/1.3.1: Didn't run or was cancelled before finishing

  • zlib/1.3: Didn't run or was cancelled before finishing

  • zlib/1.2.12: CI failed to create some packages (All logs)

    Logs for packageID 4f1710918aa542fccb5a54d7bd712e4b0750b50d:
    [settings]
    arch=x86_64
    build_type=Debug
    compiler=Visual Studio
    compiler.runtime=MDd
    compiler.version=16
    os=Windows
    [options]
    zlib:shared=True
    
    [...]
    zlib/1.2.12: Build folder C:\J\workspace\prod-v1\bsr@2\99663\dcdbb\.conan\data\zlib\1.2.12\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build
    zlib/1.2.12: Generated conaninfo.txt
    zlib/1.2.12: Generated conanbuildinfo.txt
    zlib/1.2.12: Generating the package
    zlib/1.2.12: Package folder C:\J\workspace\prod-v1\bsr@2\99663\dcdbb\.conan\data\zlib\1.2.12\_\_\package\4f1710918aa542fccb5a54d7bd712e4b0750b50d
    zlib/1.2.12: Calling package()
    zlib/1.2.12: CMake command: cmake --install "C:\J\workspace\prod-v1\bsr@2\99663\dcdbb\.conan\data\zlib\1.2.12\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build" --config Debug --prefix "C:/J/workspace/prod-v1/bsr@2/99663/dcdbb/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d"
    
    ----Running------
    > cmake --install "C:\J\workspace\prod-v1\bsr@2\99663\dcdbb\.conan\data\zlib\1.2.12\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build" --config Debug --prefix "C:/J/workspace/prod-v1/bsr@2/99663/dcdbb/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d"
    -----------------
    -- Installing: C:/J/workspace/prod-v1/bsr@2/99663/dcdbb/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/lib/zdll.lib
    -- Installing: C:/J/workspace/prod-v1/bsr@2/99663/dcdbb/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/bin/zlib1.dll
    -- Installing: C:/J/workspace/prod-v1/bsr@2/99663/dcdbb/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/include/zconf.h
    -- Installing: C:/J/workspace/prod-v1/bsr@2/99663/dcdbb/.conan/data/zlib/1.2.12/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/include/zlib.h
    [HOOK - conan-center.py] post_package(): [PACKAGE LICENSE (KB-H012)] OK
    [HOOK - conan-center.py] post_package(): [DEFAULT PACKAGE LAYOUT (KB-H013)] OK
    [HOOK - conan-center.py] post_package(): [MATCHING CONFIGURATION (KB-H014)] OK
    [HOOK - conan-center.py] post_package(): [SHARED ARTIFACTS (KB-H015)] OK
    [HOOK - conan-center.py] post_package(): [STATIC ARTIFACTS (KB-H074)] OK
    [HOOK - conan-center.py] post_package(): [EITHER STATIC OR SHARED OF EACH LIB (KB-H076)] OK
    [HOOK - conan-center.py] post_package(): [PC-FILES (KB-H020)] OK
    [HOOK - conan-center.py] post_package(): [CMAKE-MODULES-CONFIG-FILES (KB-H016)] OK
    [HOOK - conan-center.py] post_package(): [PDB FILES NOT ALLOWED (KB-H017)] OK
    [HOOK - conan-center.py] post_package(): [LIBTOOL FILES PRESENCE (KB-H018)] OK
    [HOOK - conan-center.py] post_package(): [MS RUNTIME FILES (KB-H021)] OK
    [HOOK - conan-center.py] post_package(): [SHORT_PATHS USAGE (KB-H066)] OK
    **********************************************************************
    ** Visual Studio 2019 Developer Command Prompt v16.11.26
    ** Copyright (c) 2021 Microsoft Corporation
    **********************************************************************
    [vcvarsall.bat] Environment initialized for: 'x64'
    [HOOK - conan-center.py] post_package(): [MISSING SYSTEM LIBS (KB-H043)] OK
    [HOOK - conan-center.py] post_package(): [APPLE RELOCATABLE SHARED LIBS (KB-H077)] OK
    zlib/1.2.12 package(): Packaged 1 '.dll' file: zlib1.dll
    zlib/1.2.12 package(): Packaged 2 '.h' files: zconf.h, zlib.h
    zlib/1.2.12 package(): Packaged 1 '.lib' file: zdll.lib
    zlib/1.2.12 package(): Packaged 1 file: LICENSE
    zlib/1.2.12: Package '4f1710918aa542fccb5a54d7bd712e4b0750b50d' created
    zlib/1.2.12: Created package revision e53477f6ca8f2d9eec572d85129b8399
    [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK
    [HOOK - conan-center.py] post_package_info(): [INCLUDE PATH DOES NOT EXIST (KB-H071)] OK
    WARN: **************************************************
    WARN: *** Conan 1 is legacy and on a deprecation path **
    WARN: *********** Please upgrade to Conan 2 ************
    WARN: **************************************************
    zlib/1.2.12: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    [HOOK - conan-center.py] post_package_info(): ERROR: [LIBRARY DOES NOT EXIST (KB-H054)] Component zlib::zlib library 'zlib' is listed in the recipe, but not found installed at self.cpp_info.libdirs. Make sure you compiled the library correctly. If so, then the library name should probably be fixed. Otherwise, then the component should be removed. (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H054-LIBRARY-DOES-NOT-EXIST) 
    ERROR: 
    	ConanException: [HOOK - conan-center.py] post_package_info(): Some checks failed running the hook, check the output
    
  • zlib/1.2.11: Didn't run or was cancelled before finishing

  • zlib/1.2.13: Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline :x:

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Sorry, the build is only launched for Access Request users. You can request access writing in this issue.

conan-center-bot avatar Sep 23 '24 11:09 conan-center-bot

Conan v1 pipeline :x:

Failure in build 7 (9de4c27588de93363cb328d96b732d56091e02dc):

  • zlib/1.3.1: Didn't run or was cancelled before finishing

  • zlib/1.3: CI failed to create some packages (All logs)

    Logs for packageID 4f1710918aa542fccb5a54d7bd712e4b0750b50d:
    [settings]
    arch=x86_64
    build_type=Debug
    compiler=Visual Studio
    compiler.runtime=MDd
    compiler.version=16
    os=Windows
    [options]
    zlib:shared=True
    
    [...]
    zlib/1.3: CMake command: cmake --install "C:\J\workspace\prod-v1\bsr\99778\ecccf\.conan\data\zlib\1.3\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build" --config Debug --prefix "C:/J/workspace/prod-v1/bsr/99778/ecccf/.conan/data/zlib/1.3/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d"
    
    ----Running------
    > cmake --install "C:\J\workspace\prod-v1\bsr\99778\ecccf\.conan\data\zlib\1.3\_\_\build\4f1710918aa542fccb5a54d7bd712e4b0750b50d\build" --config Debug --prefix "C:/J/workspace/prod-v1/bsr/99778/ecccf/.conan/data/zlib/1.3/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d"
    -----------------
    -- Installing: C:/J/workspace/prod-v1/bsr/99778/ecccf/.conan/data/zlib/1.3/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/lib/zdll.lib
    -- Installing: C:/J/workspace/prod-v1/bsr/99778/ecccf/.conan/data/zlib/1.3/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/bin/zlib1.dll
    -- Installing: C:/J/workspace/prod-v1/bsr/99778/ecccf/.conan/data/zlib/1.3/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/include/zconf.h
    -- Installing: C:/J/workspace/prod-v1/bsr/99778/ecccf/.conan/data/zlib/1.3/_/_/package/4f1710918aa542fccb5a54d7bd712e4b0750b50d/include/zlib.h
    [HOOK - conan-center.py] post_package(): [PACKAGE LICENSE (KB-H012)] OK
    [HOOK - conan-center.py] post_package(): [DEFAULT PACKAGE LAYOUT (KB-H013)] OK
    [HOOK - conan-center.py] post_package(): [MATCHING CONFIGURATION (KB-H014)] OK
    [HOOK - conan-center.py] post_package(): [SHARED ARTIFACTS (KB-H015)] OK
    [HOOK - conan-center.py] post_package(): [STATIC ARTIFACTS (KB-H074)] OK
    [HOOK - conan-center.py] post_package(): [EITHER STATIC OR SHARED OF EACH LIB (KB-H076)] OK
    [HOOK - conan-center.py] post_package(): [PC-FILES (KB-H020)] OK
    [HOOK - conan-center.py] post_package(): [CMAKE-MODULES-CONFIG-FILES (KB-H016)] OK
    [HOOK - conan-center.py] post_package(): [PDB FILES NOT ALLOWED (KB-H017)] OK
    [HOOK - conan-center.py] post_package(): [LIBTOOL FILES PRESENCE (KB-H018)] OK
    [HOOK - conan-center.py] post_package(): [MS RUNTIME FILES (KB-H021)] OK
    [HOOK - conan-center.py] post_package(): [SHORT_PATHS USAGE (KB-H066)] OK
    **********************************************************************
    ** Visual Studio 2019 Developer Command Prompt v16.11.26
    ** Copyright (c) 2021 Microsoft Corporation
    **********************************************************************
    [vcvarsall.bat] Environment initialized for: 'x64'
    [HOOK - conan-center.py] post_package(): [MISSING SYSTEM LIBS (KB-H043)] OK
    [HOOK - conan-center.py] post_package(): [APPLE RELOCATABLE SHARED LIBS (KB-H077)] OK
    zlib/1.3 package(): Packaged 1 '.dll' file: zlib1.dll
    zlib/1.3 package(): Packaged 2 '.h' files: zconf.h, zlib.h
    zlib/1.3 package(): Packaged 1 '.lib' file: zdll.lib
    zlib/1.3 package(): Packaged 1 file: LICENSE
    zlib/1.3: Package '4f1710918aa542fccb5a54d7bd712e4b0750b50d' created
    zlib/1.3: Created package revision 32acc2c20f2ed21334aad213104ed3fb
    [HOOK - conan-center.py] post_package_info(): [CMAKE FILE NOT IN BUILD FOLDERS (KB-H019)] OK
    [HOOK - conan-center.py] post_package_info(): [INCLUDE PATH DOES NOT EXIST (KB-H071)] OK
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        CMAKE_POLICY_DEFAULT_CMP0091
    
    
    WARN: **************************************************
    WARN: *** Conan 1 is legacy and on a deprecation path **
    WARN: *********** Please upgrade to Conan 2 ************
    WARN: **************************************************
    zlib/1.3: WARN: Using the new toolchains and generators without specifying a build profile (e.g: -pr:b=default) is discouraged and might cause failures and unexpected behavior
    [HOOK - conan-center.py] post_package_info(): ERROR: [LIBRARY DOES NOT EXIST (KB-H054)] Component zlib::zlib library 'zlib' is listed in the recipe, but not found installed at self.cpp_info.libdirs. Make sure you compiled the library correctly. If so, then the library name should probably be fixed. Otherwise, then the component should be removed. (https://github.com/conan-io/conan-center-index/blob/master/docs/error_knowledge_base.md#KB-H054-LIBRARY-DOES-NOT-EXIST) 
    ERROR: 
    	ConanException: [HOOK - conan-center.py] post_package_info(): Some checks failed running the hook, check the output
    
  • zlib/1.2.13: Didn't run or was cancelled before finishing

  • zlib/1.2.12: Didn't run or was cancelled before finishing

  • zlib/1.2.11: Didn't run or was cancelled before finishing


Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.


Conan v2 pipeline :x:

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

The v2 pipeline failed. Please, review the errors and note this is required for pull requests to be merged. In case this recipe is still not ported to Conan 2.x, please, ping @conan-io/barbarians on the PR and we will help you.

Failure in build 3 (9de4c27588de93363cb328d96b732d56091e02dc):

  • zlib/1.3.1: Didn't run or was cancelled before finishing

  • zlib/1.3: Didn't run or was cancelled before finishing

  • zlib/1.2.13: Didn't run or was cancelled before finishing

  • zlib/1.2.12: Didn't run or was cancelled before finishing

  • zlib/1.2.11: CI failed to create some packages (All logs)

    Logs for packageID f7dcd1cec4586c154a242a765a1de011300db8e2:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=msvc
    compiler.cppstd=14
    compiler.runtime=dynamic
    compiler.runtime_type=Release
    compiler.version=193
    os=Windows
    [options]
    */*:shared=True
    
    [...]
    WARN: deprecated:     'cpp_info.names' used in: zlib/1.2.11
    
    ======== Testing the package ========
    Removing previously existing 'test_package' build folder: C:\J\workspace\prod-v2\bsr\cci-12e2ea26\recipes\zlib\all\test_package\build\msvc-193-x86_64-14-release
    zlib/1.2.11 (test package): Test package build: build\msvc-193-x86_64-14-release
    zlib/1.2.11 (test package): Test package build folder: C:\J\workspace\prod-v2\bsr\cci-12e2ea26\recipes\zlib\all\test_package\build\msvc-193-x86_64-14-release
    zlib/1.2.11 (test package): Writing generators to C:\J\workspace\prod-v2\bsr\cci-12e2ea26\recipes\zlib\all\test_package\build\msvc-193-x86_64-14-release\generators
    zlib/1.2.11 (test package): Generator 'CMakeToolchain' calling 'generate()'
    zlib/1.2.11 (test package): CMakeToolchain generated: conan_toolchain.cmake
    zlib/1.2.11 (test package): CMakeToolchain generated: C:\J\workspace\prod-v2\bsr\cci-12e2ea26\recipes\zlib\all\test_package\build\msvc-193-x86_64-14-release\generators\CMakePresets.json
    zlib/1.2.11 (test package): CMakeToolchain generated: C:\J\workspace\prod-v2\bsr\cci-12e2ea26\recipes\zlib\all\test_package\CMakeUserPresets.json
    zlib/1.2.11 (test package): Generator 'CMakeDeps' calling 'generate()'
    zlib/1.2.11 (test package): CMakeDeps necessary find_package() and targets for your CMakeLists.txt
        find_package(ZLIB)
        target_link_libraries(... ZLIB::ZLIB)
    zlib/1.2.11 (test package): Generator 'VirtualRunEnv' calling 'generate()'
    zlib/1.2.11 (test package): Generating aggregated env files
    zlib/1.2.11 (test package): Generated aggregated env files: ['conanrun.bat', 'conanbuild.bat']
    
    ======== Testing the package: Building ========
    zlib/1.2.11 (test package): Calling build()
    zlib/1.2.11 (test package): Running CMake.configure()
    zlib/1.2.11 (test package): RUN: cmake -G "Visual Studio 17 2022" -DCMAKE_TOOLCHAIN_FILE="generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="C:/J/workspace/prod-v2/bsr/cci-12e2ea26/recipes/zlib/all/test_package" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" "C:/J/workspace/prod-v2/bsr/cci-12e2ea26/recipes/zlib/all/test_package"
    -- Using Conan toolchain: C:/J/workspace/prod-v2/bsr/cci-12e2ea26/recipes/zlib/all/test_package/build/msvc-193-x86_64-14-release/generators/conan_toolchain.cmake
    -- Conan toolchain: CMAKE_GENERATOR_TOOLSET=v143
    -- Conan toolchain: Setting CMAKE_MSVC_RUNTIME_LIBRARY=$<$<CONFIG:Release>:MultiThreadedDLL>
    -- Conan toolchain: C++ Standard 14 with extensions OFF
    -- The C compiler identification is MSVC 19.36.32532.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: C:/Program Files/Microsoft Visual Studio/2022/Community/VC/Tools/MSVC/14.36.32532/bin/Hostx64/x64/cl.exe - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Conan: Target declared 'ZLIB::ZLIB'
    CMake Error at build/msvc-193-x86_64-14-release/generators/cmakedeps_macros.cmake:67 (message):
      Library 'zlib' not found in package.  If 'zlib' is a system library,
      declare it with 'cpp_info.system_libs' property
    Call Stack (most recent call first):
      build/msvc-193-x86_64-14-release/generators/ZLIB-Target-release.cmake:23 (conan_package_library_targets)
      build/msvc-193-x86_64-14-release/generators/ZLIBTargets.cmake:24 (include)
      build/msvc-193-x86_64-14-release/generators/ZLIBConfig.cmake:16 (include)
      CMakeLists.txt:4 (find_package)
    
    
    -- Configuring incomplete, errors occurred!
    See also "C:/J/workspace/prod-v2/bsr/cci-12e2ea26/recipes/zlib/all/test_package/build/msvc-193-x86_64-14-release/CMakeFiles/CMakeOutput.log".
    
    ERROR: zlib/1.2.11 (test package): Error in build() method, line 20
    	cmake.configure()
    	ConanException: Error 1 while executing
    

Note: To save resources, CI tries to finish as soon as an error is found. For this reason you might find that not all the references have been launched or not all the configurations for a given reference. Also, take into account that we cannot guarantee the order of execution as it depends on CI workload and workers availability.

conan-center-bot avatar Sep 23 '24 13:09 conan-center-bot

Closing since we cannot rename a shared library without causing widespread breakages.

In the future, the newer version of CMakeDeps (https://github.com/conan-io/conan/pull/17296) can handle this - by implementing the location and link_location as separate attributes in package_info()

We can assist with IMPORTED_RUNTIME_ARTIFACTS or equivalent if necessary

jcar87 avatar Jan 06 '25 17:01 jcar87