-
Notifications
You must be signed in to change notification settings - Fork 232
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
Update xz util lib to 5.4.0 #319
Conversation
Vertexwahn
commented
Dec 21, 2022
•
edited
Loading
edited
- Update xz util lib to 5.4.0
- Add bash script to update LZMA config files
Hi, @Vertexwahn! Thanks for your contributions and for proposing the update. Looks like the CI is just some transitory misconfiguration hiccup, so let's not worry about that. But before I merge--just double checking: Does it indeed look like there are no important changed to the xz autotools configure scripts that'd require matching changes to the config.lzma-*.h files in this repo? Maybe the easiest would be to just look quickly at their sources, but you could also run ./configure and diff. (Example script in #245) Cheers, |
I started to add a bash script to update LZMA config files. The config files look slightly different on my system (Ubuntu 22.04). Do I need to run "./configure" on macOS? Will this give me different headers or is configure independently of my OS (I have no experience with autotools)? Currently, the script has only the 3 configurations - is is unclear for me which parameters to use for |
@Vertexwahn, thanks for giving the script a shot. That's a great idea for making this easier to update into the future. To answer your question: Unfortunately the ./configure output is dependent on the target OS and architecture. It's basically running a series of tests against the system to autodetect which defines should be used for compilation. I don't know offhand how xz has things set up for Windows either. It's often a special case--they should have something about it in their build docs. (I should also note: I'm a little skeptical that the linux/windows headers are currently right, given they aren't conditioned on architecture. For example, the one for linux hardcodes sizeof(size_t) as 8, but 32 bit linux/windows is perfectly valid. Not that any of this is necessarily your problem, but if you're willing to solve this stuff, it'd be great.) Gregor's comments look like good improvements to me! I'll tap back a couple other quick ideas in a moment. One future proofing approach--once we have these scripts--would be to run them at build time as part of a genrule. That'd keep them updated by default for all future versions and make it so that people can update without needing to run the script against all targets, which requires using multiple OSs. (The rules_foreign_cc autotools wrappers haven't been good options in my past experience, since rules_foreign_cc tends to incorrectly assume the host machine is the target. But it might have improved. If @gjasny or anyone else knows anything more about the current state of those, please say something.) Anyway, again, this certainly isn't a problem you created or need to solve, but I think that could be another good solution in the long run. If you don't want to tackle it, that's fine, too. I'd be happy to run the Apple/Android scripts for ya; I've got all those SDKs set up. And for a repo I maintain, wrapping curl, which also uses autotools, I just quickly hand-update my bazel script based on the changes I see in their source. That's viable, too, especially when there's a lot of shared code. P.S. Re circleci...I'm not quite sure what's up. Would you be down to rebase or merge in master to see if that fixes things? If not, let's ping nelhage in case he's seen this before. |
* ci: add layering_check * chore: run buildifier * fix: add missing dependencies
I added all requested changes to the script. |
@nelhage, any idea what's up with CircleCI's config error here? It seems to be working in other PRs (like Renovate's) and @Vertexwahn has already rebased. [@Vertexwahn, looks like it's now building correctly with the config you generated, yes?] |
@cpsauer Building works now (I extended the BUILD.lzma file with two new source files) |
Co-authored-by: Gregor Jasny <gjasny@googlemail.com>
Co-authored-by: Gregor Jasny <gjasny@googlemail.com>
Co-authored-by: Gregor Jasny <gjasny@googlemail.com>
@Vertexwahn, merging w/ some quick async changes! (Would love it if you'd take a peek and lmk if you think I messed anything up.) Thanks so much for going the extra mile to add and refine the script to make future updates smoother. And more generally, I really appreciate you leaving things better than you found them. [And sorry I was so slow in getting back; got absolutely buried during the holidays.] |
@cpsauer
Your last commit Simplify lzma build with globs breaks the build - without this commit the compilation & testing on Ubuntu 22.04 works |
Hey, @Vertexwahn! Yep. Now fixed. To explain what happened: I'd realized A separate breakage with zstd on master would have prevented my merging--and had to dash off to other things, since there'd been a few more fixups needed than anticipated. All fixed now. Merging in. |
Since very recently, builds using this repo have started failing with errors due to the Boost dependency: ``` ERROR: /home/vscode/.cache/bazel/_bazel_vscode/e9b5149ef40c40531841044f5a70254d/external/com_github_3rdparty_stout/BUILD.bazel:62:11: @com_github_3rdparty_stout//:stout depends on @boost//:variant in repository @boost which failed to fetch. no such package '@boost//': java.io.IOException: Error downloading [https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz] to /home/vscode/.cache/bazel/_bazel_vscode/e9b5149ef40c40531841044f5a70254d/external/boost/temp13387589294389186013/boost_1_79_0.tar.gz: Checksum was 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff but wanted 273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c ``` We fix this error by upgrading to a newer version of the Boost repo. We can't go beyond nelhage/rules_boost#319 since it breaks our Windows support. See (TODO: link to issue). While we're here, also add a `.bazeliskrc`, which is important to have this repo work with our modern Codespaces.
Since very recently, builds using this repo have started failing with errors due to the Boost dependency: ``` ERROR: /home/vscode/.cache/bazel/_bazel_vscode/e9b5149ef40c40531841044f5a70254d/external/com_github_3rdparty_stout/BUILD.bazel:62:11: @com_github_3rdparty_stout//:stout depends on @boost//:variant in repository @boost which failed to fetch. no such package '@boost//': java.io.IOException: Error downloading [https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz] to /home/vscode/.cache/bazel/_bazel_vscode/e9b5149ef40c40531841044f5a70254d/external/boost/temp13387589294389186013/boost_1_79_0.tar.gz: Checksum was 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff but wanted 273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c ``` We fix this error by upgrading to a newer version of the Boost repo. We can't go beyond nelhage/rules_boost#319 since it breaks our Windows support; see: nelhage/rules_boost#535 While we're here, also add a `.bazeliskrc`, which is important to have this repo work with our modern Codespaces.
* Fix boost import Since very recently, builds using this repo have started failing with errors due to the Boost dependency: ``` ERROR: /home/vscode/.cache/bazel/_bazel_vscode/e9b5149ef40c40531841044f5a70254d/external/com_github_3rdparty_stout/BUILD.bazel:62:11: @com_github_3rdparty_stout//:stout depends on @boost//:variant in repository @boost which failed to fetch. no such package '@boost//': java.io.IOException: Error downloading [https://boostorg.jfrog.io/artifactory/main/release/1.79.0/source/boost_1_79_0.tar.gz] to /home/vscode/.cache/bazel/_bazel_vscode/e9b5149ef40c40531841044f5a70254d/external/boost/temp13387589294389186013/boost_1_79_0.tar.gz: Checksum was 5e89103d9b70bba5c91a794126b169cb67654be2051f90cf7c22ba6893ede0ff but wanted 273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c ``` We fix this error by upgrading to a newer version of the Boost repo. We can't go beyond nelhage/rules_boost#319 since it breaks our Windows support; see: nelhage/rules_boost#535 While we're here, also add a `.bazeliskrc`, which is important to have this repo work with our modern Codespaces. * Also fix MergeQueue config's windows check entry