Closed mudge closed 5 months ago
If you want to reproduce this:
bundle install
bundle exec rake compile
ports
mounted, e.g. from within the re2
clone: docker run -v "$(PWD):/re2" --platform linux/amd64 -it ghcr.io/rake-compiler/rake-compiler-dock-image:1.5.0-mri-x86-linux /bin/bash
PKG_CONFIG_PATH
inside the Docker container to include both Abseil and RE2, e.g. assuming you mounted the clone in /re2
, export PKG_CONFIG_PATH=/re2/ports/arm64-apple-darwin23/abseil/20240116.2/lib/pkgconfig:/re2/ports/arm64-apple-darwin23/libre2/2024-06-01/lib/pkgconfig:$PKG_CONFIG_PATH
time pkg-config --libs-only-L --static /re2/ports/arm64-apple-darwin23/libre2/2024-06-01/lib/pkgconfig/re2.pc
Fascinatin, that's an incredible speedup for sure. I know that 0.28 and 0.29 addressed some recursive path issues, so I'll assume that's why it's faster.
Seems like we've got two options here ...
I was planning on doing (2) soon anyway, since the 2014 series is EOL as of 2024-06-30 (later this month!). See https://github.com/pypa/manylinux for details, and #122 for the issue describing this change in more detail.
Let me mess around with (1), though, since I could get that into a patch release on the 1.5.x branch, while (2) would really require a minor release.
Possible approach to (1) above is in https://github.com/rake-compiler/rake-compiler-dock/pull/123
Closed in #123, will ship v1.5.1 promptly.
RE2 2024-06-01 uses more of Abseil which has caused the amount of time spent running
pkg-config --libs-only-L --static re2.pc
within the rake-compiler-dock images for x86-linux and x86_64-linux to significantly increase.Both images use CentOS 7's latest version of
pkgconfig
: 0.27.1 but the latest version available is 0.29.2.By manually downloading, compiling and installing the latest version of pkg-config on ghcr.io/rake-compiler/rake-compiler-dock-image:1.5.0-mri-x86-linux we can compare the difference:
Is there a way for us to provide a newer version of pkg-config in the rake-compiler-dock images to work around this slowdown?