Skip to content

Add LZMA dependency for worker tasks when using libc++#7724

Open
eddyashton wants to merge 2 commits intomicrosoft:mainfrom
eddyashton:libcxx_backtrace_lzma
Open

Add LZMA dependency for worker tasks when using libc++#7724
eddyashton wants to merge 2 commits intomicrosoft:mainfrom
eddyashton:libcxx_backtrace_lzma

Conversation

@eddyashton
Copy link
Member

No description provided.

@eddyashton eddyashton added the run-long-test Run Long Test job label Mar 6, 2026
@eddyashton eddyashton requested a review from a team as a code owner March 6, 2026 21:13
Copilot AI review requested due to automatic review settings March 6, 2026 21:13
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds an explicit link dependency on liblzma for ccf_tasks when building with USE_LIBCXX, to satisfy an observed transitive dependency chain (via backtrace()/libunwind on some platforms).

Changes:

  • Add a USE_LIBCXX-gated target_link_libraries(ccf_tasks ... lzma) entry.
  • Document the rationale (libunwind built with LZMA support causing a transitive dependency).

# worker.cpp uses backtrace() which, under libc++, resolves through
# libunwind. On systems where libunwind is built with LZMA support
# (e.g. Azure Linux), this creates a transitive dependency on liblzma.
target_link_libraries(ccf_tasks PRIVATE lzma)
Copy link

Copilot AI Mar 6, 2026

Choose a reason for hiding this comment

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

ccf_tasks is a static library. Adding lzma as a PRIVATE link dependency is unlikely to propagate to final executables that link ccf_tasks indirectly (via ccf), which can leave the original undefined-reference problem unfixed. Please make this a usage requirement (eg, add lzma to the LINK_LIBS list for add_ccf_static_library(ccf_tasks ...), or switch to target_link_libraries(ccf_tasks PUBLIC lzma) under USE_LIBCXX).

Suggested change
target_link_libraries(ccf_tasks PRIVATE lzma)
target_link_libraries(ccf_tasks PUBLIC lzma)

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-long-test Run Long Test job

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants