Bug 报告
mcpp 版本: v0.0.19
操作系统: Linux x86_64 (WSL archlinux)
工具链: llvm@20.1.7
问题描述
将默认工具链切换到 llvm@20.1.7 后,构建在依赖扫描阶段失败。使用 llvm 工具链的项目无法构建。
复现步骤
mcpp toolchain install llvm 20.1.7
mcpp toolchain default llvm 20.1.7
mcpp new test-clang && cd test-clang
mcpp build
期望行为
使用 clang++ 正常构建,与 gcc@15.1.0-musl 工具链表现一致。
实际行为
❯ mcpp build
Resolving toolchain
Resolved llvm@20.1.7 → @mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang++
Inferred sources [src/**/*.{cppm,cpp,cc,c}]
Inferred target mcpp-demo-clang (bin from src/main.cpp)
Compiling mcpp-demo-clang v0.1.0 (.)
ninja: Entering directory `/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752'
[1/4] SCAN obj/main.cpp.ddi
FAILED: obj/main.cpp.ddi
env LD_LIBRARY_PATH='/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib/x86_64-unknown-linux-gnu:/usr/lib64:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-gcc-runtime/15.1.0/lib64'${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang-scan-deps -format=p1689 -- /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang++ -std=c++23 -fmodule-file=std=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.pcm -fmodule-file=std.compat=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.compat.pcm -fprebuilt-module-path=pcm.cache -O2 --sysroot=/home/liufeng/.mcpp/registry/subos/default -c /home/liufeng/workspace/mcpp-demo-clang/src/main.cpp -o obj/main.o > obj/main.cpp.ddi
ninja: build stopped: subcommand failed.
error: ninja failed (exit non-zero):
ninja: Entering directory `/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752'
[1/4] SCAN obj/main.cpp.ddi
FAILED: obj/main.cpp.ddi
env LD_LIBRARY_PATH='/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib/x86_64-unknown-linux-gnu:/usr/lib64:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-gcc-runtime/15.1.0/lib64'${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang-scan-deps -format=p1689 -- /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang++ -std=c++23 -fmodule-file=std=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.pcm -fmodule-file=std.compat=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.compat.pcm -fprebuilt-module-path=pcm.cache -O2 --sysroot=/home/liufeng/.mcpp/registry/subos/default -c /home/liufeng/workspace/mcpp-demo-clang/src/main.cpp -o obj/main.o > obj/main.cpp.ddi
Bug 报告
mcpp 版本: v0.0.19
操作系统: Linux x86_64 (WSL archlinux)
工具链: llvm@20.1.7
问题描述
将默认工具链切换到
llvm@20.1.7后,构建在依赖扫描阶段失败。使用 llvm 工具链的项目无法构建。复现步骤
mcpp toolchain install llvm 20.1.7mcpp toolchain default llvm 20.1.7mcpp new test-clang && cd test-clangmcpp build期望行为
使用 clang++ 正常构建,与
gcc@15.1.0-musl工具链表现一致。实际行为
❯ mcpp build Resolving toolchain Resolved llvm@20.1.7 → @mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang++ Inferred sources [src/**/*.{cppm,cpp,cc,c}] Inferred target mcpp-demo-clang (bin from src/main.cpp) Compiling mcpp-demo-clang v0.1.0 (.) ninja: Entering directory `/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752' [1/4] SCAN obj/main.cpp.ddi FAILED: obj/main.cpp.ddi env LD_LIBRARY_PATH='/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib/x86_64-unknown-linux-gnu:/usr/lib64:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-gcc-runtime/15.1.0/lib64'${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang-scan-deps -format=p1689 -- /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang++ -std=c++23 -fmodule-file=std=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.pcm -fmodule-file=std.compat=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.compat.pcm -fprebuilt-module-path=pcm.cache -O2 --sysroot=/home/liufeng/.mcpp/registry/subos/default -c /home/liufeng/workspace/mcpp-demo-clang/src/main.cpp -o obj/main.o > obj/main.cpp.ddi ninja: build stopped: subcommand failed. error: ninja failed (exit non-zero): ninja: Entering directory `/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752' [1/4] SCAN obj/main.cpp.ddi FAILED: obj/main.cpp.ddi env LD_LIBRARY_PATH='/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/lib/x86_64-unknown-linux-gnu:/usr/lib64:/home/liufeng/.mcpp/registry/data/xpkgs/xim-x-gcc-runtime/15.1.0/lib64'${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang-scan-deps -format=p1689 -- /home/liufeng/.mcpp/registry/data/xpkgs/xim-x-llvm/20.1.7/bin/clang++ -std=c++23 -fmodule-file=std=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.pcm -fmodule-file=std.compat=/home/liufeng/workspace/mcpp-demo-clang/target/x86_64-unknown-linux-gnu/e79ff64f8032c752/pcm.cache/std.compat.pcm -fprebuilt-module-path=pcm.cache -O2 --sysroot=/home/liufeng/.mcpp/registry/subos/default -c /home/liufeng/workspace/mcpp-demo-clang/src/main.cpp -o obj/main.o > obj/main.cpp.ddi