linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Quentin Monnet <qmo@kernel.org>
To: Namhyung Kim <namhyung@kernel.org>,
	Alan Maguire <alan.maguire@oracle.com>
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: Thu, 27 Nov 2025 17:44:47 +0000	[thread overview]
Message-ID: <e44f70bf-8f50-4a4b-97b8-eaf988aabced@kernel.org> (raw)
In-Reply-To: <aSdH4ODr0qSrTqvp@google.com>

2025-11-26 10:33 UTC-0800 ~ Namhyung Kim <namhyung@kernel.org>
> Hello,
> 
> On Tue, Nov 25, 2025 at 09:03:38AM +0000, Alan Maguire wrote:
>> 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?
> 
> I think some of my test environments don't have openssl dev packages.
> I didn't know it was required for kernel builds but it wasn't for perf.
> If you guys require it for bpftool, maybe I can make perf disable BPF
> support in case openssl is missing.


Hi, yes OpenSSL is a required dependency for bpftool going forward,
sorry to hear it doesn't work well with your environment. I think
there's already an option to turn off BPF skeletons in perf, I'd try
running the Makefile with BUILD_BPF_SKEL=0 maybe.

Quentin

  reply	other threads:[~2025-11-27 17:44 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
2025-11-26 18:33                 ` Namhyung Kim
2025-11-27 17:44                   ` Quentin Monnet [this message]
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=e44f70bf-8f50-4a4b-97b8-eaf988aabced@kernel.org \
    --to=qmo@kernel.org \
    --cc=alan.maguire@oracle.com \
    --cc=bpf@vger.kernel.org \
    --cc=kpsingh@kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=namhyung@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).