Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

recipe: Node.js v7 cross-compilation dependency issues #56

Open
imyller opened this issue Oct 29, 2016 · 6 comments
Open

recipe: Node.js v7 cross-compilation dependency issues #56

imyller opened this issue Oct 29, 2016 · 6 comments

Comments

@imyller
Copy link
Owner

imyller commented Oct 29, 2016

Node.js v7 ships with new version of V8 Javascript engine that requires native (host) compilation of mkpeephole utility. mkpeephole is fundamental to the design of the new ignition interpreter in V8.

Unfortunately V8 mandates building mkpeephole tool with 32-bit (!) native toolchain. In addition, if opting to build with external openssl and/or zlib, the compilation requires 32-bit versions of those as well for the native toolchain.

Installing g++-multilib package to host system allows building Node.js v7 recipes for most embedded targets, but such host system dependency is not included by default in Yocto 2.1 build system requirements.

Different options for resolving this both in Node.js+V8 upstreams and within OpenEmbedded tools are currently being explored. Good ideas are welcome!

This issue has been opened as proper place to continue the discussion started in issue comments:

c54ce2a#commitcomment-19620853

@imyller
Copy link
Owner Author

imyller commented Oct 29, 2016

/cc @bachp @gizero @ofrobots

@imyller
Copy link
Owner Author

imyller commented Oct 29, 2016

Documented Node v7 requirements to master branch README in commit 0b66df5

Hopefully we can resolve the issue and remove this doc before merging v7 in krogoth branch.

@imyller
Copy link
Owner Author

imyller commented Nov 29, 2016

No progress yet.

Looks like we are going to have to kindly ask Yocto to include g++-multilib (in addition to existing gcc-multilib) to host/build system package requirements. I'm not too hopeful of that happening though:

http://www.yoctoproject.org/docs/2.3/ref-manual/ref-manual.html#required-packages-for-the-host-development-system

While I hoped not to, I'm now considering merging v7.x Node.js recipes to krogoth and jethro branches with this dependency requirement.

@imyller
Copy link
Owner Author

imyller commented Dec 7, 2016

Node.js v7.x.x is now in krogoth branch.

Unfortunately g++-multilib is now build system dependency for all Yocto versions when building Node.js v7 or newer.

@Nitnelav
Copy link

Nitnelav commented Jun 4, 2017

Hi, I struggled a bit finding out this dependency was needed.
Could you add it on the README ?

and for the record, on my Ubuntu 14.04 64bit host, I also had to install :
lib32z1-dev
libssl-dev:i386
libcrypto++-dev (not shure this one was needed)

@cristina21r
Copy link

I'm using rocko..what should i do before bitbake core-minimal, in order to manage working with nodejs>=6 and npm in my linux?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants