Summary: | sys-libs/libhugetlbfs-2.23: fails to build with glibc 2.34 (error: ‘__morecore’ undeclared) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Sam James <sam> |
Component: | Current packages | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | CONFIRMED --- | ||
Severity: | normal | CC: | flow, j.fikar, steve, treecleaner |
Priority: | Normal | Keywords: | PMASKED |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
URL: | https://github.com/libhugetlbfs/libhugetlbfs/issues/52 | ||
See Also: | https://bugs.gentoo.org/show_bug.cgi?id=820320 | ||
Whiteboard: | ~arch only | ||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 803482 | ||
Attachments: | build.log |
Description
Sam James
2021-08-01 18:56:39 UTC
Ping The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9215f11d48a5f54263e700e10d91613b5735e1b9 commit 9215f11d48a5f54263e700e10d91613b5735e1b9 Author: Sam James <sam@gentoo.org> AuthorDate: 2021-10-25 13:24:36 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-10-25 13:27:50 +0000 profiles: last-rite sys-libs/libhugetlbfs Bug: https://bugs.gentoo.org/630128 Bug: https://bugs.gentoo.org/715640 Bug: https://bugs.gentoo.org/806079 Signed-off-by: Sam James <sam@gentoo.org> profiles/package.mask | 6 ++++++ 1 file changed, 6 insertions(+) This is not just a 'lib' for other programs to use as a dependency. It is a tool (hugeadm) for interacting with the huge page control directory in sysfs. It is recommended in the linux kernel documentation (see bottom of https://www.kernel.org/doc/html/latest/admin-guide/mm/hugetlbpage.html) Upstream seems to be aware of the compatibility issue and is working on it: https://github.com/libhugetlbfs/libhugetlbfs/issues/52 Is the failing glibc build enough to rip it out? In addition to previous comment - it seems like sys-apps/nvme-cli actually depends on libhugetlbfs though the dependency is not declared it seems. I filed a separate bug just now for that: https://bugs.gentoo.org/820320 (In reply to Scott Howard from comment #3) > This is not just a 'lib' for other programs to use as a dependency. It is a > tool (hugeadm) for interacting with the huge page control directory in sysfs. > > It is recommended in the linux kernel documentation (see bottom of > https://www.kernel.org/doc/html/latest/admin-guide/mm/hugetlbpage.html) > > Upstream seems to be aware of the compatibility issue and is working on it: > https://github.com/libhugetlbfs/libhugetlbfs/issues/52 > > Is the failing glibc build enough to rip it out? The problem is that this won't build at all on the latest glibc version and there doesn't seem to be much movement upstream. Apparently we could disable building the library: https://gitweb.gentoo.org/repo/gentoo.git/tree/sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild#n53. I'll unmask it for now but we do need a resolution here.. The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7ec980bceed718723bbcae039cf041b1dd8bb79e commit 7ec980bceed718723bbcae039cf041b1dd8bb79e Author: Sam James <sam@gentoo.org> AuthorDate: 2021-10-26 07:15:41 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2021-10-26 07:16:03 +0000 profiles: un-last-rite sys-libs/libhugetlbfs for now Needed for tools at least. Bug: https://bugs.gentoo.org/806079 Signed-off-by: Sam James <sam@gentoo.org> profiles/package.mask | 6 ------ 1 file changed, 6 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ed5576e429fac992d5c039e5f2290cc2d5d8d6f4 commit ed5576e429fac992d5c039e5f2290cc2d5d8d6f4 Author: Thomas Deutschmann <whissi@gentoo.org> AuthorDate: 2021-11-18 13:59:38 +0000 Commit: Thomas Deutschmann <whissi@gentoo.org> CommitDate: 2021-11-18 13:59:48 +0000 sys-libs/libhugetlbfs: allow building against glibc-2.34 Bug: https://bugs.gentoo.org/806079 Package-Manager: Portage-3.0.28, Repoman-3.0.3 Signed-off-by: Thomas Deutschmann <whissi@gentoo.org> ...fs-2.23-allow-building-against-glibc-2.34.patch | 258 +++++++++++++++++++++ sys-libs/libhugetlbfs/libhugetlbfs-2.23.ebuild | 1 + 2 files changed, 259 insertions(+) This bug will stay open for a while and will probably cause some users to stay on <glibc-2.34 and will not warrant any last-rite: The __morecore functionality is crucial for any serious server deployment making use of hugetlb. At the moment there is _no_ replacement available, i.e. libhugetlbfs maintainer can't do anything. There is some work going on in glibc to provide a new interface which will probably not be available before glibc-2.35 or 2.36. The applied patch will at least allow user-space tools to build, helping single cluster nodes to keep using functionality.
>
> There is some work going on in glibc to provide a new interface which will
> probably not be available before glibc-2.35 or 2.36.
>
The patchset is in glibc master, i.e., it will be in 2.35 (see also linked upstream bug).
An upstream backport is possible (but not very likely).
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fad8da8af89b70f55448bde1a8d84e0dfd22db69 commit fad8da8af89b70f55448bde1a8d84e0dfd22db69 Author: Sam James <sam@gentoo.org> AuthorDate: 2022-02-11 14:50:26 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2022-02-11 14:50:46 +0000 profiles/base: stable-mask sys-apps/nvme-cli[hugepages] Doesn't work with soon-to-be-stable glibc-2.34 Bug: https://bugs.gentoo.org/806079 Signed-off-by: Sam James <sam@gentoo.org> profiles/base/package.use.stable.mask | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a43629357609b4fc45137c24dc47dd68d7947e85 commit a43629357609b4fc45137c24dc47dd68d7947e85 Author: Sam James <sam@gentoo.org> AuthorDate: 2023-07-09 02:30:56 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-07-09 02:31:24 +0000 profiles/arch/base: mask nvme-cli[hugepages] Needs <glibc-2.34. Bug: https://bugs.gentoo.org/806079 Bug: https://bugs.gentoo.org/908793 Signed-off-by: Sam James <sam@gentoo.org> profiles/arch/base/package.use.mask | 4 ++++ profiles/base/package.use.stable.mask | 6 ------ 2 files changed, 4 insertions(+), 6 deletions(-) The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fed2ebb536459393f2cd907402413b6809257b85 commit fed2ebb536459393f2cd907402413b6809257b85 Author: Michał Górny <mgorny@gentoo.org> AuthorDate: 2024-02-07 21:23:42 +0000 Commit: Michał Górny <mgorny@gentoo.org> CommitDate: 2024-02-07 21:24:04 +0000 package.mask: Last rite sys-libs/libhugetlbfs Bug: https://bugs.gentoo.org/806079 Signed-off-by: Michał Górny <mgorny@gentoo.org> profiles/package.mask | 6 ++++++ 1 file changed, 6 insertions(+) (In reply to Larry the Git Cow from comment #12) > The bug has been referenced in the following commit(s): > > https://gitweb.gentoo.org/repo/gentoo.git/commit/ > ?id=fed2ebb536459393f2cd907402413b6809257b85 > > commit fed2ebb536459393f2cd907402413b6809257b85 > Author: Michał Górny <mgorny@gentoo.org> > AuthorDate: 2024-02-07 21:23:42 +0000 > Commit: Michał Górny <mgorny@gentoo.org> > CommitDate: 2024-02-07 21:24:04 +0000 > > package.mask: Last rite sys-libs/libhugetlbfs > > Bug: https://bugs.gentoo.org/806079 > Signed-off-by: Michał Górny <mgorny@gentoo.org> > > profiles/package.mask | 6 ++++++ > 1 file changed, 6 insertions(+) This builds for me with sys-libs/glibc-2.38-r10. Was there some other solution for providing the hugeadm tools? What do you actually need from libhugetlbfs? hugeadm is needed for managing huge page allocations and policy. Initial configuration can be set on the kernel command line, but runtime configuration is much more flexible, I use it for managing allocations used for VMs. I've never used hugectl, but I'm sure it's useful especially for testing whether there's a benefit to using huge pages, or for cases where the application can't be configured/patched at build-time to enable the use of huge pages. I'm also wondering, why it is masked. Note, upstream libhugetlbfs has been updated two week ago to 2.24. And it seems it fixes glibc __morecore problem: https://github.com/libhugetlbfs/libhugetlbfs/blob/master/NEWS I'm using hugeadm from this package. |