Skip to content

Conversation

@WillAyd
Copy link
Contributor

@WillAyd WillAyd commented Jun 25, 2025

What changes were proposed in this pull request?

This explicitly adds the threads dependency to the orc library when built in the Meson configuration

Why are the changes needed?

In the current CI, no failure is reported because the threads dependency is transitively provided by the protobuf dependency, when protobuf is included from source. However, some older protobuf libraries do not correctly specify in their pkg-config files that threads is a transitive dependency, so if built on a system where an older protobuf version exists orc will fail to build. This is exactly the case in the Apache Arrow CI, which you can see https://github.com/apache/arrow/actions/runs/15878114506/job/44770826425?pr=46906#step:6:1669

How was this patch tested?

Compiled and tested locally

Was this patch authored or co-authored using generative AI tooling?

No

@github-actions github-actions bot added the CPP label Jun 25, 2025
incdir = include_directories('../include')
orc_format_proto_dep = dependency('orc_format_proto')
# zstd requires us to add the threads
threads_dep = dependency('threads')
Copy link
Member

Choose a reason for hiding this comment

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

Does it work on Windows? Or does Meson support Windows?

Copy link
Member

Choose a reason for hiding this comment

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

Good question.

BTW, FYI, we lost Windows test coverage recently due to the EOL of Windows 2019.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes this works across platforms

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Tangentially we can look to add Meson CI for Windows. Typically the hardest part for Windows is getting the export macros correct, but if that's already taken care of it should be a trivial amount of effort

Copy link
Member

Choose a reason for hiding this comment

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

@dongjoon-hyun Thanks for the info! It seems that we need to bump version of protobuf to make the Windows 2025 CI happy.

@WillAyd It may or may not work out of box. But I think we can postpone this until required to do.

Copy link
Member

@dongjoon-hyun dongjoon-hyun Jun 25, 2025

Choose a reason for hiding this comment

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

BTW, do you mean this which requires ORC 3.0.0 or something else, @wgtmac ?

Copy link
Member

Choose a reason for hiding this comment

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

Yes, I think so.

Copy link
Member

@dongjoon-hyun dongjoon-hyun left a comment

Choose a reason for hiding this comment

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

+1, LGTM. Thank you, @WillAyd and @wgtmac .

@dongjoon-hyun dongjoon-hyun added this to the 2.2.0 milestone Jun 25, 2025
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