-
Notifications
You must be signed in to change notification settings - Fork 6.6k
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
Fix libbcrypt for FreeBSD build #64023
Fix libbcrypt for FreeBSD build #64023
Conversation
Right now it fails due to [1] with the following error: /usr/work/ClickHouse/contrib/libbcrypt/crypt_blowfish/ow-crypt.h:27:14: error: conflicting types for 'crypt_r' 27 | extern char *crypt_r(__const char *key, __const char *setting, void *data); | ^ /usr/include/unistd.h:500:7: note: previous declaration is here 500 | char *crypt_r(const char *, const char *, struct crypt_data *); | ^ [1]: freebsd/freebsd-src@5f521d7 Signed-off-by: Azat Khuzhin <a.khuzhin@semrush.com>
This is an automated comment for commit bfb3fe0 with description of existing statuses. It's updated for the latest CI running ❌ Click here to open a full report in a separate page
Successful checks
|
# [1]: https://github.com/freebsd/freebsd-src/commit/5f521d7ba72145092ea23ff6081d8791ad6c1f9d | ||
# | ||
# NOTE: ow-crypt.h is unsed only internally, so PRIVATE is enough | ||
target_compile_definitions(_bcrypt PRIVATE -D__SKIP_GNU) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But looks like it will affect all platforms, not only freebsd? What this compile option do?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That was the intention to show the problem in all builds if there is any.
As for the option itself, it just removes the declaration for the function - https://github.com/rg3/libbcrypt/blob/8aa32ad94ebe06b76853b0767c910c9fbf7ccef4/crypt_blowfish/ow-crypt.h#L25-L28
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain the problem? We have FreeBSD build in CI, it works. All other builds work to.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
unistd.h from the sysroot does not has definition of crypt_r like freebsd has - freebsd/freebsd-src@5f521d7
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm, actually it should use sysroot (i.e. --gcc-toolchain)... and this should not be required
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, it should not, it is for cross compiling only
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't get it, but it looks ok to me.
|
Right now it fails due to 1 with the following error:
Changelog category (leave one):
Refs: #62628