Building node.js on OpenIndiana
More specifically, these instructions should let you build node 0.8.16, the current stable version, on
$ uname -a SunOS cooler 5.11 oi_151a5 i86pc i386 i86pc Solaris
(cooler is in its seventh year of service, having run many builds of Solaris, OpenSolaris, and, now, OpenIndiana.) First, you’ll need a GCC 4.x compiler. If you attempt to use the 3.4.3
gcc compiler, you’ll get
cc1: error: unrecognized command line option "-fno-tree-vrp" cc1: error: unrecognized command line option "-fno-tree-sink"
in the output from your failed build. So, use the Illumos GCC 4.4.4 build, which you can install via
$ sudo pkg install developer/illumos-gcc developer/gnu-binutils
which led to the installation on my system, of 3 packages, and a total of 56.9MiB of content downloaded. Include these new tools in your path for the build:
$ export PATH=/opt/gcc/4.4.4/bin:/usr/gnu/bin:$PATH
To help the node build find the appropriate Standard C++ library for linking, we set the linker run path, via the environment. (By having a correct run path, our
node binary won’t need
LD_LIBRARY_PATH to be set to pick up
libstdc++.so.6.) We can then configure, and issue the (GNU) make to start a build:
$ export LD_RUN_PATH=/opt/gcc/4.4.4/lib $ CC=gcc ./configure --prefix=$HOME $ CC=gcc gmake
You can test the resulting binary
$ ./node > process.version; 'v0.8.16' > ^D
and install the node platform to the configured location.
$ CC=gcc gmake install
And now you have a working
node.js for your OpenIndiana system.
npm is installed as well, so you can begin downloading the modules needed for your development. (If you’re running OmniOS, it looks like the “managed services” repository includes a
pkg(5)-installable node.js package, so you can install that interpreter directly. Maybe that’s what cooler should run next.)