-
Notifications
You must be signed in to change notification settings - Fork 11
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
Build failure for m4 1.4.18 and GNU libc >= v2.34 #9
Comments
(I had a quick look but then didn't have time to dig deeper, here's a starting point for the next person looking into that:) diff --git a/m4/internal/versions.bzl b/m4/internal/versions.bzl
index 0138562..d076fe3 100644
--- a/m4/internal/versions.bzl
+++ b/m4/internal/versions.bzl
@@ -23,9 +23,13 @@ _MIRRORS = [
def _urls(filename):
return [m + filename for m in _MIRRORS]
-DEFAULT_VERSION = "1.4.18"
+DEFAULT_VERSION = "1.4.19"
VERSION_URLS = {
+ "1.4.19": {
+ "urls": _urls("m4-1.4.19.tar.xz"),
+ "sha256": "63aede5c6d33b6d9b13511cd0be2cac046f2e70fd0a07aa9573a04a82783af96",
+ },
"1.4.18": {
"urls": _urls("m4-1.4.18.tar.xz"),
"sha256": "f2c1e86ca0a404ff281631bdc8377638992744b175afb806e25871a24a934e07", And then
|
It looks as though the issue comes from the m4-gnulib overlay (downloaded from here: https://github.com/jmillikin/rules_m4/releases/download/v0.1/m4-gnulib-788db09a9f88abbef73c97e8d7291c40455336d8.tar.xz ) It just does not contain the new headers that are required to build latest m4. @jmillikin where does this archive come from? Is there a repo for it? How can it be updated to reflect latest m4 changes? |
Sorry for the delayed response; this year continues to be too busy to easily work on open-source libraries. The gnulib tarball is hand-crafted by running Regarding the original request, given the challenge of updating the gnulib overlay right now, I think I would prefer to bundle a patch to the m4 or gnulib sources so they'll build on contemporary GNU libc. There's already several such patches in place, and in fact trying to build Is the linked |
At the moment I only know of openSUSE Tumbleweed and Fedora Rawhide who have switched to glibc 2.34. I would expect Debian unstable and Arch Linux to come next, and it will tickle down from there over the coming months. |
I am also facing the same issue. I am using ClearLinux distro and they have already moved to glibc 2.34. When trying to build beancount (https://github.com/beancount/beancount), which uses bazel, it tries to build m4-1.4.18 and fails. |
@jmillikin Is it possible to build m4 with https://github.com/bazelbuild/rules_foreign_cc? |
Being able to provide a path to a system-installed version of |
I totally agree with your opinion. diff --git a/m4/internal/repository.bzl b/m4/internal/repository.bzl
index c668d8c..89bff4c 100644
--- a/m4/internal/repository.bzl
+++ b/m4/internal/repository.bzl
@@ -41,10 +41,11 @@ cc_library(
"""
_M4_BIN_BUILD = """
-cc_binary(
+filegroup(
name = "m4",
+ srcs = ["@org_gnu_m4//:m4"],
+ output_group = "m4",
visibility = ["//visibility:public"],
- deps = ["//:m4_lib"],
)
""" And the target |
I did some poking at this today and getting M4 1.4.19 building is not going to be easy -- there's been a lot of gnulib changes since 1.4.18, and the notes I left myself on generating the gnulib config tarball no longer work. Good news is that fixing the build on 1.4.18 should be straightforward. The breakage is ... somewhat typical of the gnulib / glibc relationship. There's three compiler errors in my test VM, all minor. Using
The first thing gnulib does with that value is try to redefine it. Obviously.
Some time later it gets used as the size of a static
The whole thing is just stupid:
|
I'm going to repurpose this issue to be about the build failure, and move the v1.4.19 version request to #10 since I suspect there's not any new functionality folks need. |
Release v0.2.1 released with support for building m4 1.4.18 on the new GNU libc. It turns out that |
m4 older than 1.4.19 fails to build on systems with the just-released glibc 2.34. This problem will become more and more visible with distributions switching to this glibc version (it's already happened for rolling release distributions such as Fedora Rawhide and openSUSE Tumbleweed).
Could you update this project to provide m4 1.4.19?
From https://lists.gnu.org/archive/html/m4-announce/2021-05/msg00002.html:
Discussion of the compilation error: https://lists.gnu.org/archive/html/bug-m4/2021-03/msg00000.html
The text was updated successfully, but these errors were encountered: