Skip to content

Working build script for Android ARM Node 7.x or 8.x shared library #14783

Closed
@aschrijver

Description

@aschrijver

I spend the full day yesterday trying many variations of android-configure and other build scripts, with different versions of Node to create a shared library libnode.so for ARM.

An overview of build options that were tried so far (some successes):

Node NDK Arch Description Result Details
7.1.0 r15 latest ARM dna2oslab + --shared fail #14783 (comment)
7.4.0 up to 7.9.0 r13b ARM J2V8 libnode.a linked in libj2v8.so using PR#327 [1] success eclipsesource/J2V8#327 (comment)
7.10.1 r15 latest ARM dna2oslab + --shared fail #14783 (comment)
8.3.0 r17 canary ARM android-configure + --shared fail #14783 (comment)
8.x (none) ARM64 on-device using termux + python configure success node-on-mobile/node-on-android#4 (comment)
8.x master + #14837 r13b ARM J2V8 libnode.a linked in libj2v8.so using PR#327 fail eclipsesource/J2V8#327 (comment)
8.x r17 canary ARM J2V8 libnode.a linked in libj2v8.so using Clang and libc++ [2] fail
[3]
eclipsesource/J2V8#334 (comment)
v8.11.4 r17b ARM / x64 built via build-nodejs-for-android-perfectly success see: #14783 (comment)

[1] Or build only the static library with https://github.com/eclipsesource/static-node-build
[2] Clang + libc++ are the way to go for 8.x builds
[3] Looks promising, needs compiling with libandroid_support headers

Are there any more build script configurations known to work in creating Node shared libraries?


Many thanks to @gardner @DanAlbert @drywolf @matiwinnetou @irbull @mafintosh @gibfahn for all their great efforts in helping to figure this out! 👍

Metadata

Metadata

Assignees

No one assigned

    Labels

    armIssues and PRs related to the ARM platform.buildIssues and PRs related to build files or the CI.questionIssues that look for answers.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions