Summary: | sys-fs/compsize-1.5: fails to compile with >=sys-fs/btrfs-progs-6.10.1 (compsize.c: error: GFP_KERNEL undeclared (first use in this function)) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Toralf Förster <toralf> |
Component: | Current packages | Assignee: | No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | ago, joost.ruis, mmk, tanekliang, xxc3ncoredxx, zsojka |
Priority: | Normal | Keywords: | PullRequest |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
See Also: |
https://github.com/kilobyte/compsize/issues/52 https://github.com/NixOS/nixpkgs/issues/336006 https://github.com/gentoo/gentoo/pull/39406 |
||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge-info.txt
emerge-history.txt environment etc.clang.tar.xz etc.portage.tar.xz qlist-info.txt.xz sys-fs:compsize-1.5:20240816-180323.log temp.tar.xz |
Description
Toralf Förster
2024-08-16 21:19:06 UTC
Created attachment 900326 [details]
emerge-info.txt
Created attachment 900327 [details]
emerge-history.txt
Created attachment 900328 [details]
environment
Created attachment 900329 [details]
etc.clang.tar.xz
Created attachment 900330 [details]
etc.portage.tar.xz
Created attachment 900331 [details]
qlist-info.txt.xz
Created attachment 900332 [details]
sys-fs:compsize-1.5:20240816-180323.log
Created attachment 900333 [details]
temp.tar.xz
We should probably take a snapshot at least (I don't think it'll fix this though). We want at least: * https://github.com/kilobyte/compsize/commit/9f02a12c377e5ac12544b0d07d73eb7c352a4787 * https://github.com/kilobyte/compsize/commit/a7bf82296193f785757f0cb30627dce30462f085 * https://github.com/kilobyte/compsize/commit/4288964fd32dc5a00c7162e5ab9920039e5a5e14 But I haven't looked at what commit(s) in btrfs-progs broke this (per upstream bug). These two commits, at least, are mentioned by NixOS folks: - https://github.com/kdave/btrfs-progs/commit/2830e841359e456ab14e48aabaedab8a2276e484 - https://github.com/kdave/btrfs-progs/commit/2f297355c9b1c451c3ad2bfd07a368ef69b9b8d7 They remove a bunch of junk which approximates kernel internals using libc equivalents. In radix-tree.h in compsize, there's the following bit: #if BTRFS_FLAT_INCLUDES #include "kerncompat.h" #else #include <btrfs/kerncompat.h> #endif /* BTRFS_FLAT_INCLUDES */ Their bundled kerncompat.h includes definitions for stuff like gfp_t which were removed from btrfs-progs kerncompat.h. This is actually a problematic flag because defining it for compsize has implications when it comes to libbtrfs. From libbtrfs/ctree.h as an example: #if BTRFS_FLAT_INCLUDES #include "libbtrfs/kerncompat.h" #include "kernel-lib/rbtree_types.h" #include "libbtrfs/ioctl.h" #else #include <btrfs/kerncompat.h> #include <btrfs/rbtree_types.h> #include <btrfs/ioctl.h> #endif /* BTRFS_FLAT_INCLUDES */ https://github.com/kdave/btrfs-progs/blob/c75b2f2c77c9fdace08a57fe4515b45a4616fa21/libbtrfs/ctree.h#L24 Taking a closer look at what compsize has, their radix-tree.c and radix-tree.h appear to be 7 year old copies of btrfs-progs sources... *** Bug 939505 has been marked as a duplicate of this bug. *** *** Bug 939834 has been marked as a duplicate of this bug. *** The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f0aa3f52546b99ab498a0233dd323e73f82559c0 commit f0aa3f52546b99ab498a0233dd323e73f82559c0 Author: David Roman <davidroman96@gmail.com> AuthorDate: 2024-11-21 21:43:04 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2024-11-23 09:51:22 +0000 sys-fs/compsize: fix build with btrfs-progs >= 6.10.1 Closes: https://bugs.gentoo.org/938025 Signed-off-by: David Roman <davidroman96@gmail.com> Signed-off-by: Sam James <sam@gentoo.org> sys-fs/compsize/compsize-1.5.ebuild | 2 ++ .../compsize/files/compsize-1.5-btrfs-progs.patch | 35 ++++++++++++++++++++++ 2 files changed, 37 insertions(+) |