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

won't link on OS X with --enable-static #20763

Closed
ezavada opened this issue May 16, 2018 · 7 comments
Closed

won't link on OS X with --enable-static #20763

ezavada opened this issue May 16, 2018 · 7 comments
Assignees

Comments

@ezavada
Copy link

ezavada commented May 16, 2018

Version: v8.11.2
Platform: Darwin Zaphod.local 15.6.0 Darwin Kernel Version 15.6.0: Tue Jan 30 11:45:51 PST 2018; root:xnu-3248.73.8~1/RELEASE_X86_64 x86_64
Subsystem: gyp/makefile

$ ./configure --enable-static
$ make

Gives linker errors building tests:

ndefined symbols for architecture x86_64:
"_register_crypto()", referenced from:
node::RegisterBuiltinModules() in node.o
"_register_tls_wrap()", referenced from:
node::RegisterBuiltinModules() in node.o
"_register_inspector()", referenced from:
node::RegisterBuiltinModules() in node.o
"node::InitDTrace(node::Environment*, v8::Localv8::Object)", referenced from:
node::LoadEnvironment(node::Environment*) in node.o
"node::DumpBacktrace(__sFILE*)", referenced from:
node::Environment::AsyncHooks::pop_async_id(double) in async_wrap.o
node::Environment::AsyncHooks::pop_async_id(double) in node.o
node::Abort() in node.o
"node::crypto::EntropySource(unsigned char*, unsigned long)", referenced from:
node::Start(int, char**) in node.o
"node::crypto::UseExtraCaCerts(std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&)", referenced from:
node::Start(int, char**) in node.o
"node::inspector::InspectorSocket::reinit()", referenced from:
(anonymous namespace)::InspectorSocketTest::SetUp() in test_inspector_socket.o
"node::inspector::inspector_close(node::inspector::InspectorSocket*, void ()(node::inspector::InspectorSocket, int))", referenced from:
(anonymous namespace)::InspectorSocketTest_CloseDoesNotNotifyReadCallback_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_CloseWorksWithoutReadEnabled_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::CleanupSocketAfterEOF_read_cb(uv_stream_s*, long, uv_buf_t const*) in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_NoCloseResponseFromClinet_Test::TestBody() in test_inspector_socket.o
"node::inspector::inspector_write(node::inspector::InspectorSocket*, char const*, unsigned long)", referenced from:
(anonymous namespace)::InspectorSocketTest_ReadsAndWritesInspectorMessage_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::ReportsHttpGet_handshake(node::inspector::inspector_handshake_event, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, bool*) in test_inspector_socket.o
(anonymous namespace)::GetThenHandshake_handshake(node::inspector::inspector_handshake_event, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, bool*) in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_WriteBeforeHandshake_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_EOFBeforeHandshake_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_Send1Mb_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_NoCloseResponseFromClinet_Test::TestBody() in test_inspector_socket.o
...
"node::inspector::inspector_accept(uv_stream_s*, node::inspector::InspectorSocket*, bool ()(node::inspector::InspectorSocket, node::inspector::inspector_handshake_event, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&))", referenced from:
(anonymous namespace)::on_new_connection(uv_stream_s*, int) in test_inspector_socket.o
"node::inspector::inspector_read_stop(node::inspector::InspectorSocket*)", referenced from:
(anonymous namespace)::InspectorSocketTest_BufferEdgeCases_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_AcceptsRequestInSeveralWrites_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_CanStopReadingFromInspector_Test::TestBody() in test_inspector_socket.o
"node::inspector::inspector_read_start(node::inspector::InspectorSocket*, void ()(uv_handle_s, unsigned long, uv_buf_t*), void ()(uv_stream_s, long, uv_buf_t const*))", referenced from:
(anonymous namespace)::setup_inspector_expecting() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_CloseDoesNotNotifyReadCallback_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_CleanupSocketAfterEOF_Test::TestBody() in test_inspector_socket.o
(anonymous namespace)::InspectorSocketTest_ErrorCleansUpTheSocket_Test::TestBody() in test_inspector_socket.o
"node::inspector::InspectorSocketServer::TerminateConnections()", referenced from:
InspectorSocketServerTest_InspectorSessions_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerDoesNothing_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerWithoutTargets_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerCannotStart_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_TerminatingSessionReportsDone_Test::TestBody() in test_inspector_socket_server.o
"node::inspector::InspectorSocketServer::Send(int, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&)", referenced from:
InspectorSocketServerTest_InspectorSessions_Test::TestBody() in test_inspector_socket_server.o
"node::inspector::InspectorSocketServer::Stop(void ()(node::inspector::InspectorSocketServer))", referenced from:
InspectorSocketServerTest_InspectorSessions_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerDoesNothing_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerWithoutTargets_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerCannotStart_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_StoppingServerDoesNotKillConnections_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ClosingConnectionReportsDone_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ClosingSocketReportsDone_Test::TestBody() in test_inspector_socket_server.o
...
"node::inspector::InspectorSocketServer::Start()", referenced from:
InspectorSocketServerTest_InspectorSessions_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerDoesNothing_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerWithoutTargets_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerCannotStart_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_StoppingServerDoesNotKillConnections_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ClosingConnectionReportsDone_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ClosingSocketReportsDone_Test::TestBody() in test_inspector_socket_server.o
...
"node::inspector::InspectorSocketServer::InspectorSocketServer(node::inspector::SocketServerDelegate*, uv_loop_s*, std::__1::basic_string<char, std::__1::char_traits, std::__1::allocator > const&, int, __sFILE*)", referenced from:
(anonymous namespace)::ServerHolder::ServerHolder<(anonymous namespace)::TestInspectorServerDelegate>((anonymous namespace)::TestInspectorServerDelegate*, uv_loop_s*, int) in test_inspector_socket_server.o
(anonymous namespace)::ServerHolder::ServerHolder<(anonymous namespace)::ServerDelegateNoTargets>((anonymous namespace)::ServerDelegateNoTargets*, uv_loop_s*, int) in test_inspector_socket_server.o
InspectorSocketServerTest_FailsToBindToNodejsHost_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_BindsToIpV6_Test::TestBody() in test_inspector_socket_server.o
"node::inspector::Agent::IsConnected()", referenced from:
node::WaitForInspectorDisconnect(node::Environment*) in node.o
"node::inspector::Agent::ContextCreated(v8::Localv8::Context)", referenced from:
node::Environment::Environment(node::IsolateData*, v8::Localv8::Context) in node.o
"node::inspector::Agent::FatalException(v8::Localv8::Value, v8::Localv8::Message)", referenced from:
node::FatalException(v8::Isolate*, v8::Localv8::Value, v8::Localv8::Message) in node.o
"node::inspector::Agent::WaitForDisconnect()", referenced from:
node::WaitForInspectorDisconnect(node::Environment*) in node.o
"node::inspector::Agent::Stop()", referenced from:
node::DebugEnd(v8::FunctionCallbackInfov8::Value const&) in node.o
"node::inspector::Agent::Start(node::NodePlatform*, char const*, node::DebugOptions const&)", referenced from:
node::Start(v8::Isolate*, node::IsolateData*, int, char const* const*, int, char const* const*) in node.o
"node::inspector::Agent::Agent(node::Environment*)", referenced from:
node::Environment::Environment(node::IsolateData*, v8::Localv8::Context) in node.o
"node::inspector::Agent::~Agent()", referenced from:
node::Environment::~Environment() in node.o
"node::inspector::InspectorSocketServer::Port() const", referenced from:
InspectorSocketServerTest_InspectorSessions_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerWithoutTargets_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ServerCannotStart_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_StoppingServerDoesNotKillConnections_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ClosingConnectionReportsDone_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_ClosingSocketReportsDone_Test::TestBody() in test_inspector_socket_server.o
InspectorSocketServerTest_TerminatingSessionReportsDone_Test::TestBody() in test_inspector_socket_server.o
...
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [/Users/ezavada/work/pdg/deps/node/out/Release/cctest] Error 1

@MylesBorins
Copy link
Contributor

@ezavada are you able to build 8.11.1? 8.10.0?

@ezavada
Copy link
Author

ezavada commented May 16, 2018

@MylesBorins I'm able to build 8.10.0 && 8.11.1 just fine with --enable-static. I suspect 658dd409fd was the commit that broke it, but I haven't had time to figure out exactly how.

@MylesBorins
Copy link
Contributor

/cc @yhwang

@MylesBorins MylesBorins self-assigned this May 16, 2018
@yhwang
Copy link
Member

yhwang commented May 17, 2018

@MylesBorins let me take a look and update my finding later

@yhwang
Copy link
Member

yhwang commented May 17, 2018

@MylesBorins I found backporting #16238 and #18576 should fix the issue. is that okay for you? Let me create a backport PR and run a CI to verify it.

@MylesBorins
Copy link
Contributor

@yhwang nothing seems controversial about that, thanks for digging in

@BridgeAR
Copy link
Member

BridgeAR commented Jan 2, 2020

Node.js v8.x has reached the end-of-life and won't receive any fixes anymore. I am closing this since this issue only applies to Node.js v8.x.

No matter if you run into this issue or not, please update to a newer Node.js version in case you still use v8.x.

@BridgeAR BridgeAR closed this as completed Jan 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

5 participants