Skip to content
Jim Tittsler edited this page Mar 29, 2022 · 12 revisions

Current Status

Currently Node9 compiles and runs on OSX and Linux x86_64 and is being enabled for native compilation on BSD and Windows with eventual cross-compilation to the Android NDK. We appreciate your patience in these early days. There are lot of platform build and functional changes being applied.

Update: 08/03/2017

Double Whoa. Very long time. Finally back in a place where I'm comfortable working on Node9 again. First some cleanup on the build and sources. Something changed recently that broke the 'OBJTYPE' setting in the premake file. I fixed it and it's building again. Apparently there is a deprecation in BSD style defines that generates a lot of warning noise, but it doesn't affect the build. With a little luck I'll keep adding patches to get it up to snuff.

Update: 04/22/2016

Whoa. Long time since I touched my project. Bad developer, no caffeine. No, I'm not going to stop this project, but I left my job (first time in 30 years), found a new one at Level 3 and I'm in the middle of closing on a house and assisting my son with his indie films, so I'm a little busy. I will continue as soon as I close on the house and get my lab setup again. Please hang in there. I think I know how to use Node9 as a sophisticated cloud command and control OS now.

Update: 10/26/2015

Finally set up a full remote debug environment on FreeBSD using gdb, the gdb 'tty' command and 'socat'. Narrowed it down to a problem with byte buffer allocation. Not sure why yet, but hopefully resolved soon and then we'll have FreeBSD. After that, I think I'll move on to getting more features in it.

Update: 10/09/2015

I've recently had a chance to perform some light debugging on the build process and apparently the problem is not that the libraries were being compiled on different compilers. There's something hidden deep in probably the memory manager or in the sysreq queues that's corrupting the executable. I'll track it down as soon as I get a couple of hours free to hook it up to a remote gdb target.

Update: 08/17/2015

Thanks for your patience. I'm currently super-busy with a new job and in my spare time I have production duties on a film. Other than that I'm working on an OS. The instabilities in the BSD port are very likely related to the fact that the libuv and luajit sub-projects were randomly choosing which compiler to use. Also, there were a few glitches in the call stack tracing in debug mode. As soon as I get this fixed it should be easy to port to NetBSD and OpenBSD and (likely) DragonFly. Stand by (again :)

Update: 07/23/2015

Both Linux and OSX 64 bit platforms appear to build and work according to the docs. Some corrections were required in the GCC link stage on Linux to get it working out of the box.

I did quite a bit of work this evening on getting the FreeBSD port operational. Even though premake5 isn't available yet for FreeBSD, you can use the pre-generated makefiles from my Linux build system. Node9 on FreeBSD builds and starts, but there is some strangeness causing kernel panics. Once I attach a debugger it will probably become obvious.

Hang in there. Once I get FreeBSD ported, Net and Open should be fairly straightforward.

Then comes Windows. That will be at least a couple days' work.

Update: 06/28/2015

I've just completed and uploaded the changes for the linux/gcc port. There were a fair number of things that OSX/clang just didn't care about or ignored while GCC barfed on them. While clang/llvm was a lot more anal-retentive by default with the source code, the gcc/ld link-loader conventions required a fair number of modifications to support a relatively exotic mix of static and dynamic linking.

Please refer to the hackers guide for information about porting to new platforms. Currently we need people to checkout and build on OSX and Linux 64 bit. We also need people to try porting to the BSDs and Windows 64-bit.

Clone this wiki locally