google / google/ml-metadata

Patch m4 lib for zetasql to the 1.4.19

Open
#210 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
685
Forks
185
PR merge metrics
No merged PRs in 30d

Description

### Description

The current version of `m4` (v1.4.17) is not compatible with the `ubuntu:22.04` base Docker image. When Bazel attempts to build `ml_metadata_store_server`, it fails with the following error:
```
/root/.cache/bazel/_bazel_root/2b5e54baa61e12f7face76121c87337a/sandbox/processwrapper-sandbox/1/execroot/ml_metadata/external/m4/lib/c-stack.c:55:26: error: missing binary operator before token "("
55 | #elif HAVE_LIBSIGSEGV && SIGSTKSZ < 16384
| ^~~~~~~~
```
The issue appears to stem from Bazel using `m4` version **1.4.17** for `zetasql`, which is incompatible with `ubuntu:22.04`. A newer version of `m4` (v1.4.19) patch for `zetasql` may resolve this issue.

---

### Commands to Reproduce
```
bazel build -c opt --verbose_failures --jobs=6 --action_env=PATH \
--define=grpc_no_ares=true \
//ml_metadata/metadata_store:metadata_store_server \
--cxxopt="-std=c++17" --copt="-w"
```
---
### Environment
* Docker Image: `ubuntu:22.04`
* Bazel Version: `v5.3.0`
* ml-metadata Version: `v1.14.0`
* GCC Versions Tested: `11, 9, 8, 7`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.