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

Cannot compile patchbay #364

Open
christianlupus opened this issue Jan 17, 2020 · 8 comments
Open

Cannot compile patchbay #364

christianlupus opened this issue Jan 17, 2020 · 8 comments

Comments

@christianlupus
Copy link

I have the problem that I try to compile patchbay on my Archlinux system. I get a whole lot of errors and warnings. I put it in a gist, as it is too lengthy to put it here.

I think the relevant (and first) error is around line 793 in the log file:

[...]
  CXX(target) Release/obj.target/sodium/src/crypto_stream_xor_wrap.o
In file included from ../src/crypto_hash_sha256_wrap.h:4,
                 from ../src/crypto_hash_sha256_wrap.cc:1:
../../nan/nan.h: In function 'void Nan::AsyncQueueWorker(Nan::AsyncWorker*)':
../../nan/nan.h:2298:62: warning: cast between incompatible function types from 'void (*)(uv_work_t*)' {aka 'void (*)(uv_work_s*)'} to 'uv_after_work_cb' {aka 'void (*)(uv_work_s*, int)'} [-Wcast-function-type]
 2298 |     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
      |                                                              ^
In file included from ../src/crypto_hash_sha256_wrap.cc:2:
../src/crypto_hash_sha256_wrap.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE CryptoHashSha256Wrap::Update(Nan::NAN_METHOD_ARGS_TYPE)':
../src/macros.h:66:46: error: no matching function for call to 'v8::Value::ToObject()'
   66 |   v8::Local<v8::Object> var = name->ToObject();
      |                                              ^
../src/macros.h:69:3: note: in expansion of macro 'ASSERT_BUFFER'
   69 |   ASSERT_BUFFER(name, var) \
      |   ^~~~~~~~~~~~~
../src/crypto_hash_sha256_wrap.cc:18:3: note: in expansion of macro 'ASSERT_BUFFER_SET_LENGTH'
   18 |   ASSERT_BUFFER_SET_LENGTH(info[0], input)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from /home/christian/.cache/node-gyp/13.6.0/include/node/node.h:63,
                 from ../../nan/nan.h:54,
                 from ../src/crypto_hash_sha256_wrap.h:4,
                 from ../src/crypto_hash_sha256_wrap.cc:1:
/home/christian/.cache/node-gyp/13.6.0/include/node/v8.h:2754:44: note: candidate: 'v8::MaybeLocal<v8::Object> v8::Value::ToObject(v8::Local<v8::Context>) const'
 2754 |   V8_WARN_UNUSED_RESULT MaybeLocal<Object> ToObject(
      |                                            ^~~~~~~~
/home/christian/.cache/node-gyp/13.6.0/include/node/v8.h:2754:44: note:   candidate expects 1 argument, 0 provided
In file included from ../src/crypto_hash_sha256_wrap.cc:2:
../src/crypto_hash_sha256_wrap.cc: In static member function 'static Nan::NAN_METHOD_RETURN_TYPE CryptoHashSha256Wrap::Final(Nan::NAN_METHOD_ARGS_TYPE)':
../src/macros.h:66:46: error: no matching function for call to 'v8::Value::ToObject()'
[...]

I guess this is due to an incompatible library/binary version. Can you hint me, where I can look? I did not find anything to solve this.

If you need any information about my system, please tell me.

@edrex
Copy link
Contributor

edrex commented Mar 2, 2020

Hi @christianlupus, I can confirm under arch, and have been seeing similar v8 API errors with node projects that compile native modules. I don't know the specific causes, but I gather node-gyp / bundled v8 stuff is in a state of upheaval rn and there are breakages across the ecosystem (possibly related background: nodejs/node-gyp#1791)

For this specific project, I am able to build native deps successfully using node v10 installed via nvm:

nvm install 10
nvm use 10

If anyone can provide further insight into where issues should be filed (can sodium-native do anything about this?) plz chime in.

@edrex
Copy link
Contributor

edrex commented Mar 2, 2020

@edrex
Copy link
Contributor

edrex commented Mar 2, 2020

Based on https:/sodium-friends/sodium-native/issues/95#issuecomment-517346840, seems upgrading sodium native to >2.4.3. But there are several copies kicking around in node_modules. Y'all nodejs folks have normalized some pretty scary (for outsiders) dependency trees.

@stale
Copy link

stale bot commented May 31, 2020

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

@stale stale bot added the stale label May 31, 2020
@christianlupus
Copy link
Author

I just tried to rebuild and the problem seems to be still present.

@stale stale bot removed the stale label Jun 1, 2020
@aadilayub
Copy link

I just tried compiling with node versions 14, 12, and 10 and they failed for me as well.

@stale
Copy link

stale bot commented Nov 29, 2020

Is this still relevant? If so, what is blocking it? Is there anything you can do to help move it forward?

@stale stale bot added the stale label Nov 29, 2020
@christianlupus
Copy link
Author

I just tried to compile and it still refused to compile here.

@stale stale bot removed the stale label Dec 2, 2020
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

3 participants