加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 在poky build中运行自定义bitbake时出现do_install错误

发布时间:2020-12-14 01:04:34 所属栏目:Linux 来源:网络整理
导读:我正在使用最新的poky-am335x来构建简单的helloworld应用程序.通过一些解决方法,我可以编译应用程序.我正在做很多安装二进制文件的路径但是构建错误. 错误日志: DEBUG: SITE files ['endian-little','bit-32','arm-common','common-linux','common-glibc','
我正在使用最新的poky-am335x来构建简单的helloworld应用程序.通过一些解决方法,我可以编译应用程序.我正在做很多安装二进制文件的路径但是构建错误.

错误日志:

DEBUG: SITE files ['endian-little','bit-32','arm-common','common-linux','common-glibc','arm-linux','arm-linux-gnueabi','common']
DEBUG: Executing shell function do_install
NOTE: make -j 4 DESTDIR=/home/pis1kor/workspace/poky-am335x/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/helloworld-1.0-r0/image install
make: *** No rule to make target `install'.  Stop.
ERROR: oe_runmake failed
ERROR: Function failed: do_install (see /home/pis1kor/workspace/poky-am335x/build/tmp/work/armv7a-vfp-neon-poky-linux-gnueabi/helloworld-1.0-r0/temp/log.do_install.29583 for further information)

Bitbake文件:

DESCRIPTION = "Simple helloworld application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"
SRC_URI = "file://helloworld.tar"

do_compile () {
        make -C ${WORKDIR}/helloworld all
}


do_install() {
        oe_runmake install DESTDIR=${D}
}


#do_install() {
#       oe_runmake install DESTDIR=${D}
#       make -C ${WORKDIR}/helloworld/ install
#       oe_runmake 'DESTDIR=${D}' install
#       cp -f ${WORKDIR}/helloworld/helloworld ${WORKDIR}/image
#       oe_runmake install ${WORKDIR}/helloworld
#       make -C ${WORKDIR}/helloworld install
#       install -d ${D}${bindir}/ ZZ
#}

inherit autotools gettext

Makefile:

IDIR = ./include
CC = arm-arago-linux-gnueabi-gcc  -march=armv7-a     -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a8 --sysroot=/home/pis1kor/workspace/poky-am335x/build/tmp/sysroots/am335x-evm
CFLAGS = -I$(IDIR)
LIBS = -lm

FILES = ./src/helloworld.c
OUT_EXE = helloworld

INSTALL = /usr/bin/install -c

INSTALL_DATA = ${INSTALL} -m 644



all: $(FILES)
        $(CC) -o $(OUT_EXE) $(FILES) $(CFLAGS) $(LIBS)

install:
        $(INSTALL_DATA) -C  helloworld ../image
#       sudo cp ./helloworld ../image/

clean:
        rm -f *.o helloworld

评论的行保持这样,因为只是为了维护我尝试过的所有路径.

解决方法

基本差异如下.

S = "${WORKDIR}/helloworld/"
EXTRA_OEMAKE = 'all -C ${S}'

“EXTRA_OEMAKE”是我以前没用过的关键宏.

我已经改变了bitbake文件helloworld.bb文件,如下所示.

DESCRIPTION = "Simple helloworld application"
SECTION = "examples"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
PR = "r0"

S = "${WORKDIR}/helloworld/"
EXTRA_OEMAKE = 'all -C ${S}'

SRC_URI = "file://helloworld.tar"

inherit autotools gettext

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读