Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Apple LLVM 8.1 breaks node-gyp? #1160

Closed
kessiler opened this issue Mar 29, 2017 · 8 comments
Closed

Apple LLVM 8.1 breaks node-gyp? #1160

kessiler opened this issue Mar 29, 2017 · 8 comments

Comments

@kessiler
Copy link

kessiler commented Mar 29, 2017

Today's apple update for LLVM 8.1 seems to break node-gyp.

/Users/kessilerrodrigues/.node-gyp/0.12.18/include/node/v8.h:5800:54: error: 'CreateHandle' is a protected member of 'v8::HandleScope'
  return Handle<T>(reinterpret_cast<T*>(HandleScope::CreateHandle(
                                        ~~~~~~~~~~~~~^~~~~~~~~~~~
/Users/kessilerrodrigues/.node-gyp/0.12.18/include/node/v8.h:820:29: note: declared protected here
  static internal::Object** CreateHandle(internal::Isolate* isolate,

Apple LLVM version 8.1.0 (clang-802.0.38)

@bnoordhuis
Copy link
Member

You're probably out of luck. v0.12.18 is out of support, nothing can be done about that. Try upgrading to node.js v4.x or newer.

@kessiler
Copy link
Author

:(

@thoro
Copy link

thoro commented Apr 2, 2017

@kessiler Just move the definition of CreateHandle in the .h file from the protected to the public definition - that should fix the build error!

@DannyJoris
Copy link

@thoro that worked, thanks!

@jainmonica
Copy link

@thoro Thanks for the tip, this really worked

@pedrosanta
Copy link

pedrosanta commented Apr 20, 2017

@kessiler also struggling with this very issue, trying to install livedb/hiredis on 0.12. 😕 I think it will just speed up the planned upgrade maintenance for this.

ilovezfs added a commit to Homebrew/formula-patches that referenced this issue Jun 2, 2017
Fixes build failure with >= Apple LLVM version 8.1.0 (clang-802.0.42).

The error is
```
../deps/v8/include/v8.h:5800:54: error: 'CreateHandle' is a protected member of 'v8::HandleScope'
```

Fix suggested by Thomas Rosenstein in nodejs/node-gyp#1160.
@andrewhine
Copy link

For those who are not familiar with .h files, you need to move:

static internal::Object** CreateHandle(internal::Isolate* isolate, internal::Object* value);

from under

protected:

to under

public:

Around line 820 in

v8/include/v8.h

@superandrew
Copy link

superandrew commented Jan 10, 2022

I'm having this exact problem while recreating an old setup. However, I changed the file in the archive, but every time I try nvm install it says the checksum failed because I updated the archive.

How can you install a node version from a local tar.gz archive?

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

No branches or pull requests

8 participants