Messages in this thread | | | Date | Mon, 17 Mar 2008 22:02:16 -0500 | From | serge@hallyn ... | Subject | Re: capability.h |
| |
Quoting Justin Mattock (justinmattock@gmail.com): > Hello; I seem to be very confused on how to install fglrx on 2.6.25-* > below is the warnings and errors, > > > cleaning... > patching 'highmem.h'... > assuming new VMA API since we do have kernel 2.6.x... > def_vma_api_version=-DFGL_LINUX253P1_VMA_API > Assuming default VMAP API > Assuming default munmap API > doing Makefile based build for kernel 2.6.x and higher > make -C /lib/modules/2.6.25-rc6/build > SUBDIRS=/lib/modules/fglrx/build_mod/2.6.x modules > make[1]: Entering directory `/home/kernel/linux-2.6.25-rc6' > CC [M] /lib/modules/fglrx/build_mod/2.6.x/firegl_public.o > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function > 'KCL_SetPageNoCache': > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1161: warning: > 'change_page_attr' is deprecated (declared at > include/asm/cacheflush.h:28) > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function > 'KCL_PosixSecurityCapGetEffectiveVector': > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1888: error: > implicit declaration of function 'cap_t' > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function > 'KCL_PosixSecurityCapSetEffectiveVector': > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1896: error: > invalid lvalue in assignment > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function > '__ke_check_pci': > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:1951: warning: > 'pci_find_slot' is deprecated (declared at include/linux/pci.h:508) > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c: In function > '__ke_pci_find_slot': > /lib/modules/fglrx/build_mod/2.6.x/firegl_public.c:2840: warning: > 'pci_find_slot' is deprecated (declared at include/linux/pci.h:508) > make[2]: *** [/lib/modules/fglrx/build_mod/2.6.x/firegl_public.o] Error 1 > make[1]: *** [_module_/lib/modules/fglrx/build_mod/2.6.x] Error 2 > make[1]: Leaving directory `/home/kernel/linux-2.6.25-rc6' > make: *** [kmod_build] Error 2 > build failed with return value 2 > > > Under firegl_public.c it seems the module is requesting a cap_t get > and receive an effective vector. > With the new capability.h file, what is the capability that replaces cap_t?
cap_t() appears to be defined under ifdef __KERNEL__. Which makes sense since it takes a struct kernel_cap_t :) I don't have the source code you're compiling, and don't know what would be the "right" way to fix it, but to get your code to compile I'd just put a #define cap(x) (x).cap at the top of the .c files needing it.
-serge
| |