.png)
Estoy intentando compilar el solucionador Ceres en una compilación yocto (para el dron Intel Aero).
Anteriormente intenté extraer usando el repositorio git enhttps://ceres-solver.googlesource.com/ceres-solver/pero no pude lograr que se recuperara. Así que descargué el archivo tar.gz yo mismo, lo subí a un dominio público de mi propiedad e intenté compilarlo.
Así es como se ve mi archivo bb a partir de ahora.
LICENSE = "CLOSED"
LIC_FILES_CHKSUM = ""
DEPENDS = "glog gcc libeigen"
SRC_URI = "http://sidj.in/wp-content/uploads/2017/06/ceres-solver-41455566ac633e55f222bce7c4d2cb4cc33d5c72.tar.gz"
SRC_URI[md5sum] = "6f24d5639bbe738e6f8ca5d7a129400e"
SRC_URI[sha256sum] = "005ed7405350767f22164d9fff93b3613207eeef9cbb56afbd02335542360b16"
PV = "1.0"
S = "${WORKDIR}/ceres-cmake"
inherit cmake pkgconfig
# Specify any options you want to pass to cmake using EXTRA_OECMAKE:
EXTRA_OECMAKE = ""
Ahora veo que la descarga se completa, pero al ejecutar el comando bitbake ceres, aparece un error que dice que no se pudo encontrar CMakelists.txt, mientras está claramente en el archivo tar.gz. Miré otras recetas que parecen funcionar y siento que el paso do_unpack no es el que falla. La salida de la consola es:
Loading cache...done.
Loaded 2790 entries from dependency cache.
Parsing recipes...done.
Parsing of 2225 .bb files complete (2219 cached, 6 parsed). 2794 targets, 109 skipped, 0 masked, 0 errors.
NOTE: Resolving any missing task queue dependencies
Build Configuration:
BB_VERSION = "1.30.0"
BUILD_SYS = "x86_64-linux"
NATIVELSBSTRING = "universal"
TARGET_SYS = "x86_64-poky-linux"
MACHINE = "intel-aero"
DISTRO = "poky-aero"
DISTRO_VERSION = "1.4.0-dev"
TUNE_FEATURES = "m64 corei7"
TARGET_FPU = ""
meta
meta-poky
meta-yocto-bsp = "HEAD:cca8dd15c8096626052f6d8d25ff1e9a606104a3"
meta-qt4 = "HEAD:fc9b050569e94b5176bed28b69ef28514e4e4553"
meta-qt5 = "HEAD:9aa870eecf6dc7a87678393bd55b97e21033ab48"
meta-uav = "HEAD:0f9395139b6a3c3f0f2c18a6a87f4048d0ca1a4f"
meta-ros = "HEAD:4258013ec33f5ed2b0c9be12fb5902fe918fe98b"
meta-intel-realsense = "HEAD:82e9dbfd8783292f42f4a6fcc7bd5b8a6b1c567a"
meta-intel-aero = "HEAD:1d7e341ff35aa903c37491f94677bdacc9427f6e"
meta-oe
meta-python
meta-networking = "HEAD:55c8a76da5dc099a7bc3838495c672140cedb78e"
meta-cmu-rasl = "master:39e39bf41e915323bf7cb70cad50e67cb8b1b90e"
meta-dense-visual-tracking = "HEAD:cca8dd15c8096626052f6d8d25ff1e9a606104a3"
meta-intel = "HEAD:1f8dd1b00ce9c72d73583c405ec392690d9b08b7"
NOTE: Preparing RunQueue
NOTE: Executing SetScene Tasks
NOTE: Running setscene task 184 of 202 (/home/thesidjway/rasl_ws/src/intel-aero/poky/meta-dense-visual-tracking/recipes-dry/ceres/ceres.bb, do_populate_lic_setscene)
NOTE: recipe ceres-1.0-r0: task do_populate_lic_setscene: Started
NOTE: recipe ceres-1.0-r0: task do_populate_lic_setscene: Succeeded
NOTE: Executing RunQueue Tasks
NOTE: Running task 711 of 722 (ID: 4, /home/thesidjway/rasl_ws/src/intel-aero/poky/meta-dense-visual-tracking/recipes-dry/ceres/ceres.bb, do_fetch)
NOTE: recipe ceres-1.0-r0: task do_fetch: Started
NOTE: recipe ceres-1.0-r0: task do_fetch: Succeeded
NOTE: Running task 712 of 722 (ID: 0, /home/thesidjway/rasl_ws/src/intel-aero/poky/meta-dense-visual-tracking/recipes-dry/ceres/ceres.bb, do_unpack)
NOTE: recipe ceres-1.0-r0: task do_unpack: Started
NOTE: recipe ceres-1.0-r0: task do_unpack: Succeeded
NOTE: Running task 713 of 722 (ID: 1, /home/thesidjway/rasl_ws/src/intel-aero/poky/meta-dense-visual-tracking/recipes-dry/ceres/ceres.bb, do_patch)
NOTE: recipe ceres-1.0-r0: task do_patch: Started
NOTE: recipe ceres-1.0-r0: task do_patch: Succeeded
NOTE: Running task 714 of 722 (ID: 5, /home/thesidjway/rasl_ws/src/intel-aero/poky/meta-dense-visual-tracking/recipes-dry/ceres/ceres.bb, do_generate_toolchain_file)
NOTE: recipe ceres-1.0-r0: task do_generate_toolchain_file: Started
NOTE: recipe ceres-1.0-r0: task do_generate_toolchain_file: Succeeded
NOTE: Running task 716 of 722 (ID: 6, /home/thesidjway/rasl_ws/src/intel-aero/poky/meta-dense-visual-tracking/recipes-dry/ceres/ceres.bb, do_configure)
NOTE: recipe ceres-1.0-r0: task do_configure: Started
Log data follows:
| DEBUG: Executing python function sysroot_cleansstate
| DEBUG: Python function sysroot_cleansstate finished
| DEBUG: Executing shell function do_configure
| CMake Error: The source directory "/home/thesidjway/rasl_ws/src/intel-aero/poky/build/tmp/work/x86_64-linux/ceres/1.0-r0/ceres-cmake" does not appear to contain CMakeLists.txt.
| Specify --help for usage, or press the help button on the CMake GUI.
| WARNING: exit code 1 from a shell command.
| ERROR: Function failed: do_configure (log file is located at /home/thesidjway/rasl_ws/src/intel-aero/poky/build/tmp/work/x86_64-linux/ceres/1.0-r0/temp/log.do_configure.9002)
NOTE: recipe ceres-1.0-r0: task do_configure: Failed
NOTE: Tasks Summary: Attempted 716 tasks of which 711 didn't need to be rerun and 1 failed.
Summary: 1 task failed:
/home/thesidjway/rasl_ws/src/intel-aero/poky/meta-dense-visual-tracking/recipes-dry/ceres/ceres.bb, do_configure
Summary: There was 1 ERROR message shown, returning a non-zero exit code.
¿Estoy haciendo algo estúpido o mal?
Respuesta1
No soy un experto en esto, pero si miras en la carpeta:
/home/thesidjway/rasl_ws/src/intel-aero/poky/build/tmp/work/x86_64-linux/ceres/1.0-r0/ceres-cmake
y verifique si su archivo cmake está presente en esa carpeta. Yocto espera que su archivo cmake esté presente en la carpeta ceres-cmake.