clash-verge icon indicating copy to clipboard operation
clash-verge copied to clipboard

构建失败,实在不知道怎么解决

Open XiaofengdiZhu opened this issue 2 years ago • 1 comments

研究了半个晚上rust……个人感觉有可能是rquickjs-sys在build过程中,out_dir不存在或创建文件夹失败导致的,但我连在控制台输出out_dir都搞不定……

PS D:\JetBrains\Projects\clash-verge-main> yarn install  
yarn install v1.22.19
[1/4] Resolving packages...
success Already up-to-date.
$ husky install
fatal: not a git repository (or any of the parent directories): .git
Done in 0.29s.
PS D:\JetBrains\Projects\clash-verge-main> yarn run check
yarn run v1.22.19
$ node scripts/check.mjs
[INFO]: resolve Service finished
Done in 0.34s.
PS D:\JetBrains\Projects\clash-verge-main> yarn dev
yarn run v1.22.19
$ tauri dev
     Running BeforeDevCommand (`yarn run web:dev`)
$ vite
(node:27948) [DEP0147] DeprecationWarning: In future versions of Node.js, fs.rmdir(path, { recursive: true }) will be removed. Use fs.rm(path, { recursive: true }) instead
(Use `node --trace-deprecation ...` to show where the warning was created)

  vite v2.9.13 dev server running at:

  > Local: http://localhost:3000/
  > Network: use `--host` to expose

  ready in 497ms.

        Info Watching D:\JetBrains\Projects\clash-verge-main\src-tauri for changes...
   Compiling rquickjs-sys v0.1.6
   Compiling kuchiki v0.8.1
   Compiling wry v0.19.0                                           
   Compiling termwiz v0.15.0                                       
   Compiling hyper-tls v0.5.0                                      
   Compiling warp v0.3.2                                           
   Compiling delay_timer v0.11.3                                   
error: failed to run custom build command for `rquickjs-sys v0.1.6`

Caused by:
  process didn't exit successfully: `D:\JetBrains\Projects\clash-verge-main\src-tauri\target\debug\build\rquickjs-sys-74fa5edafa64242a\build-script-build` (exit code: 101)
  --- stdout
  cargo:rerun-if-changed=build.rs
  cargo:rerun-if-env-changed=CARGO_FEATURE_EXPORTS
  cargo:rerun-if-env-changed=CARGO_FEATURE_BINDGEN
  cargo:rerun-if-env-changed=CARGO_FEATURE_UPDATE_BINDINGS
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_BYTECODE
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_GC
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_GC_FREE
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_FREE
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_LEAKS
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_MEM
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_OBJECTS
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_ATOMS
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_SHAPES
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_MODULE_RESOLVE
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_PROMISE
  cargo:rerun-if-env-changed=CARGO_FEATURE_DUMP_READ_OBJECT

  --- stderr
  thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: Error { kind: NotFound, message: "program not found" }', C:\Users\52308\.cargo\registry\src\github.com-1ecc6299db9ec823\rquickjs-sys-0.1.6\build.rs:136:10
  stack backtrace:
     0:     0x7ff79ad497ff - std::backtrace_rs::backtrace::dbghelp::trace
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\..\..\backtrace\src\backtrace\dbghelp.rs:98
     1:     0x7ff79ad497ff - std::backtrace_rs::backtrace::trace_unsynchronized
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\..\..\backtrace\src\backtrace\mod.rs:66
     2:     0x7ff79ad497ff - std::sys_common::backtrace::_print_fmt
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\sys_common\backtrace.rs:66
     3:     0x7ff79ad497ff - std::sys_common::backtrace::_print::impl$0::fmt
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\sys_common\backtrace.rs:45
     4:     0x7ff79ad6575a - core::fmt::write
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\core\src\fmt\mod.rs:1197
     5:     0x7ff79ad433e9 - std::io::Write::write_fmt<std::sys::windows::stdio::Stderr>
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\io\mod.rs:1672
     6:     0x7ff79ad4c4ab - std::sys_common::backtrace::_print
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\sys_common\backtrace.rs:48
     7:     0x7ff79ad4c4ab - std::sys_common::backtrace::print
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\sys_common\backtrace.rs:35
     8:     0x7ff79ad4c4ab - std::panicking::default_hook::closure$1
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:295
     9:     0x7ff79ad4c12b - std::panicking::default_hook
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:314
    10:     0x7ff79ad4ca59 - std::panicking::rust_panic_with_hook
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:698
    11:     0x7ff79ad4c95d - std::panicking::begin_panic_handler::closure$0
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:588
    12:     0x7ff79ad4a437 - std::sys_common::backtrace::__rust_end_short_backtrace<std::panicking::begin_panic_handler::closure_env$0,never$>
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\sys_common\backtrace.rs:138
    13:     0x7ff79ad4c639 - std::panicking::begin_panic_handler
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:584
    14:     0x7ff79ad6bef5 - core::panicking::panic_fmt
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\core\src\panicking.rs:142
    15:     0x7ff79ad6bf93 - core::result::unwrap_failed
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\core\src\result.rs:1805
    16:     0x7ff79aca41a4 - enum$<core::result::Result<std::process::Child,std::io::error::Error> >::unwrap<std::process::Child,std::io::error::Error>
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f\library\core\src\result.rs:1098
    17:     0x7ff79aca34bf - build_script_build::patch<ref$<std::path::Path>,std::path::PathBuf>
                                 at C:\Users\52308\.cargo\registry\src\github.com-1ecc6299db9ec823\rquickjs-sys-0.1.6\build.rs:131
    18:     0x7ff79aca2cd6 - build_script_build::main
                                 at C:\Users\52308\.cargo\registry\src\github.com-1ecc6299db9ec823\rquickjs-sys-0.1.6\build.rs:98
    19:     0x7ff79aca87cb - core::ops::function::FnOnce::call_once<void (*)(),tuple$<> >
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f\library\core\src\ops\function.rs:248
    20:     0x7ff79aca46cb - std::sys_common::backtrace::__rust_begin_short_backtrace<void (*)(),tuple$<> >
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f\library\std\src\sys_common\backtrace.rs:122
    21:     0x7ff79aca7d51 - std::rt::lang_start::closure$0<tuple$<> >
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f\library\std\src\rt.rs:145
    22:     0x7ff79ad3d851 - core::ops::function::impls::impl$2::call_once
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\core\src\ops\function.rs:280
    23:     0x7ff79ad3d851 - std::panicking::try::do_call
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:492
    24:     0x7ff79ad3d851 - std::panicking::try
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:456
    25:     0x7ff79ad3d851 - std::panic::catch_unwind
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panic.rs:137
    26:     0x7ff79ad3d851 - std::rt::lang_start_internal::closure$2
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\rt.rs:128
    27:     0x7ff79ad3d851 - std::panicking::try::do_call
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:492
    28:     0x7ff79ad3d851 - std::panicking::try
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panicking.rs:456
    29:     0x7ff79ad3d851 - std::panic::catch_unwind
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\panic.rs:137
    30:     0x7ff79ad3d851 - std::rt::lang_start_internal
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f/library\std\src\rt.rs:128
    31:     0x7ff79aca7d1f - std::rt::lang_start<tuple$<> >
                                 at /rustc/4b91a6ea7258a947e59c6522cd5898e7c0a6a88f\library\std\src\rt.rs:144
    32:     0x7ff79aca3a36 - main
    33:     0x7ff79ad6a63c - invoke_main
                                 at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:78
    34:     0x7ff79ad6a63c - __scrt_common_main_seh
                                 at D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288
    35:     0x7ff9fa947034 - BaseThreadInitThunk
    36:     0x7ff9fb1c2651 - RtlUserThreadStart
warning: build failed, waiting for other jobs to finish...
error Command failed with exit code 4294967295.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 101.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

XiaofengdiZhu avatar Aug 12 '22 17:08 XiaofengdiZhu

我的win11第一次装rquickjs的时候也报错了,但后来没改啥,重新跑也能成功。我用github action也测试了在windows里是能构建的。

zzzgydi avatar Aug 12 '22 17:08 zzzgydi

这个库用到patch这个工具。 https://github.com/DelSkayn/rquickjs/blob/master/sys/build.rs#L131-L136 也许之前的window是有这个工具?在rquickjs加上后我(win11 22000.856)也编译不,后来把 MinGW 里的 patch 加到了系统路径里就能编译了。如果你没有 MinGW,也可以使用 Git 里的 patch。 稍微看了下,GitHub action里的window貌似是 window server吧,估计是里面有 patch 另外,现在 gnu toolchain 编译不了(发生了一些另外的错误),但用 msvc 是可以编译过的。

FoundTheWOUT avatar Aug 14 '22 06:08 FoundTheWOUT

As said by others, this is caused by a missing "patch" dependency. It's most likely not actually missing but you need to tell Windows how to find it, see this issue DelSkayn/rquickjs#41.

FabianLars avatar Aug 14 '22 11:08 FabianLars

As said by others, this is caused by a missing "patch" dependency. It's most likely not actually missing but you need to tell Windows how to find it, see this issue DelSkayn/rquickjs#41.

That is true, many tools (for example, Git and MinGW) has the "patch". From myself, i just added the \msys64\usr\bin to windows PATH.

FoundTheWOUT avatar Aug 14 '22 12:08 FoundTheWOUT

这个库用到patch这个工具。 https://github.com/DelSkayn/rquickjs/blob/master/sys/build.rs#L131-L136 也许之前的window是有这个工具?在rquickjs加上后我(win11 22000.856)也编译不,后来把 MinGW 里的 patch 加到了系统路径里就能编译了。如果你没有 MinGW,也可以使用 Git 里的 patch。 稍微看了下,GitHub action里的window貌似是 window server吧,估计是里面有 patch 另外,现在 gnu toolchain 编译不了(发生了一些另外的错误),但用 msvc 是可以编译过的。

我试试,电脑上一堆patch.exe,我试试把有它的Git\usr\bin加进系统路径中

XiaofengdiZhu avatar Aug 15 '22 00:08 XiaofengdiZhu

@FoundTheWOUT 感谢!最后再解决了一个tauri设置私钥的问题后构建成功了!我要添加一个对日、月、域、配置文件的流量统计功能(流量莫名跑光……很烦)

XiaofengdiZhu avatar Aug 15 '22 03:08 XiaofengdiZhu

同样的问题发生在Fedora,参考这里,只需要sudo dnf install patch

NaT5uK1 avatar Feb 28 '23 07:02 NaT5uK1

后再解决了一个tauri设置私钥的问题后构建成功了

@XiaofengdiZhu 请教如何解决的?

lins avatar Apr 08 '23 16:04 lins

后再解决了一个tauri设置私钥的问题后构建成功了

@XiaofengdiZhu 请教如何解决的?

想不起来了,百度搜tauri 私钥配置一下试试?另外我放弃自己加流量统计功能了~

XiaofengdiZhu avatar Apr 08 '23 16:04 XiaofengdiZhu