Skip to content

fix(build): Add explicit dependency for fastfloat instead of implicit from folly#15322

Closed
MBkkt wants to merge 1 commit intofacebookincubator:mainfrom
serenedb:mbkkt/fix-if-strange-folly
Closed

fix(build): Add explicit dependency for fastfloat instead of implicit from folly#15322
MBkkt wants to merge 1 commit intofacebookincubator:mainfrom
serenedb:mbkkt/fix-if-strange-folly

Conversation

@MBkkt
Copy link
Copy Markdown
Collaborator

@MBkkt MBkkt commented Oct 29, 2025

Otherwise if folly target for some reason doesn't provide fastfloat we will fail to build

@MBkkt MBkkt requested a review from majetideepak as a code owner October 29, 2025 21:04
@netlify
Copy link
Copy Markdown

netlify bot commented Oct 29, 2025

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit a234072
🔍 Latest deploy log https://app.netlify.com/projects/meta-velox/deploys/6902855eecf96e0007f694a7

@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 29, 2025
@MBkkt MBkkt requested a review from jinchengchenghh October 29, 2025 21:13
@MBkkt MBkkt force-pushed the mbkkt/fix-if-strange-folly branch from dbb1df9 to a234072 Compare October 29, 2025 21:21
Copy link
Copy Markdown
Collaborator

@jinchengchenghh jinchengchenghh 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 fix!

@MBkkt
Copy link
Copy Markdown
Collaborator Author

MBkkt commented Oct 29, 2025

@jinchengchenghh Does it work for you in IBM? I'm not sure will or not it works with IBM vcpkg setup.

I think changes are anyway better to be merged, because be explicit about dependency is better (also FastFloat system and Folly from source didn't work before these changes).

But I want to understand do we need something else to make it works for IBM or not

@MBkkt MBkkt requested a review from assignUser October 29, 2025 21:45
@MBkkt
Copy link
Copy Markdown
Collaborator Author

MBkkt commented Oct 29, 2025

@assignUser can you review this please?

Comment on lines +17 to +18
velox_set_source(FastFloat)
velox_resolve_dependency(FastFloat CONFIG REQUIRED)
Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

without this it's impossible to use system fast float.
Because only FindFastFloat.cmake provided

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The https://github.com/facebookincubator/velox/blob/main/CMake/resolve_dependency_modules/fastfloat.cmake#L26 name it to FASTFLOAT, which name should we use? I'm not familiar with the Velox build.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The fastfloat.cmake will replace FindFastFloat.cmake

Copy link
Copy Markdown
Collaborator Author

@MBkkt MBkkt Oct 29, 2025

Choose a reason for hiding this comment

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

I think there're two cases, both checked in Velox CI:

  1. installed system fast-float, in such case FindFastFloat.cmake will be used
  2. from source code build fast-float, in such case fastfloat.cmake will be used, because velox_build_dependency is case insensitive.

https://github.com/facebookincubator/velox/blob/main/CMake/resolve_dependency_modules/fastfloat.cmake#L26 name it to FASTFLOAT,

This is expected, because for velox_resolve_dependency_url argument should be written in UPPER_CASE

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

^ Yes exactly, sorry for the late answer. Thanks for the change, I didn't realize we where using fastfloat transitively!

@jinchengchenghh
Copy link
Copy Markdown
Collaborator

It could work for IBM.

@jinchengchenghh
Copy link
Copy Markdown
Collaborator

I have verified in Gluten, this PR can fix the build issue https://github.com/apache/incubator-gluten/actions/runs/18937504151/job/54067911462?pr=10978 This blocks Gluten daily rebase, could you help prioritize this PR? Thanks! @majetideepak @kgpai @czentgr

Copy link
Copy Markdown
Collaborator

@majetideepak majetideepak left a comment

Choose a reason for hiding this comment

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

@MBkkt, @jinchengchenghh I see we use fast_float in Velox here
./velox/functions/prestosql/DateTimeFunctions.h:#include <fast_float/fast_float.h>
Should we add a dependency to the usages?

@prestodb-ci
Copy link
Copy Markdown

@zhouyuan imported this issue as ibm/velox #15322

@majetideepak majetideepak changed the title fix: Use explicit cmake dependency for fastfloat instead of implicit from folly fix(build): Add explicit dependency for fastfloat instead of implicit from folly Oct 30, 2025
@majetideepak majetideepak added the ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall label Oct 30, 2025
@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Oct 30, 2025

@kevinwilfong has imported this pull request. If you are a Meta employee, you can view this in D85881806.

@meta-codesync
Copy link
Copy Markdown

meta-codesync bot commented Oct 31, 2025

@kevinwilfong merged this pull request in 66446ac.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants