2.5.18 -- build failure -- suspend.c:1052: dereferencing pointer to incomplete type
I have included the error, the output of ver_linux and snippets of .config.
gcc -D__KERNEL__ -I/usr/src/linux-2.5.18/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon
-DKBUILD_BASENAME=suspend -DEXPORT_SYMTAB -c -o suspend.o suspend.csuspend.c: In function `freeze_processes':
suspend.c:240: warning: implicit declaration of function `signal_wake_up'suspend.c: In function `fill_suspend_header':
suspend.c:292: warning: comparison between pointer and integersuspend.c: In function `write_suspend_image':
suspend.c:436: warning: passing arg 3 of `get_swaphandle_info' from incompatible pointer type
suspend.c:435: warning: unused variable `dummy2'suspend.c: In function `count_and_copy_data_pages':
suspend.c:541: warning: passing arg 1 of `mmx_copy_page' makes pointer from integer without a cast
suspend.c:541: warning: passing arg 2 of `mmx_copy_page' makes pointer from integer without a castsuspend.c: In function `suspend_save_image':
suspend.c:729: warning: assignment makes integer from pointer without a castsuspend.c: In function `bdev_read_page':
suspend.c:1051: warning: implicit declaration of function `__bread'
suspend.c:1051: warning: assignment makes pointer from integer without a cast
suspend.c:1052: dereferencing pointer to incomplete type
suspend.c:1055: dereferencing pointer to incomplete type
suspend.c:1055: dereferencing pointer to incomplete type
suspend.c:1056: warning: implicit declaration of function `buffer_uptodate'
suspend.c:1057: warning: implicit declaration of function `brelse'suspend.c: In function `resume_try_to_read':
suspend.c:1071: warning: passing arg 1 of `name_to_kdev_t' discards qualifiers from pointer target type
suspend.c:1079: warning: unsigned int format, kdev_t arg (arg 2)
suspend.c:1069: warning: unused variable `blksize'suspend.c: At top level:
suspend.c:1232: warning: static declaration for `resume_setup' follows non-static
make[1]: *** [suspend.o] Error 1
make[1]: Leaving directory `/usr/src/linux-2.5.18/kernel'
I don't know what options might be involved in causing this build failure, so I will only include some of the higher level ones:
Linux turbulence.megapathdsl.net 2.5.17 #2 Tue May 21 16:06:13 PDT 2002 i686 unknown
Gnu C 3.0.4 Gnu make 3.79.1 binutils 2.11.90.0.8 util-linux 2.11f mount 2.11g modutils 2.4.14 e2fsprogs 1.26 reiserfsprogs 3.x.0j pcmcia-cs 3.1.22 PPP 2.4.1 isdn4k-utils 3.1pre1 Linux C Library 2.2.4 Dynamic linker (ldd) 2.2.4 Procps 2.0.7 Net-tools 1.60 Console-tools 0.3.3 Sh-utils 2.0.11 Modules Loaded snd-pcm-oss snd-mixer-oss snd-emu10k1 snd-pcm snd-timer snd-hwdep snd-util-mem snd-rawmidi snd-seq-device snd-ac97-codec floppy mousedev hid input ohci-hcd ehci-hcd ide-scsi ide-cd vfat fat usbcore rtc
CONFIG_X86=yCONFIG_ISA=yCONFIG_UID16=yCONFIG_EXPERIMENTAL=yCONFIG_NET=yCONFIG_SYSVIPC=yCONFIG_BSD_PROCESS_ACCT=yCONFIG_SYSCTL=yCONFIG_MODULES=yCONFIG_KMOD=yCONFIG_MK7=yCONFIG_NOHIGHMEM=yCONFIG_MTRR=yCONFIG_PREEMPT=yCONFIG_X86_UP_APIC=yCONFIG_X86_LOCAL_APIC=yCONFIG_HAVE_DEC_LOCK=yCONFIG_ACPI=yCONFIG_ACPI_BOOT=yCONFIG_ACPI_BUS=yCONFIG_ACPI_EC=yCONFIG_ACPI_INTERPRETER=yCONFIG_ACPI_PCI=yCONFIG_ACPI_POWER=yCONFIG_ACPI_SLEEP=yCONFIG_ACPI_SYSTEM=yCONFIG_ACPI_AC=yCONFIG_ACPI_BATTERY=yCONFIG_ACPI_BUTTON=yCONFIG_ACPI_FAN=yCONFIG_ACPI_PROCESSOR=yCONFIG_ACPI_THERMAL=yCONFIG_ACPI_DEBUG=yCONFIG_PCI=yCONFIG_PCI_GOANY=yCONFIG_PCI_BIOS=yCONFIG_PCI_DIRECT=yCONFIG_PCI_NAMES=yCONFIG_HOTPLUG=yCONFIG_SOFTWARE_SUSPEND=yCONFIG_DEBUG_KERNEL=yCONFIG_MAGIC_SYSRQ=y
Quoted 2 lines · Miles Lane
I have included the error, the output of
ver_linuxand snippets of .config.
I have not yet analyzed why I don't get this failunre, but does the following patch fix it for you?
Tim
kernel/suspend.c +1 -0
@@ -66,6 +66,7 @@#include <linux/swap.h> #include <linux/pm.h> #include <linux/device.h> +#include <linux/sched.h> #include <asm/uaccess.h> #include <asm/mmu_context.h>
Quoted 2 lines · Miles Lane
I have included the error, the output of
ver_linuxand snippets of .config.
[snip]
The buffer_head declaration was just moved into its own header.
kernel/suspend.c renamed from kernel/suspend.c.orig +1 -0
@@ -66,6 +66,7 @@#include <linux/swap.h> #include <linux/pm.h> #include <linux/device.h> +#include <linux/buffer_head.h> #include <asm/uaccess.h> #include <asm/mmu_context.h>
Signature · 1 line
Skip
Quoted 12 lines · Miles Lane
I have included the error, the output of
ver_linuxand snippets of .config.gcc -D__KERNEL__ -I/usr/src/linux-2.5.18/include -Wall
(quoted diff) +0
-3-Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -DKBUILD_BASENAME=suspend -DEXPORT_SYMTAB -c -o suspend.o suspend.c
suspend.c: In function `freeze_processes':
suspend.c:240: warning: implicit declaration of functionsignal_wake_up' suspend.c: In functionfill_suspend_header':
suspend.c:292: warning: comparison between pointer and integer
[ snip ]
Quoted 4 lines
I don't know what options might be involved in causing this build failure, so I will only include some of the higher level ones:
CONFIG_SOFTWARE_SUSPEND=y
^^^^^^^^^^^^^^^^^^^^^^^^^
This, I believe is what is causing it. in looking through the 2.5.18
patch, this is new to the kernel, and is a newly configurable option to the kernel. For testing, I could see you adding it in, but you need this? especially if you have APM or ACPI? This doesn't rely on those, but if you're using APM or ACPI for suspend, this really wouldn't be needed.
BL.
Signature · 4 lines
Brad Littlejohn | Email: [email protected] Unix Systems Administrator, | [email protected] Web + NewsMaster, BOFH.. Smeghead! :) | http://www.wizard.com/~tyketto PGP: 1024D/E319F0BF 6980 AAD6 7329 E9E6 D569 F620 C819 199A E319 F0BF