While investigating a compilation problem of samhain, I found that the /usr/include/asm/mpspec.h is totally different from what is provided by RH or the stock kernel. I am not knowledgeable enough to understand the differences, but debian version includes 3 files in it
#include <linux/cpumask.h> #include <asm/mpspec_def.h> #include <mach_mpspec.h>
of which mach_mpspec.h is missing.
agni:~/samhain-1.7.11# find /usr/include/ -name mach_mpspec.h /usr/include/asm/mach-generic/mach_mpspec.h /usr/include/asm/mach-default/mach_mpspec.h /usr/include/asm/mach-bigsmp/mach_mpspec.h /usr/include/asm/mach-es7000/mach_mpspec.h /usr/include/asm/mach-numaq/mach_mpspec.h /usr/include/asm/mach-summit/mach_mpspec.h
samhain compilation fails due to this. I guess it is a case of a missing symlink, so my questions are, why debian version is different and how to rectify the situation?
the samhain compilation error is attached. i am using stock Sarge,
uname -a Linux agni 2.4.22-1-386 #9 Sat Oct 4 14:30:39 EST 2003 i586 GNU/Linux
Kernel packages are:
ii kernel-headers-2.4.22-1 2.4.22-3 ii kernel-headers-2.4.22-1-386 2.4.22-3 ii kernel-image-2.4.22-1-386 2.4.22-3 ii linux-kernel-headers 2.5.999-test7-bk-9
raj
--
compilation error:
./encode 0 sh_unix.c --> x_sh_unix.c
gcc -DHAVE_CONFIG_H -I. -I. -O2 -Wall -W -fno-strength-reduce -fno-omit-fram
e-pointer -DSH_STANDALONE -o sh_unix.o -c x_sh_unix.c
In file included from /usr/include/linux/blockgroup_lock.h:8,
from /usr/include/linux/ext2_fs_sb.h:19,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/linux/spinlock.h: In function `bit_spin_lock':
/usr/include/linux/spinlock.h:413: error: invalid type argument of `->'
/usr/include/linux/spinlock.h: In function `bit_spin_trylock':
/usr/include/linux/spinlock.h:430: error: invalid type argument of `->'
/usr/include/linux/spinlock.h:433: error: invalid type argument of `->'
/usr/include/linux/spinlock.h:433: error: `TIF_NEED_RESCHED' undeclared (first u
se in this function)
/usr/include/linux/spinlock.h:433: error: (Each undeclared identifier is reporte
d only once
/usr/include/linux/spinlock.h:433: error: for each function it appears in.)
In file included from /usr/include/linux/blockgroup_lock.h:8,
from /usr/include/linux/ext2_fs_sb.h:19,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/linux/spinlock.h: In function `bit_spin_unlock':
/usr/include/linux/spinlock.h:451: error: invalid type argument of `->'
/usr/include/linux/spinlock.h:451: error: `TIF_NEED_RESCHED' undeclared (first u
se in this function)
In file included from /usr/include/linux/cpumask.h:8,
from /usr/include/asm/smp.h:11,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/linux/bitmap.h: In function `bitmap_empty':
/usr/include/linux/bitmap.h:15: error: `BITS_PER_LONG' undeclared (first use in
this function)
/usr/include/linux/bitmap.h: In function `bitmap_full':
/usr/include/linux/bitmap.h:29: error: `BITS_PER_LONG' undeclared (first use in
this function)
/usr/include/linux/bitmap.h: In function `bitmap_equal':
/usr/include/linux/bitmap.h:44: error: `BITS_PER_LONG' undeclared (first use in
this function)
/usr/include/linux/bitmap.h: In function `bitmap_shift_right':
/usr/include/linux/bitmap.h:85: error: `__shr_tmp' undeclared (first use in this
function)
/usr/include/linux/bitmap.h: In function `bitmap_shift_left':
/usr/include/linux/bitmap.h:98: error: `__shl_tmp' undeclared (first use in this
function)
/usr/include/linux/bitmap.h: In function `bitmap_weight':
/usr/include/linux/bitmap.h:144: error: `BITS_PER_LONG' undeclared (first use in
this function)
In file included from /usr/include/asm/smp.h:11,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/linux/cpumask.h: At top level:
/usr/include/linux/cpumask.h:15: error: variable-size type declared outside of a
ny function
In file included from /usr/include/asm/smp.h:11,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/linux/cpumask.h: In function `next_online_cpu':
/usr/include/linux/cpumask.h:56: error: structure has no member named `val'
In file included from /usr/include/asm/smp.h:16,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/asm/fixmap.h: At top level:
/usr/include/asm/fixmap.h:72: error: `FIX_ACPI_PAGES' undeclared here (not in a
function)
/usr/include/asm/fixmap.h:72: error: enumerator value for `FIX_ACPI_END' not int
eger constant
/usr/include/asm/fixmap.h:84: error: parse error before "pgprot_t"
In file included from /usr/include/asm/smp.h:18,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/asm/mpspec.h:6:25: mach_mpspec.h: No such file or directory
In file included from /usr/include/asm/smp.h:18,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/asm/mpspec.h:8: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/include/asm/mpspec.h:9: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/include/asm/mpspec.h:10: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/include/asm/mpspec.h:12: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/include/asm/mpspec.h:19: error: `MAX_APICS' undeclared here (not in a function)
/usr/include/asm/mpspec.h:20: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/include/asm/mpspec.h:20: error: conflicting types for `mp_bus_id_to_type'
/usr/include/asm/mpspec.h:8: error: previous declaration of `mp_bus_id_to_type'
/usr/include/asm/mpspec.h:22: error: `MAX_IRQ_SOURCES' undeclared here (not in a function)
/usr/include/asm/mpspec.h:24: error: `MAX_MP_BUSSES' undeclared here (not in a function)
/usr/include/asm/mpspec.h:24: error: conflicting types for `mp_bus_id_to_pci_bus'
/usr/include/asm/mpspec.h:12: error: previous declaration of `/usr/include/asm/mpspec.h:35: error: parse error before "id"
/usr/include/asm/mpspec.h:36: error: parse error before "address"
/usr/include/asm/mpspec.h:37: error: parse error before "id"
/usr/include/asm/mpspec.h:38: error: parse error before "bus_irq"
/usr/include/asm/mpspec.h:54: error: `MAX_APICS' undeclared here (not in a function)
/usr/include/asm/mpspec.h:54: error: variable-size type declared outside of any function
In file included from /usr/include/asm/smp.h:20,
from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/asm/io_apic.h:26: error: parse error before "u32"
/usr/include/asm/io_apic.h:28: error: parse error before "u32"
/usr/include/asm/io_apic.h:34: error: parse error before '}' token
/usr/include/asm/io_apic.h:37: error: parse error before "u32"
/usr/include/asm/io_apic.h:39: error: parse error before "u32"
/usr/include/asm/io_apic.h:45: error: parse error before '}' token
/usr/include/asm/io_apic.h:48: error: parse error before "u32"
/usr/include/asm/io_apic.h:50: error: parse error before "u32"
/usr/include/asm/io_apic.h:54: error: parse error before '}' token
mp_bus_id_to_pci_bus'
/usr/include/asm/io_apic.h:57: error: parse error before "u32"
/usr/include/asm/io_apic.h:59: error: parse error before "u32"
/usr/include/asm/io_apic.h:62: error: parse error before '}' token
/usr/include/asm/io_apic.h:120: error: `MAX_IRQ_SOURCES' undeclared here (not in a function)
/usr/include/asm/io_apic.h:120: error: conflicting types for `mp_irqs'
/usr/include/asm/mpspec.h:22: error: previous declaration of `mp_irqs'
In file included from /usr/include/linux/smp.h:17,
from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/asm/smp.h:73:26: mach_apicdef.h: No such file or directory
In file included from /usr/include/linux/percpu_counter.h:9,
from /usr/include/linux/ext2_fs_sb.h:20,
from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/linux/smp.h: In function `on_each_cpu':
/usr/include/linux/smp.h:65: error: invalid type argument of `->'
/usr/include/linux/smp.h:68: error: invalid type argument of `->'
/usr/include/linux/smp.h:68: error: `TIF_NEED_RESCHED' undeclared (first use in this function)
In file included from /usr/include/linux/ext2_fs.h:20,
from x_sh_unix.c:2124:
/usr/include/linux/ext2_fs_sb.h: At top level:
/usr/include/linux/ext2_fs_sb.h:48: error: parse error before "u32"
/usr/include/linux/ext2_fs_sb.h:50: error: parse error before '*' token
/usr/include/linux/ext2_fs_sb.h:55: error: parse error before '}' token
x_sh_unix.c: In function `sh_unix_getinfo_attr':
x_sh_unix.c:2190: warning: signed and unsigned type in conditional expression
gcc -O -o samhain samhain.o sh_unix.o sh_utils.o sh_error.o sh_files.o sh_getopt.o sh_readconf
.o sh_tiger0.o sh_tiger1.o sh_tiger2.o sh_tiger1_64.o sh_tiger2_64.o sh_hash.o sh_mail.o sh_mem.o
sh_entropy.o sh_forward.o sh_modules.o sh_utmp.o sh_kern.o sh_suidchk.o sh_srp.o sh_fifo.o sh_to
ols.o sh_html.o sh_gpg.o sh_cat.o sh_calls.o sh_extern.o sh_database.o sh_err_log.o sh_err_consol
e.o sh_err_syslog.o sh_schedule.o bignum.o trustfile.o rijndael-alg-fst.o rijndael-api-fst.o slib
.o zAVLTree.o -lnsl -lnsl -lresolv
gcc: sh_unix.o: No such file or directory
make: *** [samhain] Error 1
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]