linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Maguire <alan.maguire@oracle.com>
To: Namhyung Kim <namhyung@kernel.org>, Quentin Monnet <qmo@kernel.org>
Cc: KP Singh <kpsingh@kernel.org>,
	bpf@vger.kernel.org, linux-perf-users@vger.kernel.org
Subject: Re: [BUG] bpftool: Build failure due to opensslv.h
Date: Tue, 25 Nov 2025 09:03:38 +0000	[thread overview]
Message-ID: <2c94add3-3cb6-41e9-8031-619c996aaf18@oracle.com> (raw)
In-Reply-To: <aSTDLrUqeZ3xwEhA@google.com>

On 24/11/2025 20:42, Namhyung Kim wrote:
> On Thu, Nov 20, 2025 at 09:24:49AM +0000, Quentin Monnet wrote:
>> 2025-11-19 17:56 UTC-0800 ~ Namhyung Kim <namhyung@kernel.org>
>>> Hello,
>>>
>>> On Tue, Oct 28, 2025 at 10:20:22AM +0000, Alan Maguire wrote:
>>>> On 28/10/2025 09:05, Quentin Monnet wrote:
>>>>> 2025-10-27 11:27 UTC-0700 ~ Namhyung Kim <namhyung@kernel.org>
>>>>>> On Mon, Oct 27, 2025 at 11:41:01AM +0000, Quentin Monnet wrote:
>>>>>>> 2025-10-26 21:01 UTC-0700 ~ Namhyung Kim <namhyung@kernel.org>
>>>>>>>> Hello,
>>>>>>>>
>>>>>>>> I'm seeing a build failure like below in Fedora 40 and others.  I'm not
>>>>>>>> sure if it's reported already but it failed to build perf tools due to
>>>>>>>> errors in the bootstrap bpftool.
>>>>>>>>
>>>>>>>>     CC      /build/util/bpf_skel/.tmp/bootstrap/sign.o
>>>>>>>>   sign.c:16:10: fatal error: openssl/opensslv.h: No such file or directory
>>>>>>>>      16 | #include <openssl/opensslv.h>
>>>>>>>>         |          ^~~~~~~~~~~~~~~~~~~~
>>>>>>>>   compilation terminated.
>>>>>>>>   make[3]: *** [Makefile:256: /build/util/bpf_skel/.tmp/bootstrap/sign.o] Error 1
>>>>>>>>   make[3]: *** Waiting for unfinished jobs....
>>>>>>>>   make[2]: *** [Makefile.perf:1213: /build/util/bpf_skel/.tmp/bootstrap/bpftool] Error 2
>>>>>>>>   make[1]: *** [Makefile.perf:289: sub-make] Error 2
>>>>>>>>   make: *** [Makefile:76: all] Error 2
>>>>>>>>
>>>>>>>> I think it's from the recent signing change.  I'm not familiar with
>>>>>>>> openssl but I guess there's a proper feature check for it.  Is this a
>>>>>>>> known issue?
>>>>>>>
>>>>>>>
>>>>>>> Hi Namhyung,
>>>>>>
>>>>>> Hello!
>>>>>>
>>>>>>>
>>>>>>> This looks related to the program signing change indeed, commit
>>>>>>> 40863f4d6ef2 ("bpftool: Add support for signing BPF programs")
>>>>>>> introduced a dependency on OpenSSL's development headers for bpftool.
>>>>>>> It's not gated behind a feature check. On Fedora, I think the headers
>>>>>>> come with openssl-devel, do you have this package installed?
>>>>>>
>>>>>> No I don't, but I guess it should be able to build on such systems.  Or
>>>>>> is it required for bpftool?  Anyway I feel like it should have a feature
>>>>>> check and appropriate error messages.
>>>>>>
>>>>>
>>>>> +Cc KP
>>>>>
>>>>> We usually have feature checks when optional features bring in new
>>>>> dependencies for bpftool, but we haven't discussed it this time. My
>>>>> understanding was that program signing is important enough that it
>>>>> should always be present in newer versions of bpftool, making OpenSSL
>>>>> one of the required dependencies going forward.
>>>>>
>>>>> We don't currently have feature checks to tell when required
>>>>> dependencies are missing for bpftool (it's just the build failing, in
>>>>> that case). I know perf does a great job at it, we could look into it
>>>>> for bpftool, too.
>>>>>
>>>>
>>>> One issue here is that some distros package openssl v3 such that the
>>>> #include files are in /usr/include/openssl3 and libraries in
>>>> /usr/lib64/openssl3 so that older versions can co-exist. Maybe we could
>>>> figure out a feature test that handles that too?
>>>
>>> What's the state of this?  Is the fix in the bpf tree now?
>>
>>
>> Hi Namhyung, Alan just submitted a v2 of his patch (targetting
>> bpf-next), see:
>>
>> https://lore.kernel.org/all/20251120084754.640405-2-alan.maguire@oracle.com/
>  
> Hello Quentin,
> 
> I'm afraid it doesn't fix my issue.  It seems to fix another problem
> about the error API.  But I still see the build failure.
>

This header file is delivered by openssl-devel (could be openssl-dev on
some distros). Looking at [1], it seems like that package has been a
requirement to build kernels from 4.3 on. Is it missing on your system,
installed to an unusual path like /usr/include/opensslv3, or is the
package perhaps missing some header files?

Alan

[1] https://docs.kernel.org/process/changes.html

> Thanks,
> Namhyung
> 
> 


  reply	other threads:[~2025-11-25  9:04 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-10-27  4:01 [BUG] bpftool: Build failure due to opensslv.h Namhyung Kim
2025-10-27 11:41 ` Quentin Monnet
2025-10-27 18:27   ` Namhyung Kim
2025-10-28  9:05     ` Quentin Monnet
2025-10-28 10:20       ` Alan Maguire
2025-11-20  1:56         ` Namhyung Kim
2025-11-20  9:24           ` Quentin Monnet
2025-11-24 20:42             ` Namhyung Kim
2025-11-25  9:03               ` Alan Maguire [this message]
2025-11-26 18:33                 ` Namhyung Kim
2025-11-27 17:44                   ` Quentin Monnet
2025-11-27 20:37                     ` Namhyung Kim
2025-10-30  5:44       ` Namhyung Kim

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2c94add3-3cb6-41e9-8031-619c996aaf18@oracle.com \
    --to=alan.maguire@oracle.com \
    --cc=bpf@vger.kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=namhyung@kernel.org \
    --cc=qmo@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).