diff mbox series

kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch

Message ID 39FF69551D01924F+20250326174156.390126-1-wangyuli@uniontech.com (mailing list archive)
State New
Headers show
Series kbuild: deb-pkg: Add libdw-dev:native to Build-Depends-Arch | expand

Commit Message

WangYuli March 26, 2025, 5:41 p.m. UTC
The dwarf.h header, which is included by
scripts/gendwarfksyms/gendwarfksyms.h, resides within the libdw-dev
package.

This portion of the code is compiled under the condition that
CONFIG_GENDWARFKSYMS is enabled.

Consequently, add libdw-dev to Build-Depends-Arch to prevent
unforeseen compilation failures.

Fix follow possible error:
  In file included from scripts/gendwarfksyms/cache.c:6:
  scripts/gendwarfksyms/gendwarfksyms.h:6:10: fatal error: 'dwarf.h' file not found
      6 | #iIn file included from nscripts/gendwarfksyms/symbols.cc:lude6 :
  <dwarf.hscripts/gendwarfksyms/gendwarfksyms.h>:6
  :      10| :          ^~~~~~~~~
  fatal error: 'dwarf.h' file not found
    6 | #include <dwarf.h>
      |          ^~~~~~~~~

Fixes: f28568841ae0 ("tools: Add gendwarfksyms")
Signed-off-by: WangYuli <wangyuli@uniontech.com>
---
 scripts/package/mkdebian | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sami Tolvanen March 26, 2025, 10:40 p.m. UTC | #1
Hi,

On Wed, Mar 26, 2025 at 11:06 AM WangYuli <wangyuli@uniontech.com> wrote:
>
> The dwarf.h header, which is included by
> scripts/gendwarfksyms/gendwarfksyms.h, resides within the libdw-dev
> package.
>
> This portion of the code is compiled under the condition that
> CONFIG_GENDWARFKSYMS is enabled.
>
> Consequently, add libdw-dev to Build-Depends-Arch to prevent
> unforeseen compilation failures.
>
> Fix follow possible error:
>   In file included from scripts/gendwarfksyms/cache.c:6:
>   scripts/gendwarfksyms/gendwarfksyms.h:6:10: fatal error: 'dwarf.h' file not found
>       6 | #iIn file included from nscripts/gendwarfksyms/symbols.cc:lude6 :
>   <dwarf.hscripts/gendwarfksyms/gendwarfksyms.h>:6

I think something went wrong when copying the error message?

>   :      10| :          ^~~~~~~~~
>   fatal error: 'dwarf.h' file not found
>     6 | #include <dwarf.h>
>       |          ^~~~~~~~~
>
> Fixes: f28568841ae0 ("tools: Add gendwarfksyms")
> Signed-off-by: WangYuli <wangyuli@uniontech.com>
> ---
>  scripts/package/mkdebian | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 0178000197fe..25edee97fff7 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -209,7 +209,7 @@ Rules-Requires-Root: no
>  Build-Depends: debhelper-compat (= 12)
>  Build-Depends-Arch: bc, bison, flex,
>   gcc-${host_gnu} <!pkg.${sourcename}.nokernelheaders>,
> - kmod, libelf-dev:native,
> + kmod, libdw-dev:native, libelf-dev:native,
>   libssl-dev:native, libssl-dev <!pkg.${sourcename}.nokernelheaders>,
>   python3:native, rsync
>  Homepage: https://www.kernel.org/

But the change looks correct to me. Thanks!

Reviewed-by: Sami Tolvanen <samitolvanen@google.com>

Sami
Petr Pavlu March 28, 2025, 10:19 a.m. UTC | #2
On 3/26/25 18:41, WangYuli wrote:
> The dwarf.h header, which is included by
> scripts/gendwarfksyms/gendwarfksyms.h, resides within the libdw-dev
> package.
> 
> This portion of the code is compiled under the condition that
> CONFIG_GENDWARFKSYMS is enabled.
> 
> Consequently, add libdw-dev to Build-Depends-Arch to prevent
> unforeseen compilation failures.
> 
> Fix follow possible error:
>   In file included from scripts/gendwarfksyms/cache.c:6:
>   scripts/gendwarfksyms/gendwarfksyms.h:6:10: fatal error: 'dwarf.h' file not found
>       6 | #iIn file included from nscripts/gendwarfksyms/symbols.cc:lude6 :
>   <dwarf.hscripts/gendwarfksyms/gendwarfksyms.h>:6
>   :      10| :          ^~~~~~~~~
>   fatal error: 'dwarf.h' file not found
>     6 | #include <dwarf.h>
>       |          ^~~~~~~~~
> 
> Fixes: f28568841ae0 ("tools: Add gendwarfksyms")
> Signed-off-by: WangYuli <wangyuli@uniontech.com>
> ---
>  scripts/package/mkdebian | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
> index 0178000197fe..25edee97fff7 100755
> --- a/scripts/package/mkdebian
> +++ b/scripts/package/mkdebian
> @@ -209,7 +209,7 @@ Rules-Requires-Root: no
>  Build-Depends: debhelper-compat (= 12)
>  Build-Depends-Arch: bc, bison, flex,
>   gcc-${host_gnu} <!pkg.${sourcename}.nokernelheaders>,
> - kmod, libelf-dev:native,
> + kmod, libdw-dev:native, libelf-dev:native,
>   libssl-dev:native, libssl-dev <!pkg.${sourcename}.nokernelheaders>,
>   python3:native, rsync
>  Homepage: https://www.kernel.org/

If scripts/package/mkdebian is updated in this way then I think
scripts/package/mkspec -> scripts/package/kernel.spec should be adjusted
as well for consistency.

File scripts/package/kernel.spec contains:
BuildRequires: (elfutils-libelf-devel or libelf-devel) flex

elfutils-libelf-devel is for Fedora/RH distros, libelf-devel is for
(open)SUSE.

If I'm looking correctly, a new dependency to make dwarf.h available for
both would be:
BuildRequires: elfutils-devel or libdw-devel
diff mbox series

Patch

diff --git a/scripts/package/mkdebian b/scripts/package/mkdebian
index 0178000197fe..25edee97fff7 100755
--- a/scripts/package/mkdebian
+++ b/scripts/package/mkdebian
@@ -209,7 +209,7 @@  Rules-Requires-Root: no
 Build-Depends: debhelper-compat (= 12)
 Build-Depends-Arch: bc, bison, flex,
  gcc-${host_gnu} <!pkg.${sourcename}.nokernelheaders>,
- kmod, libelf-dev:native,
+ kmod, libdw-dev:native, libelf-dev:native,
  libssl-dev:native, libssl-dev <!pkg.${sourcename}.nokernelheaders>,
  python3:native, rsync
 Homepage: https://www.kernel.org/