Passerini Marco
2022-Apr-19  14:56 UTC
[CentOS] Kernel rebuild failling on Centos 7: missing libbpf-devel and dwarves rpm too old
Hi,
I'm trying to rebuild the kernel specifically on Centos7 from src.rpm but
some packages are missing or too old. I managed to get them and compile on
Centos8 though. Any advice?
# yumdownloader --source kernel.src
# rpm -ivh ./kernel-4.18.0-348.20.1.el7.src.rpm
#  rpmbuild -bb --target=`uname -m`  ~/rpmbuild/SPECS/kernel.spec
Building target platforms: x86_64
Building for target x86_64
error: Failed build dependencies:
    libbpf-devel is needed by kernel-4.18.0-348.20.1.el7.x86_64
    rpm < 4.13.0.1-19 conflicts with kernel-4.18.0-348.20.1.el7.x86_64
    dwarves < 1.13 conflicts with kernel-4.18.0-348.20.1.el7.x86_64
# rpm -q dwarves
dwarves-1.10-1.el7.x86_64
# rpm -q rpm
rpm-4.11.3-48.el7_9.x86_64
# yum search libbpf-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: de.mirrors.clouvider.net
 * centos-sclo-rh: ftp.tu-chemnitz.de
 * centos-sclo-sclo: centos.mirrors.psw.services
 * epel: ftp.uni-kl.de
 * extras: mirror.imt-systems.com
 * updates: centos.mirror.iphh.net
Warning: No matches found for: libbpf-devel
No matches found
# yum info rpm
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: de.mirrors.clouvider.net
 * centos-sclo-rh: ftp.tu-chemnitz.de
 * centos-sclo-sclo: mirror.softaculous.com
 * epel: mirror.nextlayer.at
 * extras: mirror.imt-systems.com
 * updates: centos.mirror.iphh.net
Installed Packages
Name        : rpm
Arch        : x86_64
Version     : 4.11.3
Release     : 48.el7_9
Size        : 2.5 M
Repo        : installed>From repo   : updates
Summary     : The RPM package management system
URL         : http://www.rpm.org/
License     : GPLv2+
Description : The RPM Package Manager (RPM) is a powerful command line driven
            : package management system capable of installing, uninstalling,
            : verifying, querying, and updating software packages. Each software
            : package consists of an archive of files along with information
about
            : the package like its version, a description, etc.
# yum info dwarves
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: de.mirrors.clouvider.net
 * centos-sclo-rh: ftp.tu-chemnitz.de
 * centos-sclo-sclo: ftp.antilo.de
 * epel: mirror.de.leaseweb.net
 * extras: mirror.imt-systems.com
 * updates: centos.mirror.iphh.net
Installed Packages
Name        : dwarves
Arch        : x86_64
Version     : 1.10
Release     : 1.el7
Size        : 199 k
Repo        : installed>From repo   : epel
Summary     : Debugging Information Manipulation Tools
URL         : http://oops.ghostprotocols.net:81/blog
License     : GPLv2
Description : dwarves is a set of tools that use the debugging information
inserted in
            : ELF binaries by compilers such as GCC, used by well known
debuggers such as
            : GDB, and more recent ones such as systemtap.
            :
            : Utilities in the dwarves suite include pahole, that can be used to
find
            : alignment holes in structs and classes in languages such as C,
C++, but not
            : limited to these.
            :
            : It also extracts other information such as CPU cacheline
alignment, helping
            : pack those structures to achieve more cache hits.
            :
            : A diff like tool, codiff can be used to compare the effects
changes in source
            : code generate on the resulting binaries.
            :
            : Another tool is pfunct, that can be used to find all sorts of
information about
            : functions, inlines, decisions made by the compiler about inlining,
etc.
Regards,
Marco Passerini
Phil Perry
2022-Apr-19  15:46 UTC
[CentOS] Kernel rebuild failling on Centos 7: missing libbpf-devel and dwarves rpm too old
On 19/04/2022 15:56, Passerini Marco wrote:> Hi, > > > I'm trying to rebuild the kernel specifically on Centos7 from src.rpm but some packages are missing or too old. I managed to get them and compile on Centos8 though. Any advice? > > > # yumdownloader --source kernel.src > > # rpm -ivh ./kernel-4.18.0-348.20.1.el7.src.rpm > > # rpmbuild -bb --target=`uname -m` ~/rpmbuild/SPECS/kernel.spec > Building target platforms: x86_64 > Building for target x86_64 > error: Failed build dependencies: > libbpf-devel is needed by kernel-4.18.0-348.20.1.el7.x86_64 > rpm < 4.13.0.1-19 conflicts with kernel-4.18.0-348.20.1.el7.x86_64 > dwarves < 1.13 conflicts with kernel-4.18.0-348.20.1.el7.x86_64 >You seem to be trying to build an el8 kernel source on el7?> # rpm -q dwarves > dwarves-1.10-1.el7.x86_64 > > # rpm -q rpm > rpm-4.11.3-48.el7_9.x86_64 > > # yum search libbpf-devel > Loaded plugins: fastestmirror > Loading mirror speeds from cached hostfile > * base: de.mirrors.clouvider.net > * centos-sclo-rh: ftp.tu-chemnitz.de > * centos-sclo-sclo: centos.mirrors.psw.services > * epel: ftp.uni-kl.de > * extras: mirror.imt-systems.com > * updates: centos.mirror.iphh.net > Warning: No matches found for: libbpf-devel > No matches found > > # yum info rpm > Loaded plugins: fastestmirror > Loading mirror speeds from cached hostfile > * base: de.mirrors.clouvider.net > * centos-sclo-rh: ftp.tu-chemnitz.de > * centos-sclo-sclo: mirror.softaculous.com > * epel: mirror.nextlayer.at > * extras: mirror.imt-systems.com > * updates: centos.mirror.iphh.net > Installed Packages > Name : rpm > Arch : x86_64 > Version : 4.11.3 > Release : 48.el7_9 > Size : 2.5 M > Repo : installed >>From repo : updates > Summary : The RPM package management system > URL : http://www.rpm.org/ > License : GPLv2+ > Description : The RPM Package Manager (RPM) is a powerful command line driven > : package management system capable of installing, uninstalling, > : verifying, querying, and updating software packages. Each software > : package consists of an archive of files along with information about > : the package like its version, a description, etc. > > # yum info dwarves > Loaded plugins: fastestmirror > Loading mirror speeds from cached hostfile > * base: de.mirrors.clouvider.net > * centos-sclo-rh: ftp.tu-chemnitz.de > * centos-sclo-sclo: ftp.antilo.de > * epel: mirror.de.leaseweb.net > * extras: mirror.imt-systems.com > * updates: centos.mirror.iphh.net > Installed Packages > Name : dwarves > Arch : x86_64 > Version : 1.10 > Release : 1.el7 > Size : 199 k > Repo : installed >>From repo : epel > Summary : Debugging Information Manipulation Tools > URL : http://oops.ghostprotocols.net:81/blog > License : GPLv2 > Description : dwarves is a set of tools that use the debugging information inserted in > : ELF binaries by compilers such as GCC, used by well known debuggers such as > : GDB, and more recent ones such as systemtap. > : > : Utilities in the dwarves suite include pahole, that can be used to find > : alignment holes in structs and classes in languages such as C, C++, but not > : limited to these. > : > : It also extracts other information such as CPU cacheline alignment, helping > : pack those structures to achieve more cache hits. > : > : A diff like tool, codiff can be used to compare the effects changes in source > : code generate on the resulting binaries. > : > : Another tool is pfunct, that can be used to find all sorts of information about > : functions, inlines, decisions made by the compiler about inlining, etc. > > > > Regards, > Marco Passerini > _______________________________________________ > CentOS mailing list > CentOS at centos.org > https://lists.centos.org/mailman/listinfo/centos