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

OpenColorIO: Fix validation & package_info #24395

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

irieger
Copy link
Contributor

@irieger irieger commented Jun 19, 2024

Summary

Changes to recipe: OpenColorIO/all

Motivation

Ensure more configurations options are properly build. The validation basically prevents all shared builds right now.

Details

  • Remove the validation preventing shared building: I synced with the maintainer a bit in the projects Slack channel and he definitely confirmed, that there is no intention from the project side that things should only work with static linking
  • Add required libraries to package_info: Not sure if that is required, but most projects seem to list all dependencies

* Remove the validation preventing shared building
* Add required libraries to package_info
@irieger
Copy link
Contributor Author

irieger commented Jun 19, 2024

Taking out the relevant parts of #23112 without the build hacks done there by changing linking to public.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 1 (d3dbad8c57a10b7c5506c4a1e012db073e54c525):

  • opencolorio/2.2.1:
    All packages built successfully! (All logs)

  • opencolorio/2.1.0:
    All packages built successfully! (All logs)

  • opencolorio/1.1.1:
    All packages built successfully! (All logs)

  • opencolorio/2.3.0:
    All packages built successfully! (All logs)

  • opencolorio/2.3.1:
    All packages built successfully! (All logs)

  • opencolorio/2.3.2:
    All packages built successfully! (All logs)


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.

Failure in build 1 (d3dbad8c57a10b7c5506c4a1e012db073e54c525):

  • opencolorio/2.1.0:
    Didn't run or was cancelled before finishing

  • opencolorio/2.3.2:
    Didn't run or was cancelled before finishing

  • opencolorio/2.3.1:
    Didn't run or was cancelled before finishing

  • opencolorio/2.3.0:
    Didn't run or was cancelled before finishing

  • opencolorio/1.1.1:
    Didn't run or was cancelled before finishing

  • opencolorio/2.2.1:
    CI failed to create some packages (All logs)

    Logs for packageID cba3fb13193ed3809e294e742b6e4d541b4313ac:
    [settings]
    arch=x86_64
    build_type=Release
    compiler=gcc
    compiler.cppstd=17
    compiler.libcxx=libstdc++11
    compiler.version=11
    os=Linux
    [options]
    */*:shared=True
    
    [...]
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `EVP_sha256@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA256_Update@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA384_Update@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA256_Final@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `libiconv'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA512_Update@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA1_Update@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `ENGINE_register_all_complete@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `EVP_sha1@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `RAND_bytes@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `AES_set_encrypt_key@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA512_Init@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA384_Final@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `HMAC_Update@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA224_Update@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `libiconv_close'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA224_Init@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA512_Final@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA224_Final@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA256_Init@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA1_Final@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `ENGINE_load_builtin_engines@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA384_Init@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `libiconv_open'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `AES_encrypt@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `AES_set_decrypt_key@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `SHA1_Init@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `HMAC_CTX_free@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `ZSTD_compressStream2'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `HMAC_Final@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `ERR_get_error@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `AES_decrypt@OPENSSL_3.0.0'
    /opt/conan/binutils/bin/ld: /home/conan/workspace/prod-v2/bsr/53417/edafe/p/miniz030c74c4c46ea/p/lib/libminizip-ng.so.3: undefined reference to `OPENSSL_init_crypto@OPENSSL_3.0.0'
    collect2: error: ld returned 1 exit status
    src/apps/ociocheck/CMakeFiles/ociocheck.dir/build.make:102: recipe for target 'src/apps/ociocheck/ociocheck' failed
    make[2]: *** [src/apps/ociocheck/ociocheck] Error 1
    make[2]: Leaving directory '/home/conan/workspace/prod-v2/bsr/53417/edafe/p/b/openc512dcc942c7bc/b/build/Release'
    CMakeFiles/Makefile2:1313: recipe for target 'src/apps/ociocheck/CMakeFiles/ociocheck.dir/all' failed
    make[1]: *** [src/apps/ociocheck/CMakeFiles/ociocheck.dir/all] Error 2
    make[1]: Leaving directory '/home/conan/workspace/prod-v2/bsr/53417/edafe/p/b/openc512dcc942c7bc/b/build/Release'
    Makefile:148: recipe for target 'all' failed
    make: *** [all] Error 2
    
    
    opencolorio/2.2.1: ERROR: 
    Package 'cba3fb13193ed3809e294e742b6e4d541b4313ac' build failed
    opencolorio/2.2.1: WARN: Build folder /home/conan/workspace/prod-v2/bsr/53417/edafe/p/b/openc512dcc942c7bc/b/build/Release
    ERROR: opencolorio/2.2.1: Error in build() method, line 156
    	cm.build()
    	ConanException: Error 2 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.

@AbrilRBS
Copy link
Member

Let me know if you need help fixing the gcc compilation issue/ping me once you figure it out, thanks! :)

@irieger
Copy link
Contributor Author

irieger commented Jun 20, 2024

Let me know if you need help fixing the gcc compilation issue/ping me once you figure it out, thanks! :)

Hey @RubenRBS , thanks for offering help. Just wanted to have a more clean MR as documentation compared to the old one, but the underlying problem is discussed in #23421 and still is true. Looks like it works with gold, I tried mold and kept it for now in my profile and it works well so far. I have no clue what the proper fix for this might be. It just looks like the default linker is requireing to know where to find each indirectly needed so while mold and gold are fine with linking just the direct dependencies. (Populating the LD_LIBRARY_PATH before build makes default linking work too.)

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.

3 participants