Opened 14 years ago
Closed 13 years ago
#28562 closed defect (fixed)
nodejs @0.4.1_0: Undefined symbols: "_ev_loop"
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | ci42 |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.9.2 |
Keywords: | Cc: | vijay.santhanam@… | |
Port: | nodejs |
Description
nodejs fails to build in my normal MacPorts prefix:
:info:build Undefined symbols: :info:build "_ev_loop", referenced from: :info:build node::Start(int, char**)in node_4.o :info:build (maybe you meant: _ev_loop_destroy, _ev_loop_fork ) :info:build ld: symbol(s) not found :info:build collect2: ld returned 1 exit status
It does build in a clean MacPorts prefix containing nothing but its dependencies, so it must be inadvertently using software from another port I already have installed.
Attachments (1)
Change History (7)
Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | main.log.bz2 added |
---|
comment:1 Changed 14 years ago by jonasnockert@…
It seems to be libev
that's preventing node.js
from building correctly. After uninstalling libev
(dependency of lighttpd
, in my case,) node.js
built and installed fine on my system.
comment:2 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Thanks, you're right. I had tried deactivating libevent and it didn't make any difference, forgetting that there was a separate thing called libev.
It looks like nodejs ships with an internal copy of libev, which it wants to use, but because of incorrectly specified header inclusions it uses headers already installed by other MacPorts ports; see also #28066 and #28561. The version of libev provided by MacPorts is presumably different from the one required by libev.
I've requested the libev port be updated (see #28680). Maybe we can then make nodejs use the libev in the libev port instead of its own copy, or failing that, we can expand the fix from #28561 to also cover ev.h and, preventatively, other headers.
comment:3 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | vijay.santhanam@… added |
---|
Has duplicate #29070.
comment:4 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Added code to nodejs in r78170 to prevent installation if libev is active, with instructions for the user how to work around it, until we can figure out how to properly patch nodejs so it doesn't have this problem.
comment:5 Changed 13 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from ceager@… to ciserlohn@… |
---|
comment:6 Changed 13 years ago by ci42
Resolution: | → fixed |
---|---|
Status: | new → closed |
build log