-
-
Notifications
You must be signed in to change notification settings - Fork 35.2k
v8: "ld.lld: error: unable to find library -lrt" when building for android aarch64 #50184
Copy link
Copy link
Closed
Labels
androidIssues and PRs related to the android platform.Issues and PRs related to the android platform.buildIssues and PRs related to build files or the CI.Issues and PRs related to build files or the CI.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.
Description
Version
No response
Platform
No response
Subsystem
No response
What steps will reproduce the bug?
./android-configure /home/matteo/Android/Sdk/ndk/26.1.10909125 33 aarch64make AR_host=gcc-ar CC_host=gcc CXX_host=g++ AR_target=/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/llvm-ar CC_target=/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang CXX_target=/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang++ -j8How often does it reproduce? Is there a required condition?
No response
What is the expected behavior? Why is that the expected behavior?
No response
What do you see instead?
/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang++ -rdynamic -pthread -fPIC -o /home/matteo/node/out/Release/bytecode_builtins_list_generator -Wl,--start-group /home/matteo/node/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/builtins/generate-bytecodes-builtins-list.o /home/matteo/node/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecode-operands.o /home/matteo/node/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecodes.o /home/matteo/node/out/Release/obj.host/tools/v8_gypfiles/libv8_libbase.a -Wl,--end-group -ldl -lrt
rm -f /home/matteo/node/out/Release/obj.host/tools/v8_gypfiles/libtorque_base.a ar-file-list; mkdir -p `dirname /home/matteo/node/out/Release/obj.host/tools/v8_gypfiles/libtorque_base.a`
touch /home/matteo/node/out/Release/obj.host/tools/v8_gypfiles/v8_maybe_icu.stamp
/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang++ -rdynamic -pthread -fPIC -o /home/matteo/node/out/Release/genccode -Wl,--start-group /home/matteo/node/out/Release/obj.host/genccode/deps/icu-small/source/tools/genccode/genccode.o /home/matteo/node/out/Release/obj.host/genccode/tools/icu/no-op.o /home/matteo/node/out/Release/obj.host/tools/icu/libicutools.a -Wl,--end-group
ar crsT /home/matteo/node/out/Release/obj.host/tools/v8_gypfiles/libtorque_base.a @/home/matteo/node/out/Release/obj.host/tools/v8_gypfiles/libtorque_base.a.ar-file-list
/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang++ -rdynamic -pthread -fPIC -o /home/matteo/node/out/Release/icupkg -Wl,--start-group /home/matteo/node/out/Release/obj.host/icupkg/deps/icu-small/source/tools/icupkg/icupkg.o /home/matteo/node/out/Release/obj.host/icupkg/tools/icu/no-op.o /home/matteo/node/out/Release/obj.host/tools/icu/libicutools.a -Wl,--end-group
/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang++ -o /home/matteo/node/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o ../deps/v8/src/regexp/gen-regexp-special-case.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DV8_TARGET_ARCH_ARM64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_ANDROID' '-DV8_EMBEDDER_STRING="-node.12"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../deps/v8 -I../deps/v8/include -I../deps/icu-small/source/common -I../deps/icu-small/source/i18n -I../deps/icu-small/source/tools/toolutil -msign-return-address=all -Wno-unused-parameter -Wno-return-type -Wno-invalid-offsetof -pthread -fno-omit-frame-pointer -fPIC -I/home/matteo/Android/Sdk/ndk/26.1.10909125/sources/android/cpufeatures -fdata-sections -ffunction-sections -O2 -fno-rtti -fno-exceptions -std=gnu++17 -MMD -MF /home/matteo/node/out/Release/.deps//home/matteo/node/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o.d.raw -c
/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang++ -rdynamic -fPIC -o /home/matteo/node/out/Release/openssl-cli -Wl,--start-group /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/cmp_mock_srv.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/asn1parse.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/ca.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/ciphers.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/cmp.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/cms.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/crl.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/crl2pkcs7.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/dgst.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/dhparam.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/dsa.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/dsaparam.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/ec.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/ecparam.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/enc.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/engine.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/errstr.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/fipsinstall.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/gendsa.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/genpkey.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/genrsa.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/info.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/kdf.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/list.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/mac.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/nseq.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/ocsp.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/openssl.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/passwd.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/pkcs12.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/pkcs7.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/pkcs8.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/pkey.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/pkeyparam.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/pkeyutl.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/prime.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/config/archs/linux-aarch64/no-asm/apps/progs.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/rand.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/rehash.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/req.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/rsa.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/rsautl.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/s_client.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/s_server.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/s_time.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/sess_id.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/smime.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/speed.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/spkac.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/srp.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/storeutl.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/ts.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/verify.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/version.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/x509.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/app_libctx.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/app_params.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/app_provider.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/app_rand.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/app_x509.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/apps.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/apps_ui.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/columns.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/engine.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/engine_loader.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/fmt.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/http_server.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/names.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/opt.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/s_cb.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/s_socket.o /home/matteo/node/out/Release/obj.target/openssl-cli/deps/openssl/openssl/apps/lib/tlssrp_depr.o /home/matteo/node/out/Release/obj.target/deps/openssl/libopenssl.a -Wl,--end-group -ldl -pthread -llog
/home/matteo/Android/Sdk/ndk/26.1.10909125/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android33-clang++ -o /home/matteo/node/out/Release/obj.host/torque/deps/v8/src/torque/torque.o ../deps/v8/src/torque/torque.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC' '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DOPENSSL_NO_ASM' '-DV8_TARGET_ARCH_ARM64' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_ANDROID' '-DV8_EMBEDDER_STRING="-node.12"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DV8_SHARED_RO_HEAP' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB' '-DV8_ENABLE_TURBOFAN' '-DV8_ENABLE_WEBASSEMBLY' '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_SCRIPTORMODULE_LEGACY_LIFETIME' '-DV8_ADVANCED_BIGINT_ALGORITHMS' -I../deps/v8 -I../deps/v8/include -msign-return-address=all -Wno-unused-parameter -Wno-return-type -Wno-invalid-offsetof -pthread -fno-omit-frame-pointer -fPIC -I/home/matteo/Android/Sdk/ndk/26.1.10909125/sources/android/cpufeatures -fdata-sections -ffunction-sections -O2 -fno-rtti -std=gnu++17 -fexceptions -MMD -MF /home/matteo/node/out/Release/.deps//home/matteo/node/out/Release/obj.host/torque/deps/v8/src/torque/torque.o.d.raw -c
ld.lld: error: unable to find library -lrt
clang-17: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [tools/v8_gypfiles/bytecode_builtins_list_generator.host.mk:182: /home/matteo/node/out/Release/bytecode_builtins_list_generator] Errore 1
make[1]: *** Attesa per i processi non terminati....
rm 109db30b704daa7e37b6b6bf14e3cf59c50e35a6.intermediate f73d378443b8a378aa897525a53a3f5c94703f4e.intermediate
make: *** [Makefile:134: node] Errore 2Additional information
By making the following change:
['is_android', {
'sources': [
'<(V8_ROOT)/src/base/platform/platform-posix.cc',
'<(V8_ROOT)/src/base/platform/platform-posix.h',
'<(V8_ROOT)/src/base/platform/platform-posix-time.cc',
'<(V8_ROOT)/src/base/platform/platform-posix-time.h',
],
'link_settings': {
'target_conditions': [
['_toolset=="host" and host_os=="linux"', {
'libraries': [
- '-ldl',
+ '-ldl',
+ '-lc'
- '-lrt'
],
}],
],
},
'target_conditions': [
['_toolset=="host"', {
'sources': [
'<(V8_ROOT)/src/base/debug/stack_trace_posix.cc',
'<(V8_ROOT)/src/base/platform/platform-linux.cc',
],
}, {
'sources': [
'<(V8_ROOT)/src/base/debug/stack_trace_android.cc',
'<(V8_ROOT)/src/base/platform/platform-linux.cc',
],
}],
],
}],in the file tools/v8_gypfiles/v8.gyp this problem no longer occurs during building.
I don't know if this could be a valid solution.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
androidIssues and PRs related to the android platform.Issues and PRs related to the android platform.buildIssues and PRs related to build files or the CI.Issues and PRs related to build files or the CI.v8 engineIssues and PRs related to the V8 dependency.Issues and PRs related to the V8 dependency.