anbox / anbox-modules

Anbox kernel modules
329 stars 228 forks source link

unable to install the modules on armhf #18

Closed ghost closed 5 years ago

ghost commented 5 years ago

Ive recently compile a kenel to have the proper headers (they arent on the repo) the log is strange

DKMS make.log for anbox-ashmem-1 for kernel 5.1.0-v7+ (armv7l)
vie may 10 13:24:08 -03 2019
make -C /lib/modules/5.1.0-v7+/build V=0 M=$PWD

why its trying to load something of my linux compilation folder??

make[1]: se entra en el directorio '/home/pi/Desktop/linux'

i need to export my gcc??

make[1]: gcc: No se encontró el programa
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/deps.o
/bin/sh: 1: gcc: not found
scripts/Makefile.build:275: fallo en las instrucciones para el objetivo '/var/lib/dkms/anbox-ashmem/1/build/deps.o'
make[2]: *** [/var/lib/dkms/anbox-ashmem/1/build/deps.o] Error 127
make[2]: *** Se espera a que terminen otras tareas....
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/ashmem.o
/bin/sh: 1: gcc: not found
scripts/Makefile.build:275: fallo en las instrucciones para el objetivo '/var/lib/dkms/anbox-ashmem/1/build/ashmem.o'
make[2]: *** [/var/lib/dkms/anbox-ashmem/1/build/ashmem.o] Error 127
Makefile:1571: fallo en las instrucciones para el objetivo '_module_/var/lib/dkms/anbox-ashmem/1/build'
make[1]: *** [_module_/var/lib/dkms/anbox-ashmem/1/build] Error 2
make[1]: se sale del directorio '/home/pi/Desktop/linux'
Makefile:12: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
pi@pi:~ $ gcc --version
gcc (GCC) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
Esto es software libre; vea el código para las condiciones de copia.  NO hay
garantía; ni siquiera para MERCANTIBILIDAD o IDONEIDAD PARA UN PROPÓSITO EN
PARTICULAR
ghost commented 5 years ago

sorry, my gcc its broken. I will fix it but let this open meanwhile.

ghost commented 5 years ago

ok, now with my gcc running properly i have the same exact issue...mmmm weird my gcc its 8.1 but its called just gcc... there is no way than it couldt find it... iva tested many projects and it works like a charm...

pi@pi:~/Desktop/anbox-modules $ sudo dkms install anbox-ashmem/1

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
make -j4 KERNELRELEASE=5.1.0-v7+ all KERNEL_SRC=/lib/modules/5.1.0-v7+/build...(bad exit status: 2)
Error! Bad return status for module build on kernel: 5.1.0-v7+ (armv7l)
Consult /var/lib/dkms/anbox-ashmem/1/build/make.log for more information.
DKMS make.log for anbox-ashmem-1 for kernel 5.1.0-v7+ (armv7l)
vie may 10 23:42:00 -03 2019
make -C /lib/modules/5.1.0-v7+/build V=0 M=$PWD
make[1]: se entra en el directorio '/home/pi/Desktop/linux'
make[1]: gcc: No se encontró el programa
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/deps.o
/bin/sh: 1: gcc: not found
scripts/Makefile.build:275: fallo en las instrucciones para el objetivo '/var/lib/dkms/anbox-ashmem/1/build/deps.o'
make[2]: *** [/var/lib/dkms/anbox-ashmem/1/build/deps.o] Error 127
make[2]: *** Se espera a que terminen otras tareas....
  CC [M]  /var/lib/dkms/anbox-ashmem/1/build/ashmem.o
/bin/sh: 1: gcc: not found
scripts/Makefile.build:275: fallo en las instrucciones para el objetivo '/var/lib/dkms/anbox-ashmem/1/build/ashmem.o'
make[2]: *** [/var/lib/dkms/anbox-ashmem/1/build/ashmem.o] Error 127
Makefile:1571: fallo en las instrucciones para el objetivo '_module_/var/lib/dkms/anbox-ashmem/1/build'
make[1]: *** [_module_/var/lib/dkms/anbox-ashmem/1/build] Error 2
make[1]: se sale del directorio '/home/pi/Desktop/linux'
Makefile:12: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
ghost commented 5 years ago

anather thing:

if I make the modules from inside the folders ashmem pass but the binders module compilation fails:

pi@pi:~/Desktop/anbox-modules/binder $ make
make -C /lib/modules/5.1.0-v7+/build V=0 M=$PWD
make[1]: se entra en el directorio '/home/pi/Desktop/linux'
  CC [M]  /home/pi/Desktop/anbox-modules/binder/deps.o
  CC [M]  /home/pi/Desktop/anbox-modules/binder/binder.o
/home/pi/Desktop/anbox-modules/binder/binder.c: En la función ‘binder_transaction_buffer_release’:
/home/pi/Desktop/anbox-modules/binder/binder.c:1588:15: aviso: conversión a puntero desde un entero de tamaño diferente [-Wint-to-pointer-cast]
    fd_array = (u32 *)(parent_buffer + fda->parent_offset);
               ^
/home/pi/Desktop/anbox-modules/binder/binder.c: En la función ‘binder_translate_fd_array’:
/home/pi/Desktop/anbox-modules/binder/binder.c:1798:13: aviso: conversión a puntero desde un entero de tamaño diferente [-Wint-to-pointer-cast]
  fd_array = (u32 *)(parent_buffer + fda->parent_offset);
             ^
/home/pi/Desktop/anbox-modules/binder/binder.c: En la función ‘binder_fixup_parent’:
/home/pi/Desktop/anbox-modules/binder/binder.c:1864:18: aviso: conversión a puntero desde un entero de tamaño diferente [-Wint-to-pointer-cast]
  parent_buffer = (u8 *)(parent->buffer -
                  ^
/home/pi/Desktop/anbox-modules/binder/binder.c: En el nivel principal:
/home/pi/Desktop/anbox-modules/binder/binder.c:3406:11: error: initialization of ‘vm_fault_t (*)(struct vm_fault *)’ {también conocido como ‘unsigned int (*)(struct vm_fault *)’} from incompatible pointer type ‘int (*)(struct vm_fault *)’ [-Werror=incompatible-pointer-types]
  .fault = binder_vm_fault,
           ^~~~~~~~~~~~~~~
/home/pi/Desktop/anbox-modules/binder/binder.c:3406:11: nota: (cerca de la inicialización de ‘binder_vm_ops.fault’)
cc1: algunos avisos se tratan como errores
scripts/Makefile.build:275: fallo en las instrucciones para el objetivo '/home/pi/Desktop/anbox-modules/binder/binder.o'
make[2]: *** [/home/pi/Desktop/anbox-modules/binder/binder.o] Error 1
Makefile:1571: fallo en las instrucciones para el objetivo '_module_/home/pi/Desktop/anbox-modules/binder'
make[1]: *** [_module_/home/pi/Desktop/anbox-modules/binder] Error 2
make[1]: se sale del directorio '/home/pi/Desktop/linux'
Makefile:8: fallo en las instrucciones para el objetivo 'all'
make: *** [all] Error 2
ghost commented 5 years ago

@Askmewho Please see if #19 helps.

ghost commented 5 years ago

many thanks! i will try that soon! meanwhile I am trying to compile the kernel with the modules built inside my kernel. ...i just delete the "if android" flags on both ... the last time wasnt go well... i am on a tester sd so, no problem if it crash or do t boot at all :)

pi@pi:~/Desktop/linux $ make zImage modules dtbs
scripts/kconfig/conf  --syncconfig Kconfig
*
* Restart config...
*
*
* Android
*
Enable the Anonymous Shared Memory Subsystem (ASHMEM) [N/y/?] (NEW) y
*
* Ion Memory Manager
*
Ion Memory Manager (ION) [N/y/?] (NEW) y
  Ion system heap (ION_SYSTEM_HEAP) [N/y/?] (NEW) y
  Ion carveout heap support (ION_CARVEOUT_HEAP) [N/y/?] (NEW) y
  Ion chunk heap support (ION_CHUNK_HEAP) [N/y/?] (NEW) y
  Ion CMA heap support (ION_CMA_HEAP) [N/y/?] (NEW) y
*
* Android
*
Android Drivers (ANDROID) [N/y/?] n
Android Binder IPC Driver (ANDROID_BINDER_IPC) [N/y/?] (NEW) y
  Android Binderfs filesystem (ANDROID_BINDERFS) [N/y/?] (NEW) y
  Android Binder devices (ANDROID_BINDER_DEVICES) [binder,hwbinder,vndbinder] (NEW) y
  Android Binder IPC Driver Selftest (ANDROID_BINDER_IPC_SELFTEST) [N/y/?] (NEW) y

this should be like that or I am just destroying my setup enabling all of them? anyway, I will try your solution on the dkms patch!

ghost commented 5 years ago

So, there is something wrong with my env var, because on my old img with the same gcc they found gcc. 2do, and most important, your fix solved the issue with kernel 5.1. well done.