Ben Noordhuis a60056df3c src: fix addon loader regression
Fix a regression that was introduced in commit a38b9178 by removing the
bad check.  Also rearrange the addon loading logic to ensure that the
list of pending addons remains in a consistent state when the shared
object fails to load; in particular, when an addon self-registers first,
then hits a dynamic linker error in a later constructor.

Fixes the following asserting when loading a .node shared object:

    node: ../src/node.cc:1944: void node::node_module_register(void*):
    Assertion `(modpending) != (nullptr)' failed.

Fixes strongloop/strongops#233.

PR-URL: https://github.com/iojs/io.js/pull/154
Reviewed-By: Ryan Graham <ryan@strongloop.com>
2014-12-13 23:07:06 +01:00
2014-12-12 09:52:05 -08:00
2014-12-12 09:52:05 -08:00
2014-12-13 23:07:06 +01:00
2014-12-12 12:14:11 +11:00
2013-03-19 20:07:38 +01:00
2013-06-17 17:21:56 +02:00
2014-12-09 16:18:50 +01:00

io.js

![Gitter](https://badges.gitter.im/Join Chat.svg)

This repository began as a GitHub fork of joyent/node. io.js contributions, releases, and contributorship are under an open governance model. We intend to land, with increasing regularity, releases which are compatible with the npm ecosystem that has been built to date for node.js.

Is it io.js or IO.js or iojs or IOjs or iOjS?

The official name is io.js, which should never be capitalized, especially not at the start of a sentence, unless it is being displayed in a location that is customarily all-caps (such as the title of man pages.)

To build:

Prerequisites (Unix only):

  • gcc and g++ 4.8 or newer, or
  • clang and clang++ 3.3 or newer
  • Python 2.6 or 2.7
  • GNU Make 3.81 or newer
  • libexecinfo (FreeBSD and OpenBSD only)

Unix/Macintosh:

./configure
make
make install

If your python binary is in a non-standard location or has a non-standard name, run the following instead:

export PYTHON=/path/to/python
$PYTHON ./configure
make
make install

Prerequisites (Windows only):

  • Python 2.6 or 2.7
  • Visual Studio 2013 for Windows Desktop, or
  • Visual Studio Express 2013 for Windows Desktop

Windows:

vcbuild nosign

You can download pre-built binaries for various operating systems from http://nodejs.org/download/. The Windows and OS X installers will prompt you for the location in which to install. The tarballs are self-contained; you can extract them to a local directory with:

tar xzf /path/to/node-<version>-<platform>-<arch>.tar.gz

Or system-wide with:

cd /usr/local && tar --strip-components 1 -xzf \
                    /path/to/node-<version>-<platform>-<arch>.tar.gz

To run the tests:

Unix/Macintosh:

make test

Windows:

vcbuild test

To build the documentation:

make doc

To read the documentation:

man doc/node.1

To build Intl (ECMA-402) support:

Note: more docs, including how to reduce disk footprint, are on the wiki.

Use existing installed ICU (Unix/Macintosh only):

pkg-config --modversion icu-i18n && ./configure --with-intl=system-icu

Build ICU from source:

First: Unpack latest ICU icu4c-##.#-src.tgz (or .zip) as deps/icu (You'll have: deps/icu/source/...)

Unix/Macintosh:

./configure --with-intl=full-icu

Windows:

vcbuild full-icu

Resources for Newcomers

Description
Node.js JavaScript runtime 🐢🚀 nodejs.org
Readme Multiple Licenses 1.4 GiB
Languages
JavaScript 62.4%
C++ 23.1%
Python 10.1%
C 2.7%
HTML 0.6%
Other 0.9%