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

libjxl: add versoin 0.9.1 and support conan v2 #13898

Closed
wants to merge 39 commits into from

Conversation

toge
Copy link
Contributor

@toge toge commented Oct 31, 2022

Specify library name and version: libjxl/*


  • I've read the guidelines for contributing.
  • I've followed the PEP8 style guides for Python code in the recipes.
  • I've used the latest Conan client version.
  • I've tried at least one configuration locally with the conan-center hook activated.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@toge toge closed this Nov 7, 2022
@toge toge reopened this Nov 7, 2022
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@toge toge changed the title libjxl: add versoin 0.8.2 and support conan v2 libjxl: add versoin 0.9.0 and support conan v2 Jan 8, 2024
@conan-center-bot

This comment has been minimized.

@toge toge changed the title libjxl: add versoin 0.9.0 and support conan v2 libjxl: add versoin 0.9.1 and support conan v2 Jan 12, 2024
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ❌

Failure in build 16 (518dcffdb4307eb3332fcbc5803571be8ca999ed):

  • libjxl/0.5.0:
    CI failed to create some packages (All logs)

    Logs for packageID 9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=Visual Studio
    compiler.runtime=MD
    compiler.version=16
    os=Windows
    [options]
    libjxl:shared=False
    
    [...]
    -- Conan toolchain: Setting BUILD_SHARED_LIBS = OFF
    -- The C compiler identification is MSVC 19.29.30148.0
    -- The CXX compiler identification is MSVC 19.29.30148.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: C:/Program Files (x86)/Microsoft Visual Studio/2019/Community/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Performing Test JPEGXL_EMSCRIPTEN
    -- Performing Test JPEGXL_EMSCRIPTEN - Failed
    -- CMAKE_SYSTEM_PROCESSOR is AMD64
    -- Performing Test CXX_FUZZERS_SUPPORTED
    -- Performing Test CXX_FUZZERS_SUPPORTED - Failed
    -- Performing Test CXX_CONSTRUCTOR_ALIASES_SUPPORTED
    -- Performing Test CXX_CONSTRUCTOR_ALIASES_SUPPORTED - Failed
    -- Could NOT find PkgConfig (missing: PKG_CONFIG_EXECUTABLE) 
    -- Compiled IDs C:MSVC, C++:MSVC
    -- Looking for pthread.h
    -- Looking for pthread.h - not found
    -- Found Threads: TRUE  
    -- Conan: Component target declared 'highway::hwy'
    -- Conan: Component target declared 'highway::hwy_contrib'
    -- Conan: Target declared 'highway::highway'
    -- Configuring incomplete, errors occurred!
    See also "C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/build/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3/build/CMakeFiles/CMakeOutput.log".
    See also "C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/build/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3/build/CMakeFiles/CMakeError.log".
    libjxl/0.5.0: 
    CMake Error at C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/build/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3/build/generators/cmakedeps_macros.cmake:39 (message):
      Library 'hwy_contrib' not found in package.  If 'hwy_contrib' is a system
      library, declare it with 'cpp_info.system_libs' property
    Call Stack (most recent call first):
      C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/build/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3/build/generators/highway-Target-release.cmake:24 (conan_package_library_targets)
      C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/build/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3/build/generators/highwayTargets.cmake:26 (include)
      C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/build/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3/build/generators/highway-config.cmake:16 (include)
      lib/jxl.cmake:302 (find_package)
      lib/CMakeLists.txt:119 (include)
    
    
    libjxl/0.5.0: 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
    libjxl/0.5.0: 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
    libjxl/0.5.0: ERROR: Package '9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3' build failed
    libjxl/0.5.0: WARN: Build folder C:\J2\w\prod-v1\bsr\94304\ebdef\.conan\data\libjxl\0.5.0\_\_\build\9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3\build
    ERROR: libjxl/0.5.0: Error in build() method, line 100
    	cmake.configure()
    	ConanException: Error 1 while executing cmake -G "Visual Studio 16 2019" -DCMAKE_TOOLCHAIN_FILE="C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/build/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3/build/generators/conan_toolchain.cmake" -DCMAKE_INSTALL_PREFIX="C:/J2/w/prod-v1/bsr/94304/ebdef/.conan/data/libjxl/0.5.0/_/_/package/9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3" -DCMAKE_POLICY_DEFAULT_CMP0091="NEW" "C:\J2\w\prod-v1\bsr\94304\ebdef\.conan\data\libjxl\0.5.0\_\_\build\9c5bda408a6a5b7e17227f0ce38f3a4be60ba7c3\src"
    
  • libjxl/0.9.1:
    Didn't run or was cancelled before finishing

  • libjxl/0.6.1:
    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 ❌

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.

See details:

Failure in build 16 (518dcffdb4307eb3332fcbc5803571be8ca999ed):

  • libjxl/0.9.1:
    CI failed to create some packages (All logs)

    Logs for packageID eac9d02cf3bffb083b8356fe5a5e59cbef0529f2:
    [settings]
    arch=armv8
    build_type=Release
    compiler=apple-clang
    compiler.cppstd=17
    compiler.libcxx=libc++
    compiler.version=13
    os=Macos
    [options]
    */*:shared=True
    
    [...]
    [ 98%] Linking CXX shared library libjxl_dec.dylib
    [100%] Linking CXX static library libjxl-internal.a
    [100%] Linking CXX shared library libjxl.dylib
    ld: warning: cannot export hidden symbol _JxlFastLosslessOutputSize from CMakeFiles/jxl_enc-obj.dir/jxl/enc_fast_lossless.cc.o
    ld: warning: cannot export hidden symbol _JxlFastLosslessMaxRequiredOutput from CMakeFiles/jxl_enc-obj.dir/jxl/enc_fast_lossless.cc.o
    ld: warning: cannot export hidden symbol _JxlFastLosslessPrepareHeader from CMakeFiles/jxl_enc-obj.dir/jxl/enc_fast_lossless.cc.o
    ld: warning: cannot export hidden symbol _JxlFastLosslessWriteOutput from CMakeFiles/jxl_enc-obj.dir/jxl/enc_fast_lossless.cc.o
    ld: warning: cannot export hidden symbol _JxlFastLosslessFreeFrameState from CMakeFiles/jxl_enc-obj.dir/jxl/enc_fast_lossless.cc.o
    ld: warning: cannot export hidden symbol _JxlFastLosslessPrepareFrame from CMakeFiles/jxl_enc-obj.dir/jxl/enc_fast_lossless.cc.o
    Undefined symbols for architecture arm64:
      "_BrotliDecoderCreateInstance", referenced from:
          jxl::JxlBoxContentDecoder::Process(unsigned char const*, unsigned long, unsigned long, unsigned char**, unsigned long*) in box_content_decoder.cc.o
          jxl::jpeg::DecodeJPEGData(jxl::Span<unsigned char const>, jxl::jpeg::JPEGData*) in dec_jpeg_data.cc.o
      "_BrotliDecoderDecompressStream", referenced from:
          jxl::JxlBoxContentDecoder::Process(unsigned char const*, unsigned long, unsigned long, unsigned char**, unsigned long*) in box_content_decoder.cc.o
          jxl::jpeg::DecodeJPEGData(jxl::Span<unsigned char const>, jxl::jpeg::JPEGData*) in dec_jpeg_data.cc.o
      "_BrotliDecoderDestroyInstance", referenced from:
          jxl::JxlBoxContentDecoder::~JxlBoxContentDecoder() in box_content_decoder.cc.o
          jxl::JxlBoxContentDecoder::~JxlBoxContentDecoder() in box_content_decoder.cc.o
          jxl::JxlBoxContentDecoder::StartBox(bool, bool, unsigned long) in box_content_decoder.cc.o
          jxl::jpeg::DecodeJPEGData(jxl::Span<unsigned char const>, jxl::jpeg::JPEGData*) in dec_jpeg_data.cc.o
      "_BrotliDecoderErrorString", referenced from:
          jxl::jpeg::DecodeJPEGData(jxl::Span<unsigned char const>, jxl::jpeg::JPEGData*) in dec_jpeg_data.cc.o
      "_BrotliDecoderGetErrorCode", referenced from:
          jxl::jpeg::DecodeJPEGData(jxl::Span<unsigned char const>, jxl::jpeg::JPEGData*) in dec_jpeg_data.cc.o
      "_BrotliDecoderIsFinished", referenced from:
          jxl::jpeg::DecodeJPEGData(jxl::Span<unsigned char const>, jxl::jpeg::JPEGData*) in dec_jpeg_data.cc.o
    ld: symbol(s) not found for architecture arm64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make[2]: *** [lib/libjxl_dec.0.9.1.dylib] Error 1
    make[1]: *** [lib/CMakeFiles/jxl_dec.dir/all] Error 2
    make[1]: *** Waiting for unfinished jobs....
    [100%] Built target jxl_dec-internal
    [100%] Built target jxl-internal
    [100%] Built target jxl
    make: *** [all] Error 2
    
    libjxl/0.9.1: ERROR: 
    Package 'eac9d02cf3bffb083b8356fe5a5e59cbef0529f2' build failed
    libjxl/0.9.1: WARN: Build folder /Users/jenkins/w/prod-v2/bsr@2/78810/edecd/p/b/libjx228d9dbd48f3a/b/build/Release
    *********************************************************
    Recipe 'libjxl/0.9.1' cannot build its binary
    It is possible that this recipe is not Conan 2.0 ready
    If the recipe comes from ConanCenter, report it at https://github.com/conan-io/conan-center-index/issues
    If it is your recipe, check if it is updated to 2.0
    *********************************************************
    
    ERROR: libjxl/0.9.1: Error in build() method, line 101
    	cmake.build()
    	ConanException: Error 2 while executing
    
  • libjxl/0.6.1:
    Didn't run or was cancelled before finishing

  • libjxl/0.5.0:
    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.

@valgur
Copy link
Contributor

valgur commented Jan 21, 2024

@toge Feel free to continue working on this PR, but just FYI, the #18812 PR for libjxl has working support for v0.9.1. It's currently only blocked by a required fix (#22380) for the added gperftools dependency, which the project tries to use if possible.
I have also added support for all options that the project exposes, plus the patching logic is a bit simpler (imo) and portable across versions.

@toge
Copy link
Contributor Author

toge commented Jan 21, 2024

@valgur
Sorry I missed your PR.
My purpose in wrestling with this PR was the fear that no one would maintain libjxl.
Since you will be maintaining it, I can close this PR with peace of mind.
Thanks a lot!

@toge toge closed this Jan 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants