Giter VIP home page Giter VIP logo

Comments (4)

lexor90 avatar lexor90 commented on August 20, 2024

Hello,
I guess this is very specific to each native module.

I don't have much experience on windows platforms but I guess that as long as the modules you're referring to do work on different windows applications once installed/compiled (that is you move the whole node application including the node_modules/ folder) so will they once compiled and vice versa.

So speaking out of experience on *nix platforms, if the module at compile time has some flag specific to the host you're compiling on, it won't run on other platforms (e.g. some freebsd syscal not compatible with linux). While others may work (I properly run some modules compiled on ubuntu on debian platforms since all they were doing was linking some third party lib).

It'd be awesome if you could test and report to us.

Cross-compiling on *nix compiles everything using the target toolchain (rather than host's), which takes care of preparing all builds (including native modules) to work properly on the platform specified because the setup process of the toolchain includes overriding all compiler/linking and other essential build tools environment variables. By the way cross-compiling is not always possible (e.g. if the native module needs to run something before to terminate the compilation process it will do this on the host machine. An example? think of a module which wants to compute how many cores you have on your machine... it will cross-compile, but it'd do so taking the host processor number, not the target one, assuming it sets a macro at configure time).

TL;DR;
In my experience, it only depends upon the support the native module itself has for cross-compilation.

from node-packer.

firrae avatar firrae commented on August 20, 2024

I plan on doing some tests, but I was partially hoping this might solve an issue I'm having with node-oracledb and Windows Server 2012R2. I'll play with it though.

from node-packer.

lexor90 avatar lexor90 commented on August 20, 2024

May it be related to a different configuration of oracledb between the two platforms?
Or maybe some oracle-specific settings is changing between them.

BTW it depends upon the error itself, but I don't think the compilation process will do some magic to avoid the actual problem, since at runtime the two compare the same way (the logic node-oracledb performs with plain node does not differ from what it does in nodec).

BTW give it a try, it may be something else!

Please let me know when you have tested this, I'm curious to know more about it.
Going to close this for now, but please, re-open it when you have new info.

from node-packer.

firrae avatar firrae commented on August 20, 2024

Hey @lexor90, so I did some follow-up testing and it seems that a nodec built application with node-oracledb and bcrypt is able to be built on Windows Server 2012R2 and will run on Windows 8.1, 10, and Windows Server 2016. Node-oracledb has some extra dependencies that need to be on the host system, but there is no seeable compatibility issue when those exist.

from node-packer.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.