-
Notifications
You must be signed in to change notification settings - Fork 249
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
zetasql/2024.08.2 package update #26865
base: main
Are you sure you want to change the base?
Conversation
octo-sts
bot
commented
Aug 21, 2024
Open AI suggestions to solve the build error:
|
Open AI suggestions to solve the build error:
|
Open AI suggestions to solve the build error:
ERROR: /home/build/.cache/bazel/_bazel_root/79a1bfc8c8b5b6a6d226b38d072f165b/external/boost/BUILD.bazel:27:12: Foreign Cc - BoostBuild: Building boost failed: error reading file '@boost//:libs/wave/test/testwave/testfiles/utf8-test-ßµ™∃/file.hpp': /home/build/.cache/bazel/_bazel_root/79a1bfc8c8b5b6a6d226b38d072f165b/external/boost/libs/wave/test/testwave/testfiles/utf8-test-ßµ™∃/file.hpp (No such file or directory)
|
Looks like its something UTF-8 related? utf8-test-ßµ™∃/file.hpp Tried adding: LANG: en_US.UTF-8 |
Open AI suggestions to solve the build error:
|
4c3b48a
to
b5acb50
Compare
Open AI suggestions to solve the build error:
|
Changes summary: Total changes: 26070 Total commits: 2
GitHub compare URL: google/zetasql@f6df697...194cd32 |
I was able to resolve the UTF-8 issue by adding the However, that uncovered a new build failure issue with civetweb, which I've been unable to resolve with my limited Bazel debugging knowledge. It isn't generating the expected output files and therefore fails the build. Civetweb was added with this version bump, more details here: google/zetasql@f6df697...194cd32. Version 2024.08.1 also does not build. I tried adding an assortment of potential missing dependencies with no luck:
Relevant logs, with Click to expand
Supposedly, the build script that's running and then not working correctly: Click to expand
The script called by the previous script (please excuse minor copy paste formatting issues): Click to expand
|
Open AI suggestions to solve the build error:
|
Open AI suggestions to solve the build error:
|
Signed-off-by: wolfi-bot <121097084+wolfi-bot@users.noreply.github.com>
Signed-off-by: Mark McCormick <mark.mccormick@chainguard.dev>
996bad8
to
935d9a2
Compare
Gen AI suggestions to solve the build error:
|
Gen AI suggestions to solve the build error:
|
Gen AI suggestions to solve the build error:
|
this might require some help from foundations team cc @xnox |
Based on the build error, it appears there's a compilation issue with abseil (Google's C++ library) when building ZetaSQL. The key error is related to a template instantiation problem in the hash policy traits. Here are a few potential fixes to try in the melange YAML:
environment:
environment:
BAZEL_ARGS: "--config=g++ --cxxopt=-std=c++17 --host_cxxopt=-std=c++17"
environment:
contents:
packages:
- gcc-11 # Instead of latest gcc
environment:
environment:
BAZEL_ARGS: "--config=g++ --copt=-Wno-error"
EXTRA_BAZEL_ARGS: "--tool_java_runtime_version=local_jdk --features=-debug_prefix_map_pwd_is_dot"
pipeline:
- runs: |
cd zetasql
bazel build --verbose_failures ${BAZEL_ARGS} $EXTRA_BAZEL_ARGS -c opt //zetasql/... I would recommend trying these changes one at a time, starting with option #1 since it's the most targeted fix for the template instantiation error. The core issue seems to be related to C++17 template evaluation rules and how they interact with constexpr expressions in the abseil library. The fixes above aim to either adjust the compiler behavior or work around the problematic code paths. |
Next error: Based on the build error, the main issue is with Boost dependencies required by the mstch package. The specific error is:
To fix this, we need to:
environment:
contents:
packages:
- bash
- bazel-6
- binutils
- build-base
- boost-dev # Add this line
- busybox
# ... rest of packages |
…eed to figure out the bazel cache issue and absil gcc error this should cause Signed-off-by: James Rawlings <jrawlings@chainguard.dev>
There seems to be an issue with the bazel cache, boost is fetched in the bazel build but can't be found in the local cache, retry and it seems to get past the error. This isn't a solution (for now at least as it's bad) just showing some workings |
Gen AI suggestions to solve the build error: Based on the error logs, the build is failing due to a redefinition of
environment:
# Undefine _FORTIFY_SOURCE before defining it
CFLAGS: "-U_FORTIFY_SOURCE"
CXXFLAGS: "-U_FORTIFY_SOURCE"
pipeline:
- runs: |
bazel build --copt=-U_FORTIFY_SOURCE //...
environment:
CFLAGS: "-fstack-protector -Wall -O2" # Remove _FORTIFY_SOURCE definition
CXXFLAGS: "-fstack-protector -Wall -O2"
environment:
CFLAGS: "-Wno-error=builtin-macro-redefined"
CXXFLAGS: "-Wno-error=builtin-macro-redefined" These changes should help resolve the _FORTIFY_SOURCE redefinition error during compilation. |
I'm out of ideas on the bazel cache issue, I've pushed a bad change to prove retrying the bazel build after it fetches dependencies such as boost does work, albeit not a good solution. There's also this It would be good to have a more expert eye on this. |
- git | ||
- glibc-locale-en # This fixes the build failure with UTF-8 filenames, see wolfi-dev/os#26865 | ||
- openjdk-17 | ||
- openjdk-17-default-jvm |
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.
expect default-jdk here.
@@ -28,25 +30,41 @@ environment: | |||
- tzdata | |||
- wolfi-baselayout | |||
environment: | |||
BAZEL_ARGS: "--config=g++" | |||
EXTRA_BAZEL_ARGS: "--tool_java_runtime_version=local_jdk" | |||
BAZEL_ARGS: "--config=g++ --cxxopt=-std=c++17 --host_cxxopt=-std=c++17 --tool_java_runtime_version=local_jdk" | |||
JAVA_HOME: /usr/lib/jvm/java-17-openjdk |
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.
c++17 is old/low; it can cause issues with runtime compat with forexample our icu. But if that is not used, it can also be ok. Higher / default version standard would be nice (unless known to be broken).