Reputation: 159
Using Yocto morty, I'm trying to add a prebuilt version of nodejs in my distribution. When I bitbake core-image-sato, do_package_qa hangs for hours. I'd be grateful for your help in getting me past this issue.
I've added this to the bottom of local.conf:
CORE_IMAGE_EXTRA_INSTALL += "mynode"
This is my recipe for mynode:
SUMMARY = "puts the node.js binary distribution into my image"
SECTION = "base"
LICENSE = "MIT & BSD & Artistic-2.0"
LIC_FILES_CHKSUM = "file://usr/node-v7.10.0-linux-x64/LICENSE;md5=d29463feca32ea5977af7b6c7d62c14a"
SRC_URI = "https://nodejs.org/dist/v7.10.0/node-v7.10.0-linux-x64.tar.xz;subdir=usr"
SRC_URI[md5sum] = "b9122f212e0716d199d7e954ff81e1ec"
SRC_URI[sha256sum] = "6166b9f3fb1a9e861335d864688fee5366f040db808080856a1a2b71b6019786"
S = "${WORKDIR}"
inherit bin_package
This is the content of log.do_install for my nodejs package. Maybe the message from tar describes my problem somehow?
DEBUG: Executing shell function do_install
tar: ./pseudo/pseudo.socket: socket ignored
DEBUG: Shell function do_install finished
There doesn't appear to be anything useful in log.do_package_qa for my nodejs package, but maybe somebody will see something that I don't see:
DEBUG: Executing python function sstate_task_prefunc
DEBUG: Python function sstate_task_prefunc finished
DEBUG: Executing python function do_package_qa
NOTE: DO PACKAGE QA
DEBUG: Executing python function read_subpackage_metadata
DEBUG: Python function read_subpackage_metadata finished
NOTE: Checking Package: mynode-dev
NOTE: Checking Package: mynode
I see a few bitbake-worker processes running, one with argument decafbad, two with argument decafbadbeef. I also see a pseudo process running.
Upvotes: 2
Views: 1074
Reputation: 1179
If you're going to use
subdir=usr
At the end of SRC_URI
then you also need to change the source directory it uses (S
) accordingly:
S = "${WORKDIR}/usr"
In addition, I think for all pre-built binary packages (inherit bin_package
), you want to do it that way. I tried without either and it hung forever. Also, you may want to use a subdir
name that nothing else uses, like say external_binary
. That way each binary recipe can use the same subdir
.
Upvotes: 1