mkottman / acpi_call

A linux kernel module that enables calls to ACPI methods through /proc/acpi/call. Now with support for Integer, String and Buffer parameters.
309 stars 130 forks source link

Won't compile with kernel 2.6.38-11 #10

Closed OliverColeman closed 11 years ago

OliverColeman commented 13 years ago

Was using this in an earlier kernel without issue, but since upgrading the kernel to 2.6.38-11 I get the following when trying to compile:

oliver@hubert:~/bin/acpi_call$ make
make -C /lib/modules/2.6.38-11-generic/build M=/home/oliver/bin/acpi_call modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-11-generic'
  CC [M]  /home/oliver/bin/acpi_call/acpi_call.o
In file included from /usr/src/linux-headers-2.6.38-11-generic/arch/x86/include/asm/percpu.h:44:0,
                 from /usr/src/linux-headers-2.6.38-11-generic/arch/x86/include/asm/current.h:5,
                 from /usr/src/linux-headers-2.6.38-11-generic/arch/x86/include/asm/processor.h:15,
                 from ./include/linux/prefetch.h:14,
                 from ./include/linux/list.h:7,
                 from ./include/linux/module.h:9,
                 from /home/oliver/bin/acpi_call/acpi_call.c:3:
./include/linux/kernel.h:12:20: fatal error: stdarg.h: No such file or directory
compilation terminated.
make[2]: *** [/home/oliver/bin/acpi_call/acpi_call.o] Error 1
make[1]: *** [_module_/home/oliver/bin/acpi_call] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-11-generic'
make: *** [default] Error 2
avilella commented 13 years ago

Can you apply this command line and retry again?

sudo apt-get install build-essential make clean make

On Tue, Aug 2, 2011 at 10:46 AM, OliverColeman reply@reply.github.com wrote:

Was using this in an earlier kernel without issue, but since upgrading the kernel to 2.6.38-11 I get the following when trying to compile:

oliver@hubert:~/bin/acpi_call$ make
make -C /lib/modules/2.6.38-11-generic/build M=/home/oliver/bin/acpi_call modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.38-11-generic'
 CC [M]  /home/oliver/bin/acpi_call/acpi_call.o
In file included from /usr/src/linux-headers-2.6.38-11-generic/arch/x86/include/asm/percpu.h:44:0,
                from /usr/src/linux-headers-2.6.38-11-generic/arch/x86/include/asm/current.h:5,
                from /usr/src/linux-headers-2.6.38-11-generic/arch/x86/include/asm/processor.h:15,
                from ./include/linux/prefetch.h:14,
                from ./include/linux/list.h:7,
                from ./include/linux/module.h:9,
                from /home/oliver/bin/acpi_call/acpi_call.c:3:
./include/linux/kernel.h:12:20: fatal error: stdarg.h: No such file or directory
compilation terminated.
make[2]: *** [/home/oliver/bin/acpi_call/acpi_call.o] Error 1
make[1]: *** [_module_/home/oliver/bin/acpi_call] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.38-11-generic'
make: *** [default] Error 2

Reply to this email directly or view it on GitHub: https://github.com/mkottman/acpi_call/issues/10

OliverColeman commented 13 years ago

Wow, speedy response. :)

build-essential was already installed (and I already tried "make clean; make")...

If it makes any difference I'm running Kubuntu 11.04.

mkottman commented 13 years ago

I recently updated to Ubuntu 11.04, and I am getting the same error - stdarg.h is missing. I think it has something to do with Ubuntu changing the default paths in /lib and /usr/lib for 32 and 64 bit systems.

This is what I get for locate stdarg.h:

/usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/include/stdarg.h

Maybe the kernel module Makefile misses this path... However, I tried the DKMS method used in bumblebee and is works, so please try running the bumblebee DKMS script.

OliverColeman commented 13 years ago

I ended up just using the entire bumblebee package installed from the ppa for ubuntu, works like a charm. :)