samshull / node-proxy

Deprecated: Harmony Proxies in node (no longer needed)
MIT License
162 stars 29 forks source link

ev_rt_now is undefined #6

Closed MarcoPolo closed 13 years ago

MarcoPolo commented 13 years ago

The problem lies because the latest node switched from using libev to libuv

tbranyen commented 13 years ago

Has this happened in dev or stable? I wouldn't worry too much about this working in the dev branch... its development and subject to breakage intentionally.

libuv might end up supporting the old methods for backwards compatibility? I am not sure.

MarcoPolo commented 13 years ago

I ran into the problem when I installed the latest code from the master branch. I had to checkout a version pre-libuv for node-proxy to work.

samshull commented 13 years ago

What is the error? ev_rt_now is not referenced in the node-proxy code anywhere.

MarcoPolo commented 13 years ago

It seems the error is in that node-proxy uses libev, while the newest node version is using libuv.

samshull commented 13 years ago

node-proxy does not use libev or libuv

MarcoPolo commented 13 years ago

hmmm that was my guess as to why node proxy isn't working with the latest version of node.

samshull commented 13 years ago

Could you post the error?

MarcoPolo commented 13 years ago

require('node-proxy') Error: /home/marco/errnode/node_modules/node-proxy/lib/node-proxy.node: undefined symbol: ev_rt_now at Object..node (module.js:456:11) at Module.load (module.js:339:31) at Function._load (module.js:298:12) at require (module.js:351:19) at [object Context]:1:1 at Interface. (repl.js:168:22) at Interface.emit (events.js:64:17) at Interface._onLine (readline.js:153:10) at Interface._line (readline.js:408:8) at Interface._ttyWrite (readline.js:585:14)

That is using the latest node from the github repo, and node proxy from npm

samshull commented 13 years ago

I ran a script (using the master branch of node.js) that only performed require('node-proxy'); as your example suggests, it does not produce this error. Could you provide more details?

MarcoPolo commented 13 years ago

That is very interesting, I had a friend recreate this issue. What information would be helpful?

samshull commented 13 years ago

How did they recreate the issue? I need to be able to reproduce the error in order to help.

It is worth noting that the master branch requires c-ares/ares.h in node.cc now. So, in order to get joyent/node origin/master to build native extensions, like node-proxy, you need to run mkdir /usr/local/include/node/c-ares && cp ./deps/uv/c-ares/*.h /usr/local/include/node/c-ares.

MarcoPolo commented 13 years ago

Wow, that dependency was it. Thanks! How did you know that it required ares?

samshull commented 13 years ago

I knew that it was ares because I just run make, I only do npm install when I push a new version. make complained about the missing headers. I will submit a patch to node shortly for the missing headers.