human@computer ~/code/leanprojects/lean-ffi-tuple2 (main) $ lake build -v
ℹ [1/9] Ran crypt_walker/crypt_walker_for_lean.static
trace: ././Rust> cargo rustc --release -- -C relocation-model=pic
info: stderr:
Finished release [optimized] target(s) in 0.00s
✖ [3/9] Building crypt_walker_for_lean.static:shared
trace: .> /home/human/.elan/toolchains/leanprover--lean4---v4.8.0/bin/leanc -shared -o ././.lake/build/lib/libcrypt_walker_for_lean.so -Wl,--whole-archive ././.lake/build/lib/libcrypt_walker_for_lean.a -Wl,--no-whole-archive
info: stderr:
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean_finalize_thread) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean_finalize_thread) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean::run_thread_finalizers()) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean::run_post_thread_finalizers()) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean::in_thread_finalization()) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean::run_thread_finalizers_core(std::__1::vector<std::__1::pair<void (*)(void*), void*>, std::__1::allocator<std::__1::pair<void (*)(void*), void*>>>&)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean::thread_finalizers_manager::finalize_thread(void*)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_finalizing cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(thread.cpp.o)
>>> referenced by thread.cpp
>>> thread.cpp.o:(lean::thread_finalizers_manager::finalize_thread(void*)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_current_task_object cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(object.cpp.o)
>>> referenced by object.cpp
>>> object.cpp.o:(lean::task_bind_fn1(lean_object*, lean_object*, lean_object*)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_current_task_object cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(object.cpp.o)
>>> referenced by object.cpp
>>> object.cpp.o:(lean_io_check_canceled_core) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_current_task_object cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(object.cpp.o)
>>> referenced by object.cpp
>>> object.cpp.o:(lean::task_manager::run_task(std::__1::unique_lock<std::__1::mutex>&, lean_task*)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_current_task_object cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(object.cpp.o)
>>> referenced by object.cpp
>>> object.cpp.o:(lean::task_manager::run_task(std::__1::unique_lock<std::__1::mutex>&, lean_task*)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_current_task_object cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(object.cpp.o)
>>> referenced by object.cpp
>>> object.cpp.o:(lean::task_manager::run_task(std::__1::unique_lock<std::__1::mutex>&, lean_task*)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_current_task_object cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(object.cpp.o)
>>> referenced by object.cpp
>>> object.cpp.o:(lean::task_manager::run_task(std::__1::unique_lock<std::__1::mutex>&, lean_task*)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_heartbeat cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(interrupt.cpp.o)
>>> referenced by interrupt.cpp
>>> interrupt.cpp.o:(lean::inc_heartbeat()) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_heartbeat cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(interrupt.cpp.o)
>>> referenced by interrupt.cpp
>>> interrupt.cpp.o:(lean::reset_heartbeat()) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_max_heartbeat cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(interrupt.cpp.o)
>>> referenced by interrupt.cpp
>>> interrupt.cpp.o:(lean::set_max_heartbeat(unsigned long)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_max_heartbeat cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(interrupt.cpp.o)
>>> referenced by interrupt.cpp
>>> interrupt.cpp.o:(lean::get_max_heartbeat()) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_max_heartbeat cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(interrupt.cpp.o)
>>> referenced by interrupt.cpp
>>> interrupt.cpp.o:(lean::set_max_heartbeat_thousands(unsigned int)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: relocation R_X86_64_TPOFF32 against lean::g_heartbeat cannot be used with -shared
>>> defined in ././.lake/build/lib/libcrypt_walker_for_lean.a(interrupt.cpp.o)
>>> referenced by interrupt.cpp
>>> interrupt.cpp.o:(lean::scope_heartbeat::scope_heartbeat(unsigned long)) in archive ././.lake/build/lib/libcrypt_walker_for_lean.a
ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors)
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: external command '/home/human/.elan/toolchains/leanprover--lean4---v4.8.0/bin/leanc' exited with code 1
Some builds logged failures:
- crypt_walker_for_lean.static:shared
error: build failed
human@computer ~/code/leanprojects/lean-ffi-tuple2 (main) $