login
Header Space

 
 

linux_wrappers.c:306: error: unknown field ‘nopage’ specified in initializer

January 5, 2009 - 8:50pm
Submitted by gkamendje on January 5, 2009 - 8:50pm.
Linux

Hi I am trying to compile windrvr6 (a driver for USB and Parallel JTAG cable for use with Xilinx FPGA devices) on a x64 Fedora Core 8 with a 2.6.26.3-14 kernel.
I get the following error message

linux_wrappers.c:306: error: unknown field ‘nopage’ specified in initializer
linux_wrappers.c:306: warning: initialization from incompatible pointer type

which seems to tbe caused by these lines in linux_wrappers.c

struct vm_operations_struct windriver_vm_ops = {
    nopage:     windriver_vma_nopage,
};

Below is the output of the compile command.

--Installing windrvr6---------------------------------------------
--Checking version.
--File /lib/modules/2.6.26.3-14.fc8/kernel/drivers/misc/windrvr6.ko does not exist.
--File LINUX.2.6.26.3-14.fc8.x86_64/windrvr6.ko does not exist.
--Setting source version to 900.
--File LINUX.2.6.26.3-14.fc8.x86_64/windrvr6.ko is newer than the destination file.
loading cache ./config.cache
configure: error: You are trying to install WinDriver for i386 on x86_64.
rm -f core LINUX.2.6.26.3-14.fc8.x86_64/windrvr6.ko LINUX.2.6.26.3-14.fc8.x86_64/*
cc -c -O2 -Wall -DLINUX -D__KERNEL__ -DMODULE -DWINDRIVER_KERNEL  -DLINUX_USB_SUPPORT -Wstrict-prototypes -Wno-trigraphs                -fno-common -fomit-frame-pointer -pipe -Wdeclaration-after-statement -funit-at-a-time -march=k8 -mno-red-zone -mcmodel=kernel -fno-reorder-blocks            -Wno-sign-compare -fno-asynchronous-unwind-tables -O -I/lib/modules/2.6.26.3-14.fc8/source/include -I/lib/modules/2.6.26.3-14.fc8/source/include/asm/mach-default -I/home/gkamendje/install/xilinx/install_drivers/linux_drivers/windriver64/include -I/home/gkamendje/install/xilinx/install_drivers/linux_drivers/windriver64  -fno-strict-aliasing -D"KBUILD_STR(s)=#s" -D"KBUILD_MODNAME=KBUILD_STR(windrvr6)" -D"KBUILD_BASENAME=KBUILD_STR(windrvr6)" -include /lib/modules/2.6.26.3-14.fc8/build/include/linux/autoconf.h -c -o LINUX.2.6.26.3-14.fc8.x86_64/linux_wrappers.o linux_wrappers.c
linux_wrappers.c:306: error: unknown field ‘nopage’ specified in initializer
linux_wrappers.c:306: warning: initialization from incompatible pointer type
make: *** [LINUX.2.6.26.3-14.fc8.x86_64/linux_wrappers.o] Error 1
cc -c -O2 -Wall -DLINUX -D__KERNEL__ -DMODULE -DWINDRIVER_KERNEL  -DLINUX_USB_SUPPORT -Wstrict-prototypes -Wno-trigraphs                -fno-common -fomit-frame-pointer -pipe -Wdeclaration-after-statement -funit-at-a-time -march=k8 -mno-red-zone -mcmodel=kernel -fno-reorder-blocks            -Wno-sign-compare -fno-asynchronous-unwind-tables -O -I/lib/modules/2.6.26.3-14.fc8/source/include -I/lib/modules/2.6.26.3-14.fc8/source/include/asm/mach-default -I/home/gkamendje/install/xilinx/install_drivers/linux_drivers/windriver64/include -I/home/gkamendje/install/xilinx/install_drivers/linux_drivers/windriver64  -fno-strict-aliasing -D"KBUILD_STR(s)=#s" -D"KBUILD_MODNAME=KBUILD_STR(windrvr6)" -D"KBUILD_BASENAME=KBUILD_STR(windrvr6)" -include /lib/modules/2.6.26.3-14.fc8/build/include/linux/autoconf.h -c -o LINUX.2.6.26.3-14.fc8.x86_64/linux_wrappers.o linux_wrappers.c
linux_wrappers.c:306: error: unknown field ‘nopage’ specified in initializer
linux_wrappers.c:306: warning: initialization from incompatible pointer type
make: *** [LINUX.2.6.26.3-14.fc8.x86_64/linux_wrappers.o] Error 1
--make windrvr install rc= 2
--install_windrvr6 rc = 2
--Module windrvr6 is not running.
--Module xpc4drvr is not running.
--Note: By default, the file permission of /dev/windrvr6 is enabled for the root user only
  and must be changed to allow access to other users.

--Return code = 2

Thanks for any hint.
GA

The ABI changed a year ago.

January 6, 2009 - 7:58pm
Ferdinand (not verified)

The ABI changed a year ago. You'll need to revise the driver. Have a look at http://kerneltrap.org/mailarchive/linux-kernel/2008/1/8/547283 for an example.

I do not understand...

January 7, 2009 - 12:42pm

Hi
Thanks for the hint. I checked the link you sent me but I do not really understand how to make use of the information contained in that discussion. I am not familiar with kernel concepts.
Thanks for any further hint
Guy

There is no cut-and-paste

January 7, 2009 - 3:52pm
Ferdinand (not verified)

There is no cut-and-paste solution. Your driver needs to be refitted to the new interface by somebody familiar with kernel internals.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
speck-geostationary