Skip to content

Compile static index.node #360

@fyn-dev

Description

@fyn-dev

When i try to change Cargo.toml to

[lib]
crate-type = ["staticlib"]

I getting this error

neon ERR! ENOENT: no such file or directory, open '.../target/debug/libmy_module.so'

but then how to compile index.node as static so all dependencies like glibc linked into index.node?

The problem is that when I run my custom module on AWS Lambda function it complains that

/lib64/libc.so.6: version GLIBC_2.18' not found (required by /var/task/index.node) `

on AMI, which execute my lambda function, installed 2.17 version of GLIBC

So this is super inconvenient to create custom build toolchain for Rust to complies with old glibc 2.17 in addition it may missing some other shared libraries which may require by my module. So I prefer to build static index.node which has everything linked with all dependencies in one file so I can run on the Linux server without relying on shared libraries. How to achieve this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions