Subject: Re: [BUG -next] ./usr/include/cxl/features.h:11:10: fatal error: uuid/uuid.h: No such file or directory

From: Dave Jiang <[email-masked]>
Date: Tue, 1 Apr 2025 17:18:23 -0700

On 4/1/25 5:07 PM, Paul E. McKenney wrote:
> On Tue, Apr 01, 2025 at 08:15:55AM -0700, Dave Jiang wrote:
>>
>>
>> On 4/1/25 12:01 AM, Venkat Rao Bagalkote wrote:
>>>
>>> On 01/04/25 1:17 am, Dan Williams wrote:
>>>> Jason Gunthorpe wrote:
>>>>> On Mon, Mar 31, 2025 at 09:54:55AM -0700, Dan Williams wrote:
>>>>>> Jason Gunthorpe wrote:
>>>>>>> On Fri, Mar 28, 2025 at 05:26:42PM -0700, Dave Jiang wrote:
>>>>>>>>> For now the following builds for me, but it is a quite a mess to undo
>>>>>>>>> the assumption that that the hardware object definitions can not use
>>>>>>>>> uuid_t:
>>>>>>>> +Jason.
>>>>>>> Seems invasive?
>>>>>> Yeah, it left a bad taste for me as well.
>>>>>>
>>>>>>> Maybe just like below?
>>>>>> I like that this avoids converting to the kernel's uuid API, however,
>>>>>> not quite happy that it forces userspace to contend with the
>>>>>> type-conflict with uuid/uuid.h.
>>>>> Oh I see
>>>>>  
>>>>>> So how about one more riff on your idea?
>>>>> Sure, works for me, please post it..
>>>> b4 am supports scissors lines, so:
>>>>
>>>> b4 am -P _  [email-masked]
>>>>
>>>> ...works for me. Do you still need a separate posting?
>>>>
>>>
>>> This issue got introduced in next-20250307 and got fixed in next-20250311(not sure what fixed).
>>>
>>> But again got re-introduced in  next-20250318. I tried bisection, below are the logs.
>>>
>>> One of the things I tried is to install the UUID packages on my set up and after installing those packages, issue is not seen.
>>>
>>> rpm -qa | grep uuid
>>>
>>> libuuid-2.37.4-20.el9.ppc64le
>>> uuid-1.6.2-55.el9.ppc64le
>>> uuid-c++-1.6.2-55.el9.ppc64le
>>> uuid-dce-1.6.2-55.el9.ppc64le
>>> uuid-devel-1.6.2-55.el9.ppc64le
>>> uuidd-2.37.4-20.el9.ppc64le
>>> libuuid-devel-2.37.4-20.el9.ppc64le
>>>
>>> So wondering is this not a setup issue?  Please advice.
>>
>> uuid/uuid.h only exists if the libuuid-devel package gets installed. And it seems that's where it resides in userspace.
> 
> Just to double-check...
> 
> As of some fairly recent time, it is now necessary to install the above
> seven userspace packages if one wants to do an allmodconfig build of
> the kernel?  Or will there be a change similar to the ones put forward
> earlier in this thread that will allow such builds to be carried out
> without additional userspace packages needing to be installed?
> 
> I of course do have some concerns about the number of userspace packages
> that might be required if CXL is adding seven of them...  ;-)

Technically it's only 1 package. libuuid-devel. Do the other 6 come with the installation of libuuid-devel?

> 
> 							Thanx, Paul
> 
>> DJ
>>
>>>
>>>
>>> Bisect Log:
>>>
>>> git bisect log
>>> git bisect start
>>> # status: waiting for both good and bad commits
>>> # bad: [c4d4884b67802c41fd67399747165d65c770621a] Add linux-next specific files for 20250318
>>> git bisect bad c4d4884b67802c41fd67399747165d65c770621a
>>> # status: waiting for good commit(s), bad commit known
>>> # good: [4701f33a10702d5fc577c32434eb62adde0a1ae1] Linux 6.14-rc7
>>> git bisect good 4701f33a10702d5fc577c32434eb62adde0a1ae1
>>> # good: [cda4d1b29991d4500e9f65c6936b5d3ccd99ecbb] Merge branch 'spi-nor/next' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git
>>> git bisect good cda4d1b29991d4500e9f65c6936b5d3ccd99ecbb
>>> # good: [9b22611592aa21d10f7d1b89352a618436dea7ac] Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd.git
>>> git bisect good 9b22611592aa21d10f7d1b89352a618436dea7ac
>>> # good: [264791f7669a8246d129cbb935c861debba2f116] Merge branch 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
>>> git bisect good 264791f7669a8246d129cbb935c861debba2f116
>>> # good: [3c51cb2d6ec7cecf724cd5d78a0633f61f31e726] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc/linux.git
>>> git bisect good 3c51cb2d6ec7cecf724cd5d78a0633f61f31e726
>>> # good: [612481dbc16505cf5e940809ebf36d8460d174cf] Merge branch 'main' of git://git.infradead.org/users/willy/xarray.git
>>> git bisect good 612481dbc16505cf5e940809ebf36d8460d174cf
>>> # bad: [892715be4379deb333376e573113fd75672eca6c] Merge branch 'rust-next' of https://github.com/Rust-for-Linux/linux.git
>>> git bisect bad 892715be4379deb333376e573113fd75672eca6c
>>> # bad: [b33f4167a8a2b9b9cc6b3e06f79b030db82cf530] Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl.git
>>> git bisect bad b33f4167a8a2b9b9cc6b3e06f79b030db82cf530
>>> # good: [3b5d43245f0a56390baaa670e1b6d898772266b3] Merge branch 'for-6.15/features' into cxl-for-next
>>> git bisect good 3b5d43245f0a56390baaa670e1b6d898772266b3
>>> # good: [d11af4ae2169672b690a4d07a9dfdfd76c082683] Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay.git
>>> git bisect good d11af4ae2169672b690a4d07a9dfdfd76c082683
>>> # bad: [5908f3ed6dc209e5c824e63afda7545805f75a7e] cxl: Add support to handle user feature commands for get feature
>>> git bisect bad 5908f3ed6dc209e5c824e63afda7545805f75a7e
>>> # good: [18285acc2c047cda2449f426c09fc8969b04b8b1] fwctl: Add documentation
>>> git bisect good 18285acc2c047cda2449f426c09fc8969b04b8b1
>>> # good: [15a26c223fff58d9fa4ada12a8c35697f8ecdf6c] Merge branch 'for-6.15/features' into fwctl
>>> git bisect good 15a26c223fff58d9fa4ada12a8c35697f8ecdf6c
>>> # bad: [9b8e73cdb1418f7c251c43b2082218ed9c0d0fee] cxl: Move cxl feature command structs to user header
>>> git bisect bad 9b8e73cdb1418f7c251c43b2082218ed9c0d0fee
>>> # good: [858ce2f56b5253063f61f6b1c58a6dbf5d71da0b] cxl: Add FWCTL support to CXL
>>> git bisect good 858ce2f56b5253063f61f6b1c58a6dbf5d71da0b
>>> # first bad commit: [9b8e73cdb1418f7c251c43b2082218ed9c0d0fee] cxl: Move cxl feature command structs to user header
>>>
>>> 9b8e73cdb1418f7c251c43b2082218ed9c0d0fee is the first bad commit
>>> commit 9b8e73cdb1418f7c251c43b2082218ed9c0d0fee
>>> Author: Dave Jiang <[email-masked]>
>>> Date:  Fri Mar 7 13:55:32 2025 -0700
>>>
>>>   cxl: Move cxl feature command structs to user header
>>>
>>>   In preparation for cxl fwctl enabling, move data structures related to
>>>   cxl feature commands to a user header file.
>>>
>>>   Reviewed-by; Jonathan Cameron <[email-masked]>
>>>
>>>   Link: https://patch.msgid.link/r/[email-masked]
>>>   Reviewed-by: Dan Williams <[email-masked]>
>>>   Reviewed-by: Li Ming <[email-masked]>
>>>   Signed-off-by: Dave Jiang <[email-masked]>
>>>   Signed-off-by: Jason Gunthorpe <[email-masked]>
>>>
>>>  include/cxl/features.h   | 112 +----------------------------
>>>  include/uapi/cxl/features.h | 169 ++++++++++++++++++++++++++++++++++++++++++++
>>>  2 files changed, 170 insertions(+), 111 deletions(-)
>>>  create mode 100644 include/uapi/cxl/features.h
>>>
>>>
>>> Regards,
>>>
>>> Venkat.
>>>
>>