使用 cmake 的 Yocto 食谱找不到 git
Yocto recipe using cmake cannot find git
我正在尝试为 mongo-cxx-driver (https://github.com/mongodb/mongo-cxx-driver) 构建一个配方。我有 libbson 和 mongo-c-driver 的工作方法,这是必需的,但是当我尝试构建 mongo-cxx-driver 时,它在尝试克隆 git 存储库时失败.
$ bitbake mongo-cxx-driver
| CMake Error at
/home/hme/projects/platform/yocto/poky/build/tmp/work/core2-64-poky-linux/mongo-cxx-driver/3.1.3-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/ExternalProject.cmake:1805 (message):
| error: could not find git for clone of EP_mnmlstc_core
| Call Stack (most recent call first):
| /home/hme/projects/platform/yocto/poky/build/tmp/work/core2-64-poky-linux/mongo-cxx-driver/3.1.3-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/ExternalProject.cmake:2560 (_ep_add_download_command)
| src/bsoncxx/third_party/CMakeLists.txt:19 (ExternalProject_Add)
|
|
| -- Configuring incomplete, errors occurred!
食谱:
DESCRIPTION = "MongoDB C++ driver"
SECTION = "libs"
HOMEPAGE = "https://github.com/mongodb/mongo-cxx-driver"
LICENSE = "Apache-2.0"
DEPENDS = "libbson mongo-c-driver git-native"
inherit cmake pkgconfig
SRC_URI = "https://github.com/mongodb/mongo-cxx-driver/archive/r${PV}.tar.gz"
SRC_URI[md5sum] = "fd1ff0f9b2122225e3b402c2bae30427"
SRC_URI[sha256sum] = "cb1b371eb34e991b8bfac65146f862cd379aa8f7270c430e5f3d71d843245ed9"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
S = "${WORKDIR}/mongo-cxx-driver-r${PV}"
如果我运行:
$ bitbake -c devshell mongo-cxx-driver
并通过 devshell 手动构建,它工作得很好。
有什么想法是错误的吗?
您应该尝试添加:
OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
到你的食谱在继承cmake
之后
包 git-native 可能在 ASSUME_PROVIDED variable. If so, you have to add git-replacement-native
中列为对您的食谱的依赖。
我正在尝试为 mongo-cxx-driver (https://github.com/mongodb/mongo-cxx-driver) 构建一个配方。我有 libbson 和 mongo-c-driver 的工作方法,这是必需的,但是当我尝试构建 mongo-cxx-driver 时,它在尝试克隆 git 存储库时失败.
$ bitbake mongo-cxx-driver
| CMake Error at
/home/hme/projects/platform/yocto/poky/build/tmp/work/core2-64-poky-linux/mongo-cxx-driver/3.1.3-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/ExternalProject.cmake:1805 (message):
| error: could not find git for clone of EP_mnmlstc_core
| Call Stack (most recent call first):
| /home/hme/projects/platform/yocto/poky/build/tmp/work/core2-64-poky-linux/mongo-cxx-driver/3.1.3-r0/recipe-sysroot-native/usr/share/cmake-3.8/Modules/ExternalProject.cmake:2560 (_ep_add_download_command)
| src/bsoncxx/third_party/CMakeLists.txt:19 (ExternalProject_Add)
|
|
| -- Configuring incomplete, errors occurred!
食谱:
DESCRIPTION = "MongoDB C++ driver"
SECTION = "libs"
HOMEPAGE = "https://github.com/mongodb/mongo-cxx-driver"
LICENSE = "Apache-2.0"
DEPENDS = "libbson mongo-c-driver git-native"
inherit cmake pkgconfig
SRC_URI = "https://github.com/mongodb/mongo-cxx-driver/archive/r${PV}.tar.gz"
SRC_URI[md5sum] = "fd1ff0f9b2122225e3b402c2bae30427"
SRC_URI[sha256sum] = "cb1b371eb34e991b8bfac65146f862cd379aa8f7270c430e5f3d71d843245ed9"
LIC_FILES_CHKSUM = "file://LICENSE;md5=d2794c0df5b907fdace235a619d80314"
S = "${WORKDIR}/mongo-cxx-driver-r${PV}"
如果我运行:
$ bitbake -c devshell mongo-cxx-driver
并通过 devshell 手动构建,它工作得很好。
有什么想法是错误的吗?
您应该尝试添加:
OECMAKE_FIND_ROOT_PATH_MODE_PROGRAM = "BOTH"
到你的食谱在继承cmake
之后包 git-native 可能在 ASSUME_PROVIDED variable. If so, you have to add git-replacement-native
中列为对您的食谱的依赖。