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

opentelemetry-cpp: enable cross-compilation of shared libraries and dependencies #25028

Open
wants to merge 7 commits into
base: master
Choose a base branch
from

Conversation

wadehunk
Copy link
Contributor

@wadehunk wadehunk commented Aug 23, 2024

Summary

Changes to recipe: opentelemetry-cpp/1.14.2

  • Separate build and run environment scopes to prevent combining environments on cross-compilation
  • Expose link options to libraries to ensure shared library linkage support for cross-compilation

Motivation

Cross-compiling this package with full shared library support for dependencies results in build failure.
Closes #25054

Details

Made sure the virtual build and run scopes are separate so that the appropriate libraries and executables are found in the cross-compilation case instead of getting confused and selecting the wrong ones. Also tweak the sources to make cmake link libraries public for shared library targets so that consumers and can link with the libraries appropriately.


@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.

Copy link
Contributor

@jcar87 jcar87 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your contribution!

In order to move forward we need to understand what it is trying to fix! Can you provide details of a scenario where it fails to build without this proposed patch? Thanks!

@wadehunk wadehunk changed the title opentelemetry-cpp: use default virtual build and run scopes opentelemetry-cpp: enable cross-compilation of shared libraries and dependencies Aug 26, 2024
@conan-center-bot

This comment has been minimized.

@wadehunk wadehunk marked this pull request as ready for review August 27, 2024 13:48
@conan-center-bot

This comment has been minimized.

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 7 (fdb933be35ed6b06e37c3669fc4454791f74578c):

  • opentelemetry-cpp/1.14.2:
    All packages built successfully! (All logs)

  • opentelemetry-cpp/1.12.0:
    All packages built successfully! (All logs)

  • opentelemetry-cpp/1.8.3:
    All packages built successfully! (All logs)

  • opentelemetry-cpp/1.9.1:
    All packages built successfully! (All logs)


Conan v2 pipeline ✔️

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

All green in build 7 (fdb933be35ed6b06e37c3669fc4454791f74578c):

  • opentelemetry-cpp/1.14.2:
    All packages built successfully! (All logs)

  • opentelemetry-cpp/1.12.0:
    All packages built successfully! (All logs)

  • opentelemetry-cpp/1.8.3:
    All packages built successfully! (All logs)

  • opentelemetry-cpp/1.9.1:
    All packages built successfully! (All logs)

@wadehunk
Copy link
Contributor Author

Thanks for your contribution!

In order to move forward we need to understand what it is trying to fix! Can you provide details of a scenario where it fails to build without this proposed patch? Thanks!

@jcar87 Details added, ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[package] opentelemetry-cpp/1.14.2: Build failure when cross-compiling armv8 shared libraries
3 participants