title: NPM Install Fails on GYP MAKE: Error: `make` failed with exit code: 2
body: <p>We recently took over a website and are now facing troubles updating the SASS. When running <code>npm install</code> a bunch of errors get thrown out.</p>
  
  <p>When rebuilding Gyp, something goes wrong and the process aborts.</p>
  
  <p>I've looked over a bunch of different posts and have already tried the following:</p>
  
  <ul>
  <li>Ran it as sudo</li>
  <li>Removing .node-gyp and rerunning <code>npm install</code></li>
  <li>Making sure the correct libtool is loaded (I'm using the one supplied by MAMP, the one in /usr/bin gives even more errors on execution)(Am not using macports)</li>
  <li>Updated XCode to latest version</li>
  <li>Make sure brew doesnt interfere (as in <a href="https://stackoverflow.com/questions/24246152/error-building-libxmljs-for-node-js">Error building libxmljs for node.js</a>)</li>
  <li>Updated NPM &amp; node to latest versions and made sure there are no spaces in my path (as in <a href="https://github.com/nodejs/node-gyp/issues/809" rel="nofollow noreferrer">https://github.com/nodejs/node-gyp/issues/809</a>)</li>
  </ul>
  
  <p>Meanwhile I tested this with the following node versions: </p>
  
  <ul>
  <li>node v7.4.0 + npm v4.0.5</li>
  <li>node v6.9.4 + npm v3.10.10</li>
  <li>node v4.6 + npm v3.1.8.10</li>
  <li>node v0.12.18 + npm v2.15.11</li>
  <li>node v0.11.13 + npm v1.4.9 </li>
  </ul>
  
  <p>None of these worked.</p>
  
  <p>Here is the error-code generated in my terminal:</p>
  
  <pre><code>--- themes/the_theme ‹master* M?› » sudo npm install
  Password:
  npm WARN deprecated minimatch@2.0.10: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
  
  &gt; libxmljs@0.8.1 install /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme/node_modules/libxmljs
  &gt; node-gyp rebuild
  
    CC(target) Release/obj.target/libxml/vendor/libxml/buf.o
    CC(target) Release/obj.target/libxml/vendor/libxml/catalog.o
    CC(target) Release/obj.target/libxml/vendor/libxml/chvalid.o
    CC(target) Release/obj.target/libxml/vendor/libxml/dict.o
    CC(target) Release/obj.target/libxml/vendor/libxml/encoding.o
    CC(target) Release/obj.target/libxml/vendor/libxml/entities.o
    CC(target) Release/obj.target/libxml/vendor/libxml/error.o
    CC(target) Release/obj.target/libxml/vendor/libxml/globals.o
    CC(target) Release/obj.target/libxml/vendor/libxml/hash.o
    CC(target) Release/obj.target/libxml/vendor/libxml/HTMLparser.o
    CC(target) Release/obj.target/libxml/vendor/libxml/HTMLtree.o
    CC(target) Release/obj.target/libxml/vendor/libxml/legacy.o
    CC(target) Release/obj.target/libxml/vendor/libxml/list.o
    CC(target) Release/obj.target/libxml/vendor/libxml/parser.o
  ../vendor/libxml/parser.c:13492:43: warning: passing 'const xmlChar *' (aka 'const unsigned char *') to parameter of type 'const char *' converts between pointers to integer types with different sign [-Wpointer-sign]
          hdlr = xmlFindCharEncodingHandler(doc-&gt;encoding);
                                            ^~~~~~~~~~~~~
  ../vendor/libxml/include/libxml/encoding.h:175:42: note: passing argument to parameter 'name' here
          xmlFindCharEncodingHandler      (const char *name);
                                                       ^
  1 warning generated.
    CC(target) Release/obj.target/libxml/vendor/libxml/parserInternals.o
    CC(target) Release/obj.target/libxml/vendor/libxml/pattern.o
    CC(target) Release/obj.target/libxml/vendor/libxml/relaxng.o
    CC(target) Release/obj.target/libxml/vendor/libxml/SAX2.o
    CC(target) Release/obj.target/libxml/vendor/libxml/SAX.o
    CC(target) Release/obj.target/libxml/vendor/libxml/tree.o
    CC(target) Release/obj.target/libxml/vendor/libxml/threads.o
    CC(target) Release/obj.target/libxml/vendor/libxml/uri.o
    CC(target) Release/obj.target/libxml/vendor/libxml/valid.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xinclude.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xlink.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlIO.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlmemory.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlmodule.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlreader.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlregexp.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlsave.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemas.o
  ../vendor/libxml/xmlschemas.c:24203:10: warning: explicitly assigning value of variable of type 'xmlSchemaValType' to itself [-Wself-assign]
          valType = valType;
          ~~~~~~~ ^ ~~~~~~~
  1 warning generated.
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlschemastypes.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlstring.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlunicode.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xmlwriter.o
    CC(target) Release/obj.target/libxml/vendor/libxml/xpath.o
  ../vendor/libxml/xpath.c:12402:13: warning: comparison of constant 'XML_NAMESPACE_DECL' (18) with expression of type 'xmlXPathTypeVal' is always false [-Wtautological-constant-out-of-range-compare]
                          if (type == XML_NAMESPACE_DECL)
                              ~~~~ ^  ~~~~~~~~~~~~~~~~~~
  In file included from ../vendor/libxml/xpath.c:185:
  ../vendor/libxml/trionan.c:194:1: warning: unused function 'trio_is_special_quantity' [-Wunused-function]
  trio_is_special_quantity
  ^
  ../vendor/libxml/trionan.c:218:1: warning: unused function 'trio_is_negative' [-Wunused-function]
  trio_is_negative
  ^
  3 warnings generated.
    CC(target) Release/obj.target/libxml/vendor/libxml/xpointer.o
    LIBTOOL-STATIC Release/xml.a
  libtool: unrecognized option `-static'
  libtool: Try `libtool --help' for more information.
  make: *** [Release/xml.a] Error 1
  gyp ERR! build error 
  gyp ERR! stack Error: `make` failed with exit code: 2
  gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
  gyp ERR! stack     at emitTwo (events.js:106:13)
  gyp ERR! stack     at ChildProcess.emit (events.js:191:7)
  gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
  gyp ERR! System Darwin 16.0.0
  gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
  gyp ERR! cwd /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme/node_modules/libxmljs
  gyp ERR! node -v v6.9.4
  gyp ERR! node-gyp -v v3.4.0
  gyp ERR! not ok 
  theaim@2.0.2 /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme
  └── (empty)
  
  npm WARN theaim@2.0.2 No description
  npm WARN theaim@2.0.2 No repository field.
  npm WARN theaim@2.0.2 No license field.
  npm ERR! Darwin 16.0.0
  npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install"
  npm ERR! node v6.9.4
  npm ERR! npm  v3.10.10
  npm ERR! code ELIFECYCLE
  
  npm ERR! libxmljs@0.8.1 install: `node-gyp rebuild`
  npm ERR! Exit status 1
  npm ERR! 
  npm ERR! Failed at the libxmljs@0.8.1 install script 'node-gyp rebuild'.
  npm ERR! Make sure you have the latest version of node.js and npm installed.
  npm ERR! If you do, this is most likely a problem with the libxmljs package,
  npm ERR! not with npm itself.
  npm ERR! Tell the author that this fails on your system:
  npm ERR!     node-gyp rebuild
  npm ERR! You can get information on how to open an issue for this project with:
  npm ERR!     npm bugs libxmljs
  npm ERR! Or if that isn't available, you can get their info via:
  npm ERR!     npm owner ls libxmljs
  npm ERR! There is likely additional logging output above.
  
  npm ERR! Please include the following file with any support request:
  npm ERR!     /Users/pietermathys/Sites/sitename/sites/sitename/themes/the_theme/npm-debug.log
  npm ERR! code 1
  </code></pre>
  
  <p>I feel like I've exhausted most of my options, but I'm still not seeing it. I hope someone out there can shed some light on this.</p>