-
Notifications
You must be signed in to change notification settings - Fork 85
Conversation
I have nothing against doing this, but it'll drop support for NixOS. |
I can try tomorrow if the last release causes this require problem on NixOS, don't know what the result of that experiment should lead us to. Maybe this can be solved differently. |
@hlolli Here's a better explanation of what's happening:
|
https://github.com/nodejs/node/wiki/statically-linked-executable from here it sounds like fully-static nexe can't use the standard glibc? |
Fully static linking on linux was requested by me in #137. What about building and bundling two versions of lumo? And let launcher script decide which one to launch based on a command-line flag? |
@darwin is lumo already in nixpkgs repo? If nix needs fully-static then some nix-expression could be written to download the fully-static version of lumo (could be made as a release parallel to default non-static releases). |
I'm sorry. I don't know anything about nix. My problem was running Lumo on old Ubuntu 14.04, which is what Travis CI offers. I believe the problem was that Lumo was compiled agains pretty recent libc, but Ubuntu had pretty old one. That caused a mismatch in symbols when Lumo linked old libc dynamically. |
I think the fundamental problem is that Linux expects you to compile stuff or use packages compiled specifically for given OS version. One pre-compiled lumo binary shared between all different systems cannot cut it. Except being statically linked. And then you run into issues you linked. |
Right. I'm inclined to just accept this PR for now and figure out things in another issue later. As I said before, I don't really mind dropping NixOS support, I don't know anything about Nix and I think someone should just handle that downstream in nixpkg |
@anmonteiro Ok, go for it. My use-case is not that important. |
Just curious here, can't Nixos create a sandbox with exactly the glibc version necessary to run? This looks like something a devop dev would definitely want to do (for example for Lumo compiled statically) |
I don't know about NixOS. Overall I think it's preferable to have a dynamically linked binary to avoid bugs like the one this PR fixes. |
#163
This was as simple as this, removeing the --fully-static compiler flag for linux.
Got some clues here nodejs/node#3207
that this may not be necessary, tough I must admit I don't know what this adds.