draios / sysdig

Linux system exploration and troubleshooting tool with first class support for containers
http://www.sysdig.com/
Other
7.76k stars 728 forks source link

sysdig install breaking on Centos 7 - error adding symbols: File format not recognized #1941

Closed perfecto25 closed 1 year ago

perfecto25 commented 1 year ago

tried installing sysdig on physical Dell Poweredge R740 running Centos 7 x64

CentOS Linux release 7.7.1908 (Core)
Linux qbtch4 3.10.0-1160.80.1.el7.x86_64 #1 SMP Tue Nov 8 15:48:59 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

root@qbtch4:yum.repos.d $ rpm -qa | grep dkms
sfc-dkms-4.8.2.1004-0.sf.1.noarch
onload-dkms-7.0.0.176-0.noarch
dkms-3.0.8-1.el7.noarch

during RPM install, getting this error,

root@qbtch4:yum.repos.d $ yum install sysdig
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirror.siena.edu
 * elrepo: ftp.osuosl.org
 * epel: epel.mirror.shastacoe.net
 * extras: la.mirrors.clouvider.net
 * updates: atl.mirrors.clouvider.net
Resolving Dependencies
--> Running transaction check
---> Package sysdig.x86_64 0:0.30.2-1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================================================================================================================================================================================================
 Package                                                                      Arch                                                                         Version                                                                         Repository                                                                    Size
==============================================================================================================================================================================================================================================================================================================================
Installing:
 sysdig                                                                       x86_64                                                                       0.30.2-1                                                                        draios                                                                        12 M

Transaction Summary
==============================================================================================================================================================================================================================================================================================================================
Install  1 Package

Total download size: 12 M
Installed size: 39 M
Is this ok [y/d/N]: y
Downloading packages:
sysdig-0.30.2-x86_64.rpm                                                                                                                                                                                                                                                                               |  12 MB  00:00:04     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : sysdig-0.30.2-1.x86_64                                                                                                                                                                                                                                                                                     1/1 
Creating symlink /var/lib/dkms/scap/3.0.1+driver/source -> /usr/src/scap-3.0.1+driver
Sign command: /lib/modules/3.10.0-1160.80.1.el7.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub
Certificate or key are missing, generating self signed certificate for MOK...

Building module:
Cleaning build area...
make -j23 KERNELRELEASE=3.10.0-1160.80.1.el7.x86_64 -C /lib/modules/3.10.0-1160.80.1.el7.x86_64/build M=/var/lib/dkms/scap/3.0.1+driver/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.10.0-1160.80.1.el7.x86_64 (x86_64)
Consult /var/lib/dkms/scap/3.0.1+driver/build/make.log for more information.
Sign command: /lib/modules/3.10.0-1160.80.1.el7.x86_64/build/scripts/sign-file
Signing key: /var/lib/dkms/mok.key
Public certificate (MOK): /var/lib/dkms/mok.pub

Building module:
Cleaning build area...
make -j23 KERNELRELEASE=3.10.0-1160.80.1.el7.x86_64 -C /lib/modules/3.10.0-1160.80.1.el7.x86_64/build M=/var/lib/dkms/scap/3.0.1+driver/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 3.10.0-1160.80.1.el7.x86_64 (x86_64)
Consult /var/lib/dkms/scap/3.0.1+driver/build/make.log for more information.
warning: %post(sysdig-0.30.2-1.x86_64) scriptlet failed, exit status 10
Non-fatal POSTIN scriptlet failure in rpm package sysdig-0.30.2-1.x86_64
  Verifying  : sysdig-0.30.2-1.x86_64                                                                                                                                                                                                                                                                                     1/1 

Installed:
  sysdig.x86_64 0:0.30.2-1                                                                                                                                                                                                                                                                                                    

Complete!

make log

DKMS make.log for scap-3.0.1+driver for kernel 3.10.0-1160.80.1.el7.x86_64 (x86_64)
Tue Dec 13 11:13:21 CST 2022
make: Entering directory `/usr/src/kernels/3.10.0-1160.80.1.el7.x86_64'
  LD      /var/lib/dkms/scap/3.0.1+driver/build/built-in.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/main.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/dynamic_params_table.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/fillers_table.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/flags_table.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/ppm_events.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/ppm_fillers.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/event_table.o
In file included from /var/lib/dkms/scap/3.0.1+driver/build/dynamic_params_table.c:10:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/syscall_table.o
In file included from /var/lib/dkms/scap/3.0.1+driver/build/fillers_table.c:9:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
In file included from /var/lib/dkms/scap/3.0.1+driver/build/flags_table.c:10:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/ppm_cputime.o
  CC [M]  /var/lib/dkms/scap/3.0.1+driver/build/tp_table.o
In file included from /var/lib/dkms/scap/3.0.1+driver/build/event_table.c:10:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
In file included from /var/lib/dkms/scap/3.0.1+driver/build/main.c:55:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
In file included from /var/lib/dkms/scap/3.0.1+driver/build/ppm_events.c:89:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
In file included from /var/lib/dkms/scap/3.0.1+driver/build/ppm_cputime.c:34:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
In file included from /var/lib/dkms/scap/3.0.1+driver/build/syscall_table.c:47:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
/var/lib/dkms/scap/3.0.1+driver/build/ppm_cputime.c: In function ‘ppm_task_cputime_adjusted’:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_cputime.c:297:2: warning: passing argument 2 of ‘cputime_adjust’ from incompatible pointer type [enabled by default]
  cputime_adjust(&cputime, &p->prev_cputime, ut, st);
  ^
/var/lib/dkms/scap/3.0.1+driver/build/ppm_cputime.c:233:13: note: expected ‘struct cputime *’ but argument is of type ‘struct prev_cputime *’
 static void cputime_adjust(struct task_cputime *curr,
             ^
In file included from /var/lib/dkms/scap/3.0.1+driver/build/ppm_fillers.c:91:0:
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events_public.h:19:7: warning: "__USE_VMLINUX__" is not defined [-Wundef]
 #elif __USE_VMLINUX__ 
       ^
/var/lib/dkms/scap/3.0.1+driver/build/ppm_events.o: warning: objtool: .altinstr_replacement+0x0: call without frame pointer save/setup
  LD [M]  /var/lib/dkms/scap/3.0.1+driver/build/scap.o
ld: /var/lib/dkms/scap/3.0.1+driver/build/tp_table.o: invalid string offset 1852793702 >= 21 for section `mtab'
/var/lib/dkms/scap/3.0.1+driver/build/tp_table.o: error adding symbols: File format not recognized
make[1]: *** [/var/lib/dkms/scap/3.0.1+driver/build/scap.o] Error 1
make: *** [_module_/var/lib/dkms/scap/3.0.1+driver/build] Error 2
make: Leaving directory `/usr/src/kernels/3.10.0-1160.80.1.el7.x86_64'

kernel headers are installed

root@qbtch4:yum.repos.d $ rpm -qa | grep kernel
kernel-tools-libs-3.10.0-1160.80.1.el7.x86_64
kernel-headers-3.10.0-1160.80.1.el7.x86_64
kernel-devel-3.10.0-1160.80.1.el7.x86_64
kernel-tools-3.10.0-1160.80.1.el7.x86_64
texlive-l3kernel-svn29409.SVN_4469-43.el7.noarch
kernel-3.10.0-1160.80.1.el7.x86_64
abrt-addon-kerneloops-2.1.11-55.el7.centos.x86_64
kernel-ml-5.2.9-1.el7.elrepo.x86_64
kmod-mlnx-ofa_kernel-3.2-OFED.3.2.1.0.1.1.gc05c99f.rhel7u2.x86_64
kernel-devel-3.10.0-1160.76.1.el7.x86_64
kernel-3.10.0-1160.76.1.el7.x86_64
FedeDP commented 1 year ago

Hi! Thanks for opening this issue! Which gcc version are you using? We already saw a similar issue here: https://github.com/falcosecurity/driverkit/issues/236; it seems like a gcc/kver issue; that issue has the exact same version of yours.

perfecto25 commented 1 year ago

root@qbtch4:scap $ gcc --version gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-39)

root@qbtch4:scap $ rpm -qa | grep gcc compat-gcc-44-4.4.7-8.el7.x86_64 gcc-4.8.5-39.el7.x86_64 libgcc-4.8.5-39.el7.x86_64 gcc-c++-4.8.5-39.el7.x86_64 gcc-gfortran-4.8.5-39.el7.x86_64 compat-gcc-44-c++-4.4.7-8.el7.x86_64 libgcc-4.8.5-39.el7.i686

perfecto25 commented 1 year ago

I do have access to GCC 7.5, can I install it by using this newer GCC?

FedeDP commented 1 year ago

Mmmh you can try :/ As outlined here: https://github.com/falcosecurity/driverkit/issues/236#issuecomment-1320635131, it seems like the build works with:

Which binutils version are you on?

perfecto25 commented 1 year ago

looks like I have same versions

root@qbtm-uat:$ rpm -qa | grep binutils
devtoolset-7-binutils-2.28-11.el7.x86_64
binutils-2.27-44.base.el7_9.1.x86_64

root@qbtm-uat: $ rpm -qa | grep gcc
gcc-gfortran-4.8.5-44.el7.x86_64
libgcc-4.8.5-44.el7.i686
devtoolset-7-gcc-7.3.1-5.16.el7.x86_64
devtoolset-7-gcc-gfortran-7.3.1-5.16.el7.x86_64
libgcc-4.8.5-44.el7.x86_64
devtoolset-7-gcc-c++-7.3.1-5.16.el7.x86_64
gcc-c++-4.8.5-44.el7.x86_64
gcc-4.8.5-44.el7.x86_64
FedeDP commented 1 year ago

That's weird :/ are you able to try with a different gcc? Let's try with gcc 7.5!

therealbobo commented 1 year ago

Hi @perfecto25! Any update on this? 😄

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.