Varios problemas con Yocto al compilar Jaffa o MTK para Linux o Android
Error: Error de CMake en Plugins/PluginCommandInterfaceCAPI/cmake/CommonAPI.cmake:352 (mensaje):
|Error para generar archivos desde FIDL:
Ejecución manual:
$ commonapi-generator-linux-x86 -ll verbose -sk Predeterminado -d ./data/linux/hz_rs28_bm/sources/build /tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/audiomanager/7.0-r1/audiomanager-7.0/Plugins/ PluginCommandInterfaceCAPI/fidl/CommandInterface.fidl
-bash:/data/linux /hz_rs28_bm/sources/src/build/tools/commonapi_tool/ commonapi-generator/commonapi-generator-linux-x86:/lib/ld-linux.so.2: intérprete ELF incorrecto: no existe tal archivo o directorio
Solución (necesita instalar la biblioteca glibc de 32 bits y el entorno java?jre de 32 bits):
$ sudo yum install glibc.i686
$ sudo yum install java-1.8 .0 -openjdk.i686
$ sudo ln -s /usr/lib/jvm/ java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.i386/jre/bin/java /bin /java
$ java -version (se garantiza que es Java de 32 bits)
Problema de compilación n.º 2 (error do_package para perl_5.20.0.bb)._error de paquete):
Error: ERROR: objcopy falló con el código de salida 256 (cmd era 'arm-poky-linux-gnueabi-objcopy') -only-keep-debug
... generate_uudmap: Formato de archivo no reconocido
Solución (después de la versión 1.29, debe excluir tar antes de la ruta):
fuentes/meta/poky/bitbake/lib/bb/fetch2/bzr. py
tar_flags = "-exclude '.bzr' -exclude '.bzrtags'"
Modificar a:
tar_flags = "-exclude=' .bzr ' -exclude='. bzrtags'"
fuentes/meta/poky/bitbake/lib/bb/fetch2/cvs.py
tar_flags = "-excl
ude 'CVS'"
Cambiar a:
tar_flags = "- excluir='CVS'"
fuentes/meta/poky/bitbake/lib/bb /fetch2/repo.py
tar_flags = " -exclude '.repo' -exclude '.git'"
Cambiar a:
tar_flags = "- excluir='.repo' -exclude='.git'"
fuentes/meta/poky/bitbake/lib/bb/fetch2/svn.py
tar_flags = "-excluir '.svn'"
Modificar a:
tar_flags = "-exclude='.svn'"
fuentes/meta/poky/meta/recipes- devtools/quilt/quilt-0.63.inc
tar -cf - bin/ -exclude \*.in ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - compat/ -exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - quilt/ -exclude \*.in | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -cf - test/ -exclude mail.test -exclude delete.test ( cd ${D}${PTEST_PATH} } && tar -xf - )
Modificado a:
tar -c -exclude=\*.in bin/ ( cd ${D}${PTEST_PATH} && tar - xf - )
tar -c -exclude=\*.in compat/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -c - excluir=\*.in quilt/ | ( cd ${D}${PTEST_PATH} && tar -xf - )
tar -c -exclude=\*.
tar - c -exclude=mail.test -exclude=delete.test prueba prueba/ | ( cd ${D}${PTEST_PATH} && amp; tar -xf - && chmod 777 prueba)
fuentes/meta/ poky/meta/recipes-extended/sed/sed-4.2.2/sed-add-ptest.patch
+cd $(BUILDDIR); tar -cf - $(TESTDIR) -exclude *.o | ( cd $(DESTDIR) && tar -xf - )
Modificar a:
+cd $(BUILDDIR); tar -c -exclude=*.o $(TESTDIR) |
( cd $(DESTDIR) && tar -xf - )
fuentes/meta/poky/meta/ recetas-support/attr/acl.inc
tar -cf - prueba/ - excluir nfs | ( ( cd ${D}${PTEST_PATH} && tar -xf - )
Modificar a:
tar -c -exclude=nfs test/ | ( cd $ {D}${PTEST_PATH} && tar -xf - )
fuentes/meta/poky/meta/recipes-support/attr/attr.inc
tar -cf - prueba/ -excluir text | ( ( cd ${D}${PTEST_PATH} & amp;& tar -xf - )
Modificar a:
tar -c -exclude=ext prueba/ ( cd ${D}${PTEST_PATH} && tar -xf - )
fuentes/meta/poky/meta/recipes-devtools/perl/perl-ptest.o -exclude libperl.so -exclude | Makefile -exclude makefile -exclude hostperl \
-exclude miniperl -exclude generate_uudmap -exclude patches ( cd ${D}${PTEST_PATH} && tar -xf - )
Modificar a :
tar -c -exclude=\*.o -exclude=libperl.so -exclude=Makefile -exclude=makefile -exclude=hostperl \
-exclude=miniperl -exclude =generate_ uudmap -exclude=patches * | ( cd ${D}${PTEST_PATH} && tar -x )
Problema de compilación 3 (error do_compile en libunwind_1.1.bb):
Error: make[1]: latex2man: comando no encontrado
Solución:
$ sudo yum install texlive-tetex
$ sudo rpm -ivh ~ /latex2man-1.18-2.noarch.rpm
Problema de compilación 3 (error do_compile para el error do_compile de qt5-app_1.0.bb):
Error (hay un lote de archivos similares errores): ld: no se puede encontrar -lgtest
Solución:
$ vi atc_linux/application/btate/btate.pro
es igual a(MY_BUILD_SYSTEM, atc) {
LIBS += -L $(DA_LIBDIR)/lib -lgtest -lpthread -lbluetoothclient -lglobalbus -
lappobj - -lapputils
$ vi_linux/application/btate/btate.lapputils
} else {
LIBS += -L$(DA_TOP)/aplicación/ lib -L$(DA_TOP)/.../.../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/atc-binarys/1.0-r0/image/usr/lib - lgtest -lpthread -lbluetoothclient -l
globalbus -lappobj -lapputils
}
$ vi atc_linux/application/gps/gps_bin.pro
es igual a (MY_BUILD_SYSTEM, atc) {
LIBS += -L $(DA_LIBDIR)/lib?lapputils?-lglobalbus -lappobj -lgps
} más {
LIBS += -L$(DA_TOP)/application/lib -L$(DA_TOP)/.../.../sources/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi /gpsd/3.10-r0/gpsd-3.10/ -lapputils?lglobalbus -lappobj -lgps
}
$ vi atc_linux/application/dvr/dvr_bin.pro
es igual a( MY_BUILD_SYSTEM, atc) {
LIBS+= -L${DA_TOP}/lib/lib/ -ldvr -ludev -lsurface _atc -lglobalbus -lappobj -lapputils -lstorage_atc -lgps
} else {
LIBS+= -L${DA_TOP}/application/lib -L$(DA_TOP)/.../.../sources/build/tmp/work/armv7a-vfp-neon- poky-linux-gnueabi/gpsd/3.10-r0/gpsd-3.10/ -ldvr -ludev -lsurface_atc -lglobalbus -
lappobj -lapputils -lstorage_atc -lgps
}
$ vi atc_linux/application/dvr/dvr_bin.pro
INCLUDEPATH +=?${DA_TOP}/kernel/kernel-3.18/drivers/ \
./common /?\
.../utils/\
./appobj/include/?\
.../globalbus/include/\ p>
./appcommon/include/\
.../storage_atc/?\
.../dvr/gps/?\
.../gps/include/?\
.../gps/includeex/\
Compilar
Problema 4 (error makall):
Error: ./makall: línea 169: mkisofs: comando no encontrado
Solución: $ sudo yum install mkisofs
Compilación problema 5 (error al modificar ac83xx_systemd_defconfig y recompilar):
Error: Aplicando parche remove-selinux-android.patch
Parche file system/extras/ext4_utils/make_ext4fs.c
El trozo n.º 1 FALLÓ en 62.
1 de 1 trozo FALLÓ: se rechaza en el sistema de archivos/extras/ext4_utils/make_ext4fs.c
Solución:
$ visources/meta/meta-atc/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
Haz un do_patch() falso en él, bitbake le dará prioridad para usar la función do_patch() del archivo bb.
do_patch(){
}
Problema de compilación 6 (cambie ac83xx_systemd_defconfig, luego vuelva a compilar, el resultado es un error):
Error informado: fuentes/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/qtbase/5.5.gitAUTOINC+c619d2daac-r0/git/src/corelib/tools/qregexp.cpp:3947: 1: error interno del compilador: en add_stores, en var-tracking.c:6000
Solución:
$ cd sources/meta/poky/meta/recipes-devtools/gcc/gcc - 4.9/
$ wget?/overc/sources/core2_64/ gcc-4.9.2-r0.1/0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178. parche
$ vi sources/meta/poky/meta/recipes-devtools/gcc/ gcc-4.9.inc
archivo://0058-gcc-r212171.patch \ p >
archivo://0059-gcc-PR-rtl-optimization-63348.patch \
archivo://target-gcc-incluidoir.patch \
archivo : //0062-gcc-var-tracking.c-backport-from-gcc-trunk-r212178.patch \
En realidad este archivo:
$ cat?0062-gcc - var-tracking.c-backport-from-gcc-trunk-r212178.patch
De b30ffb8097749fdb55704aa7d8307ca1a58255d6 lunes 17 de septiembre a las 00:00:00 2001
De: =?UTF-8 ? q?Stefan=20M=C3=BCller-Klieser?=
Fecha: martes, 7 de abril de 2015 16:15:11 +0200
Asunto: [PATCH] gcc/var-tracking.c: backport desde gcc trunk r212178
Versión MIME: 1.0
Tipo de contenido: texto/plain; -8
Codificación de transferencia de contenido: 8 bits
Se corrigió un error en la construcción de la biblioteca qt5 visto en cortexa8.
2014-06-30?Joseph Myers?
* var-tracking.c (add_stores):
git-svn -id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@212178 138bc75d-0d04-0410-961f-82ee72b054a4
Firmado por: Stefan Müller-Klieser < ller -Klieser
---
gcc/var-tracking.c 3 ++-
1 | archivos modificados, 2 insertados (+), 1 eliminado (-)
diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c
index 65d8285..7c38910 100644
--- a/gcc/var-tracking
+++ b/gcc/var-tracking.c
@@ -5997,7 +5997,8 @@ add_stores (rtx loc, const_rtx expr, void *cuip)
{
? cselib_val *oval = cselib_lookup ( oloc, GET_MODE ( oloc), 0, VOIDmode);
- ?gcc_assert (oval ! = v);
+ if (oval == v)
+ return ;
? gcc_assert (REG_P (oloc) || MEM_P (oloc));
? --
1.9.1
Problema de compilación 7 (error al compilar nuevamente después de modificar ac83xx_systemd_defconfig):
Informe error: libevdev/1.2.2- r0/ libevdev-1.2.2/test/test-main.c:24:19: error fatal: check.h: No existe tal archivo o directorio
Solución:
$ vi meta/ poky/meta /recipes-support/libevdev/libevdev_1.2.2.bb
LIC_FILES_CHKSUM = "file://COPYING;md5= 75aae0d38feea6fda97ca381cb9132eb\
file://libevdev /libevdev. h;endline=21;md5=7ff4f0b5113252c2f1a828e0bbad98d1″
DEPENDE + = "libcheck"
SRC_URI = " http://www.freedesktop.org/software/libevdev/ ${BP Función }.tar.xz
Excepción: CalledProcessError: comando '[
'du', '-ks', ...
Excepción: CalledProcessError: comando '['du', '-ks', ... ...
Solución: ?No hay gran problema, simplemente vuelva a compilar una vez. Puede ser que la máquina esté demasiado ocupada y provoque un tiempo de espera, o que algunos comandos no se ejecuten correctamente.
Problema de compilación 9 (problema de la herramienta de compilación previa al arranque):
Error: make: armv7a-mediatek451_001_vfp-linux-gnueabi-gcc: Comando no encontrado
Solución:
$ vi atc_ linux/bootloader/preuboot/Makefile
#CROSS_COMPILE?:=armv7a-mediatek451_001_vfp-linux-gnueabi-
CROSS_COMPILE?:=arm - poky -linux-gnueabi-
$ vi ..../.../atc_linux/bootloader/preuboot/driver/mmc/include/linux/list.h
# ifndef NULL
#definir NULL 0
#endif