Package: mol-modules-source Version: 0.9.71.dfsg-1 Severity: grave Justification: renders package unusable
In the "mol-modules-source" package, the file "modules/mol/kmod/_fault.c" fails to build for at least 2 reasons: - Linux v2.6.18 contains a conflicting declaration of "flush_hash_page": In file included from /usr/src/modules/mol/kmod/_fault.c:17: /usr/src/modules/mol/kmod/archinclude.h:45: error: conflicting types for 'flush_hash_page' include/asm/tlbflush.h:51: error: previous declaration of 'flush_hash_page' was here This is easily fixed by removing line 45 in archinclude.h: extern int flush_hash_page( unsigned context, unsigned long va, pte_t *ptep ); /* 2.5 */ It is never used when building against a 2.6 kernel, as the following lines show: #ifdef LINUX_26 #define compat_flush_hash_pages flush_hash_pages #define compat_hash_table_lock mmu_hash_lock #else #define compat_flush_hash_pages flush_hash_page #define compat_hash_table_lock hash_table_lock #endif - More seriously, the build breaks on 64-bit kernels (i.e. G5), for the following reason: /usr/src/modules/mol/kmod/_fault.c: In function 'get_phys_page': /usr/src/modules/mol/kmod/_fault.c:75: error: 'struct thread_struct' has no member named 'pgdir' /usr/src/modules/mol/kmod/_fault.c:80: warning: cast from pointer to integer of different size /usr/src/modules/mol/kmod/_fault.c: In function 'dbg_get_linux_page': /usr/src/modules/mol/kmod/_fault.c:136: error: 'struct thread_struct' has no member named 'pgdir' /usr/src/modules/mol/kmod/_fault.c:141: warning: cast from pointer to integer of different size make[5]: *** [/usr/src/modules/mol/kmod/_fault.o] Error 1 If you look in the definition of "thread_struct" in <kernelroot>/include/asm-powerpc/processor.h, you see why: struct thread_struct { unsigned long ksp; /* Kernel stack pointer */ #ifdef CONFIG_PPC64 unsigned long ksp_vsid; #endif struct pt_regs *regs; /* Pointer to saved register state */ mm_segment_t fs; /* for get_fs() validation */ #ifdef CONFIG_PPC32 void *pgdir; /* root of page-table tree */ signed long last_syscall; #endif In other words - "pgdir" is only defined on 32-bit PPCs. I WANT A WORKAROUND!! NOW!! :-) Thanks, -tor By the way - thanks for an otherwise great package! -- System Information: Debian Release: testing/unstable APT prefers unstable APT policy: (500, 'unstable'), (500, 'testing') Architecture: powerpc (ppc64) Shell: /bin/sh linked to /bin/bash Kernel: Linux 2.6.18-1-powerpc64 Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) Versions of packages mol-modules-source depends on: ii gcc 4:4.1.1-11 The GNU C compiler ii libc6-dev 2.3.6.ds1-6 GNU C Library: Development Librari ii make 3.81-3 The GNU version of the "make" util Versions of packages mol-modules-source recommends: ii debhelper 5.0.40 helper programs for debian/rules ii kernel-package 10.062 A utility for building Linux kerne ii m4 1.4.7-1 a macro processing language -- no debconf information -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]