Compile nodejs 10.15.3

Hello,

I am struggling with bitbake nodejs (v.10.15.3) at Toradex git project for Yocto.

I downloaded from meta-openembedded git, and copied manually to the layers tree, the latest nodejs recipe.

Every time I try to compile, it fails at do_compile with oe_runmake fail and no much more any extra detail.

Please, help me to move forward regarding this.

Thanks in advance!
Have a nice day :slight_smile:

Hi @gasmbas

Could you provide the version of the hardware and software of your module?
Which branch did you compile? Which commands did you entered to compile?

Best regards,
Jaski

Hello Jaski,

I am having trouble before flashing, at bitbake stage, specifically at do_compile method of nodejs_10.15.3.bb recipe of the official meta-openembedded git (meta-openembedded/meta-oe/recipes-devtools/nodejs at master · openembedded/meta-openembedded · GitHub)

When I do “bitbake nodejs” the output says oe_runmake ERROR.

FYI, the product I’m using is the following:

Carrier board: ASTER V1.1B
uP Board: Colibri iMX6ULL 512MB WBIT V1.1A

Did you follow this guide to install the prerequisites and download the correct repo branch?

Yes, latest Toradex repo version compiles nodejs 8.4.0, not actual latest nodejs which is 10.15.3

Yes, this is correct. We are currently at Rocko branch. With Bsp 3.0, we will change to thud branch. For nodejs 10.15.3, you will need to switch to the warrior branch, since the version of the packages are dependent on the OpenEmbedded Branch.

Hi @jaski.tx I am also trying to bitbake nodejs for Yocto with colibri iMX7D and aster carrier board, and facing same issue. I added meta-nodejs layer , but compilation failed with same error. I observed that in file nodejs_7.inc, arm7l is not listed in compatible architecture as follows:

DESCRIPTION = "Node.js is a JavaScript runtime built on Chrome's V8 JavaScript engine"
HOMEPAGE = "http://nodejs.org"

LICENSE = "MIT"

COMPATIBLE_MACHINE_armv4 = "(!.*armv4).*"
# COMPATIBLE_MACHINE_armv5 = "(!.*armv5).*"
COMPATIBLE_MACHINE_mips64 = "(!.*mips64).*"

INC_PR = "r1"
PR = "${INC_PR}.4"

PROVIDES = "node"
RPROVIDES_${PN} = "node"

SRC_URI = "https://nodejs.org/dist/v${PV}/node-v${PV}.tar.gz;name=src \
           file://no-registry_6.x.patch"

S = "${WORKDIR}/node-v${PV}"

# v8 errors out if you have set CCACHE
CCACHE = ""

inherit nodejs-arch

ARCHFLAGS_arm = "${@bb.utils.contains('TUNE_FEATURES', 'callconvention-hard', '--with-arm-float-abi=hard', '--with-arm-float-abi=softfp', d)} \
                 ${@bb.utils.contains('TUNE_FEATURES', 'neon', '--with-arm-fpu=neon', \
                    bb.utils.contains('TUNE_FEATURES', 'vfpv3d16', '--with-arm-fpu=vfpv3-d16', \
                    bb.utils.contains('TUNE_FEATURES', 'vfpv3', '--with-arm-fpu=vfpv3', \
                    '--with-arm-fpu=vfp', d), d), d)}"
ARCHFLAGS ?= ""

Above is pseudo-file. Please tell how can i do that

What exactly are you trying to do?
Could you describe exactly the steps you have done?
Thanks and best regards,
Jaski

Hi @jaski.tx
I want to run nodejs and node-red on my yocto build system. For the purpose , i try adding meta-nodejs layer, which fails with the same error. When i checked recipes in meta-nodejs/recipes-devtools/nodejs/nodejs_7.inc. This file does not have my compatible machine ,i.e. , arm7l. I tried adding my machine, still build failed.

Mixing and matching recipes across different layers and versions thereof like that is usually a non-trivial endeavor due to various dependencies not only on other exact versions of software components but also the build system itself.