Skip to content
This repository has been archived by the owner on Feb 25, 2019. It is now read-only.

npm install on OS X with node 0.12 failing #287

Closed
henrjk opened this issue Oct 28, 2015 · 8 comments
Closed

npm install on OS X with node 0.12 failing #287

henrjk opened this issue Oct 28, 2015 · 8 comments

Comments

@henrjk
Copy link
Contributor

henrjk commented Oct 28, 2015

Here is an excerpt of the error I am seeing:

connect-original dev$ npm install
npm WARN prefer global coffee-script@1.10.0 should be installed with -g

> bcrypt@0.8.5 install /Users/dev/code/follow/connect-original/node_modules/bcrypt
> node-gyp rebuild

  CXX(target) Release/obj.target/bcrypt_lib/src/blowfish.o
  CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt.o
  CXX(target) Release/obj.target/bcrypt_lib/src/bcrypt_node.o
  SOLINK_MODULE(target) Release/bcrypt_lib.node

> spawn-sync@1.0.13 postinstall /Users/dev/code/follow/connect-original/node_modules/passport-adauth/node_modules/adauth/node_modules/sync-request/node_modules/spawn-sync
> node postinstall


> dtrace-provider@0.2.8 install /Users/dev/code/follow/connect-original/node_modules/passport-ldapauth/node_modules/ldapauth-fork/node_modules/ldapjs/node_modules/dtrace-provider
> node-gyp rebuild

  ACTION binding_gyp_libusdt_target_build_libusdt .
Building libusdt for x86_64
rm -f *.gch
rm -f *.o
rm -f libusdt.a
rm -f test_usdt
rm -f test_usdt32
rm -f test_usdt64
rm -f test_mem_usage
gcc -O2 -arch x86_64   -c -o usdt.o usdt.c
usdt.c:212:9: warning: implicit declaration of function 'usdt_dof_section_free' is invalid in C99 [-Wimplicit-function-declaration]
        usdt_dof_section_free(&strtab);
        ^
usdt.c:238:9: warning: implicit declaration of function 'usdt_dof_file_free' is invalid in C99 [-Wimplicit-function-declaration]
        usdt_dof_file_free(provider->file);
        ^
2 warnings generated.
gcc -O2 -arch x86_64   -c -o usdt_dof_file.o usdt_dof_file.c
gcc -arch x86_64 -o usdt_tracepoints.o -c usdt_tracepoints_x86_64.s
gcc -O2 -arch x86_64   -c -o usdt_probe.o usdt_probe.c
gcc -O2 -arch x86_64   -c -o usdt_dof.o usdt_dof.c
gcc -O2 -arch x86_64   -c -o usdt_dof_sections.o usdt_dof_sections.c
rm -f libusdt.a
ar cru libusdt.a usdt.o usdt_dof_file.o usdt_tracepoints.o usdt_probe.o usdt_dof.o usdt_dof_sections.o 
ranlib libusdt.a
  TOUCH Release/obj.target/libusdt.stamp
  CXX(target) Release/obj.target/DTraceProviderBindings/dtrace_provider.o
In file included from ../dtrace_provider.cc:1:
../dtrace_provider.h:69:44: error: no type named 'Arguments' in namespace 'v8'; did you mean 'v8::internal::Arguments'?
    static v8::Handle<v8::Value> New(const v8::Arguments& args);
                                           ^~~~~~~~~~~~~

This is followed by perhaps 20 more errors in dtrace_provider.

@henrjk
Copy link
Contributor Author

henrjk commented Oct 28, 2015

I am seeing this with these version of my tools:

dev$ gcc -v 
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix

dev$ npm -v
2.11.2
dev$ node -v
v0.12.6

Initially I thought updating ldapjs to 1.0.0 might solve the issue similar to this one but the build still failed.

@christiansmith
Copy link
Member

We need @vsimonian to chime in with respect to ldapjs... I remember we were keeping it fixed at a specific version for a reason. Is that still valid?

@henrjk
Copy link
Contributor Author

henrjk commented Oct 28, 2015

> dtrace-provider@0.2.8 install /Users/dev/code/work/connect2/node_modules/passport-ldapauth/node_modules/ldapauth-fork/node_modules/ldapjs/node_modules/dtrace-provider
> node-gyp rebuild

...
passport-ldapauth@0.3.1 node_modules/passport-ldapauth
└── ldapauth-fork@2.3.3 (lru-cache@2.5.0, bcryptjs@2.1.0, ldapjs@0.7.1)

It seems like the unbuildable version may come in from the passport-ldapauth. The readme talks about this

@henrjk
Copy link
Contributor Author

henrjk commented Oct 28, 2015

It appears that this is an optional dependency and npm run test still works after building with the error.

@henrjk
Copy link
Contributor Author

henrjk commented Oct 28, 2015

The exit code of the npm install is 0, which means that the error in building the optional dependency will not cause a build error.

@adalinesimonian
Copy link
Member

passport-ldapauth bundles a version of ldapjs that doesn't build correctly on OS X due to its old dtrace-provider dependency. There's not much we can do about it except require the latest copy of ldapjs directly from git on the project, which we do and is also what the package author recommends. With passport-adauth, I chose to avoid the problem and require ldapjs directly from git, which is why only passport-ldapauth causes this misleading build error.

That being said, you should be able to safely ignore the failing build and continue to use the server as you otherwise would.

@henrjk
Copy link
Contributor Author

henrjk commented Oct 28, 2015

While a build error like this seems annoying, ideally this should be fixed upstream.
However if nobody objects, I would close this issue soon as this is not causing deeper problems here.

@christiansmith
Copy link
Member

@vsimonian thanks for providing context. @henrjk, I agree it would be great to see this fixed upstream.

No objections to closing the issue for now.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants