-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
ffsync: Update syncstorage-rs to v0.17.15 #6228
Conversation
f52e0ea
to
7b0b200
Compare
hey @hgy59, I was having another go at this further to the challenges of upgrading diesel in #6187. Looking deeper at the errors originally we had this:
If we focus on the Line 29 in 2af6c9c
So the next thing I did was set the other one in f52e0ea and this revealed a new error:
This concurs with what I see in the mysqlclient-sys build code. So the next strategy was to use the
So based on this it seems to be trying to dynamically create the bindings for libmysqlclient Alternately, if This is all a bit of guesswork on my part but let me know if I may be onto something. |
@hgy59, further to the research I did above, I was looking more into the
Looking into that variable mentioned at the end I find it listed in the readme for the
Now in that repo there is an issue rust-lang/rust-bindgen#1949 which advises that:
As such, it doesn't support gcc which is why we need to provide clang for it to work. I've been looking at our wiki and it's not clear to me how this would be done. Searching the codebase I only come across this mention of clang in the
I don't have a firm grasp on this so I would need some guidance in getting this up and running. EDIT: After exploring the option of upgrading libmysqlclient, I now understand why it may not be straightforward. The Makefile points to MySQL Connector/C, with the latest version being 6.1.11. Upgrading beyond this would require switching to a different source, MySQL Connector/C++, which is currently at version 8.4.0. Since it uses a different programming language, this would likely involve creating a new package rather than performing a simple upgrade. |
Hoping not to muddy the water but is that libclang from an host or target perspective? i.e. using clang to build? or to link against its library at cross-compile time? From the log snipets above that isn't clear to me. |
I really don't know how to answer that as this is a bit new for me. In the same readme for buildgen i do see this line:
Other than that, is there a specific command or something in the codebase which would suggest which use case? |
Just saw a comment in https://github.com/mozilla-services/syncstorage-rs/blob/master/syncstorage-mysql/Cargo.toml
|
This is now obsolete with the bugfix for mysql_config in #6218 see cross/mysql-connector-c/Makefile Instead of defining # let it find mysql_config to find version and library path of libmysqlclient
ENV += PATH=$$PATH:$(STAGING_INSTALL_PREFIX)/bin |
7b0b200
to
2650aa6
Compare
@hgy59, thanks for this. I looked a bit more into the codebase and saw in mozilla-services/syncstorage-rs@eb02e83 that they are not actually requiring anything more than diesel 1.4: From the commit comment:
From the Cargo.toml:
Based on this I am curious how come the diesel 2.1.6 that we use works at all? |
This reverts commit 0d626bb.
@hgy59 I believe this update is ready. Reviewing the source repository for requirements.txt and tools/tokenserver/requirements.txt, I didn’t notice any updates since the last version we merged. It seems no changes are needed to the existing requirements, but I’d appreciate it if you could double-check and confirm if everything is good to go. |
* Update syncstorage-rs to v0.17.15 * Update mysql config
Description
This PR includes the following:
Fixes #
Checklist
all-supported
completed successfullyType of change