v8 - 在 linux 平台上编译 V8 失败
问题描述
在 linux 平台上编译最新的 v8 失败。
linux, v8 使用 ninjia
忍者:进入目录 `out.gn/x64.release' [14/571] LINK ./mksnapshot o/x/args.gn+ 缓冲区失败:mksnapshot ../../third_party/llvm-build/Release+Asserts/bin /clang++ -pie -Wl,--fatal-warnings -fPIC -Wl,-z,noexecstack -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--按需-fuse-ld=lld -Wl,--icf=all -Wl,--color-diagnostics -m64 -rdynamic -pie -Wl,--disable-new-dtags -Wl,-O2 -Wl,--gc-部分 -o "./mksnapshot" -Wl,--start-group @"./mksnapshot.rsp" -Wl,--end-group -latomic -ldl -lpthread -lrt ld.lld: 错误: 未定义符号: void std::atomic_init(std::atomic*, bool)
由 module-compiler.cc:260 (../../src/wasm/module-compiler.cc:260) obj/v8_base_without_compiler/module-compiler.o:(v8::internal::wasm::CompilationState: :New(std::shared_ptr const&, std::shared_ptr))
链接错误
解决方案
通过用直接赋值替换 std::atomic_init 解决了这个问题。
推荐阅读
- wordpress - Wordpress:只有子类别可点击帖子编辑器
- visual-studio-code - 如何通过cmd+单击vscode输出面板中的路径打开文件
- ms-access - 计算机的未知更新导致“无法打开使用以前版本创建的数据库”错误?
- python - ModuleNotFoundError:没有名为“tensorflow_datasets”的模块。如何解决这个问题?
- c# - 使用 .NET Core 5 确定屏幕大小?
- bash - 如何在 bash 中传递双引号“--参数值”字符串
- azure - 如何使用 api 将订阅的贡献者角色分配给服务主体或如何使用订阅对象
- php - nginx auth_request 示例
- c# - 将数据库连接字符串从 appconfig.json 迁移到环境变量
- javascript - 人脸检测未显示在正确位置