Description
Version: 6.11.5
Platform: Linux fcdev 4.13.13-300.fc27.x86_64 #1 SMP Wed Nov 15 15:47:50 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
I am trying to build nodejs binary on a Fedora 27 host, using --fully-static, because my target host is Fedora Core 6. This is how I build:
./configure --fully-static
make -j
The compile/link would go thru and generate a node binary, with some warnings similar to the one below:
dso_dlfcn.c:(.text+0x12): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/syen/src/node-v6.11.5/out/Release/obj.target/node/src/node.o: In function `node::InitGroups(v8::FunctionCallbackInfov8::Value const&)':
But I could run this node binary just fine on the Fedora 27 build host. But when I copy node binary to my target Fedora 6 host and run it, it would segment fault immediately without even get to the ">" prompt.
The weird thing is, the official linux binary from nodejs.org site would have no problem running on my target Fedora 6 host. I can get a ">" prompt, and I can execute my javascript with this binary.
So, my questions:
- how is the official node binary for linux built?
- why my "--fully-static" binary build would still generate some binary that will reference a shared glibc library?
I've looked up and down on nodejs website and I couldn't find any documentation on how the official binary was built...