Skip to content

can not compile ashmem to linux kernel 6.18.4 #22

@bronze1man

Description

@bronze1man

which linux kernel version I should try? I will try different linux kernel version later.

make -C /lib/modules/$(uname -r)/build M=$PWD LLVM=1 modules
make: Entering directory '/usr/src/linux-headers-6.18.4-x64v3-xanmod1'
make[1]: Entering directory '/opt/kernel/redroid-modules/ashmem'
warning: the compiler differs from the one used to build the kernel
  The kernel was built by: Debian clang version 19.1.7 (3)
  You are using:           Debian clang version 19.1.7 (3~deb12u1)
  CC [M]  ashmem.o
ashmem.c:376:22: error: no member named 'get_unmapped_area' in 'struct mm_struct'
  376 |         return current->mm->get_unmapped_area(file, addr, len, pgoff, flags);
      |                ~~~~~~~~~~~  ^
ashmem.c:405:16: error: cannot assign to non-static data member 'vm_flags' with const-qualified type 'const vm_flags_t' (aka 'const unsigned long')
  405 |         vma->vm_flags &= ~calc_vm_may_flags(~asma->prot_mask);
      |         ~~~~~~~~~~~~~ ^
/usr/src/linux-headers-6.18.4-x64v3-xanmod1/include/linux/mm_types.h:837:20: note: non-static data member 'vm_flags' declared const here
  837 |                 const vm_flags_t vm_flags;
      |                 ~~~~~~~~~~~~~~~~~^~~~~~~~
ashmem.c:950:8: error: call to undeclared function 'register_shrinker'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  950 |         ret = register_shrinker(&ashmem_shrinker);
      |               ^
ashmem.c:950:8: note: did you mean 'register_chrdev'?
/usr/src/linux-headers-6.18.4-x64v3-xanmod1/include/linux/fs.h:2997:19: note: 'register_chrdev' declared here
 2997 | static inline int register_chrdev(unsigned int major, const char *name,
      |                   ^
ashmem.c:973:2: error: call to undeclared function 'unregister_shrinker'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
  973 |         unregister_shrinker(&ashmem_shrinker);
      |         ^
ashmem.c:973:2: note: did you mean 'unregister_chrdev'?
/usr/src/linux-headers-6.18.4-x64v3-xanmod1/include/linux/fs.h:3003:20: note: 'unregister_chrdev' declared here
 3003 | static inline void unregister_chrdev(unsigned int major, const char *name)
      |                    ^
4 errors generated.
make[3]: *** [/usr/src/linux-headers-6.18.4-x64v3-xanmod1/scripts/Makefile.build:287: ashmem.o] Error 1
make[2]: *** [/usr/src/linux-headers-6.18.4-x64v3-xanmod1/Makefile:2015: .] Error 2
make[1]: *** [/usr/src/linux-headers-6.18.4-x64v3-xanmod1/Makefile:248: __sub-make] Error 2
make[1]: Leaving directory '/opt/kernel/redroid-modules/ashmem'
make: *** [Makefile:248: __sub-make] Error 2
make: Leaving directory '/usr/src/linux-headers-6.18.4-x64v3-xanmod1'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions