2013-08-29 20 views
5

Tôi đang sử dụng poky-am335x mới nhất để xây dựng ứng dụng helloworld đơn giản. Với một số cách giải quyết khác, tôi có thể biên dịch ứng dụng. Tôi đang làm rất nhiều con đường mòn để cài đặt nhị phân nhưng xây dựng là ném lỗi.do_install lỗi trong khi chạy bitbake tùy chỉnh trong poky build

log

lỗi:

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 file:

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 

Các dòng nhận xét được lưu giữ như thế vì chỉ để lâu đài tất cả những con đường mòn Tôi đã thử với .

+1

bất kỳ ai có thể giúp tôi về điều này không? – Pala

Trả lời

6

Sự khác biệt cơ bản là dưới đây.

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

"EXTRA_OEMAKE" là macro chính mà tôi đã không được sử dụng trước đó.

Tôi đã thay đổi tệp bitbake tệp helloworld.bb như dưới đây.

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 
Các vấn đề liên quan