xmake-io / xmake

🔥 A cross-platform build utility based on Lua
https://xmake.io
Apache License 2.0
10.05k stars 786 forks source link

远程编译时报未知错误 error: cannot make xxhash128 for d:\xxx\xx/xx.c.c, unknown errors #2640

Closed ZZLinvec closed 2 years ago

ZZLinvec commented 2 years ago

Xmake 版本

服务端 v2.6.9+dev.e45d940 本地 v2.6.9+HEAD.22ecc0156

操作系统版本和架构

本地win11-专业版 服务端 Ubuntu

描述问题

在使用远程端进行编译的时候,同步文件指令是正常的,配置项目的指令也是正常的。 当执行编译的时候,不知为何远程端会在缓存中创建一个与客户端的项目路径一致的文件夹(d:)。如下:

rx@dell-PowerEdge-R630:~/.xmake/service/server/remote_build/sessions/8a58aa81/source$ ls -al
总用量 28
drwxrwxr-x 4 rx rx 4096 8月   3 14:10 .
drwxrwxr-x 3 rx rx 4096 8月   3 14:09 ..
drwxrwxr-x 7 rx rx 4096 8月   3 14:10 data
-rw-r--r-- 1 rx rx   98 8月   3 14:10 .gitignore
drwxrwxr-x 6 rx rx 4096 8月   3 14:10 src
-rw-r--r-- 1 rx rx 6815 8月   3 14:10 xmake.lua

执行编译命令后

rx@dell-PowerEdge-R630:~/.xmake/service/server/remote_build/sessions/8a58aa81/source$ ls -al
总用量 36
drwxrwxr-x 6 rx rx 4096 8月   3 14:12 .
drwxrwxr-x 3 rx rx 4096 8月   3 14:09 ..
drwxrwxr-x 7 rx rx 4096 8月   3 14:10 data
drwxrwxr-x 3 rx rx 4096 8月   3 14:12 d:\project\ssd-btj
-rw-r--r-- 1 rx rx   98 8月   3 14:10 .gitignore
drwxrwxr-x 6 rx rx 4096 8月   3 14:10 src
drwxrwxr-x 3 rx rx 4096 8月   3 14:12 .xmake
-rw-r--r-- 1 rx rx 6815 8月   3 14:10 xmake.lua

自动创建“d:\project\ssd-btj”这个文件夹,应该是跟vscode里配置项目有关 vscode插件中会自动设置输出目标路径为项目的绝对路径。 正在执行任务: xmake f -p cross -a arm -m debug -o "d:\project\ssd-btj/build"

<remote_build_client>: run xmake f -p cross -a arm -m debug -o d:\project\xxx/build in xxx.xxx.xxx.xxx:9691 ..
<remote_build_client>: run command ok!

期待的结果

期望没有这个问题未知错误

工程配置

No response

附加信息和错误日志

No response

ZZLinvec commented 2 years ago

这应该是vscode插件需要改下 手动在CMD命令中配置xmake项目,把输出文件夹路径改为当前文件路径即可 vscode 自动输出命令如下

xmake f -p cross -a arm -m debug  -o ”d;\xxx\xxx/build"

改成

xmake f -p cross -a arm -m debug  -o "./build"

即可。 然后再执行远程编译就OK了。

如果出现了这个问题,需要执行清除服务端缓存 xmake service --clean 再同步本地数据到服务端,后就可以进行配置即可。 xmake service --sync