elfmaster / taskverse

A tool like /bin/ps but uses /proc/kcore for walking the tasklist; this finds hidden processes
56 stars 13 forks source link

Lazy howto to port to Centos 7 #1

Open marksolaris opened 7 years ago

marksolaris commented 7 years ago

I did these mods to get it going on Centos/Redhat 7.2. Not 'real" diffs, but enough to hand edit in the fixes. Can close this issue as solved, keeping it here for the record.

Add requred RPMs
yum install kernel-devel
yum install libdwarf-devel

Fix kernel header paths for Centos/Redhat
--- taskverse-master/run.sh     2015-03-18 15:37:55.000000000 +1100
-ln -s /usr/src/linux-headers-`uname -r` linux-headers
+ln -s /usr/src/kernels/`uname -r` linux-headers

Hardcode in your current kernel - maybe uname -r works??
--- taskverse-master/Makefile   2015-03-18 15:37:55.000000000 +1100
-CFLAGS += -g -O2 -Wall -I./libdwarf/libdwarf
+CFLAGS += -g -O2 -Wall -I./libdwarf/libdwarf -I/usr/include/libdwarf -I/usr/src/kernels/3.10.0-229.11.1.el7.x86_64/include

Fix gcc errors
--- taskverse-master/dwarf_extract.c    2015-03-18 15:37:55.000000000 +1100
-} data_structure[4096] __attribute__((section(".data"))) = { [0 ... 4095] = 0 };
+} data_structure[4096];
+// } data_structure[4096] __attribute__((section(".data"))) = { [0 ... 4095] = 0 };
-       unsigned int padding_count, array_count, flag_count;
+       unsigned int array_count, flag_count;
-               for (flag_count = 0, padding_count = 0, array_count = 0, i = 0; i < member_count; i++) {
+               for (flag_count = 0, array_count = 0, i = 0; i < member_count; i++) {
-                               //fprintf(fp, "\tuint%d_t padding_%d;\n", get_int_size(data_structure[i].member_size), padding_count++);
elfmaster commented 7 years ago

Cool just noticed hah