无法在 FreeBSD 上编译 deno

无法在 FreeBSD 上编译 deno

我正在尝试在 FreeBSD 12.1 上从源代码构建 deno (一个用 rust 构建的 javascript 运行时)。
rusty_v8 编译失败。

然后我尝试直接从生锈_v8回购。

我按照 github 存储库中的说明进行操作(安装了 python2.7 - 符号链接到 python,因为安装需要 python,安装了 glib-2.56.3_7,1)。

然后我运行cargo build并编译所有内容,直到出现此错误:

 Compiling rusty_v8 v0.5.0 (/root/rusty_v8)
     Running `CARGO_PKG_VERSION_PATCH=0 CARGO_PKG_HOMEPAGE= CARGO_PKG_VERSION_MAJOR=0 CARGO_PKG_VERSION_MINOR=5 CARGO_PKG_NAME=rusty_v8 CARGO_PKG_REPOSITORY='https://github.com/denoland/rusty_v8' CARGO_PKG_AUTHORS='the Deno authors' CARGO_PKG_DESCRIPTION='Rust bindings to V8' CARGO_MANIFEST_DIR=/root/rusty_v8 CARGO=/usr/local/bin/cargo LD_LIBRARY_PATH='/root/rusty_v8/target/debug/deps:/usr/local/lib' CARGO_PKG_VERSION_PRE= CARGO_PKG_VERSION=0.5.0 rustc --crate-name build_script_build --edition=2018 build.rs --error-format=json --json=diagnostic-rendered-ansi --crate-type bin --emit=dep-info,link -C debuginfo=2 -C metadata=719d54043908067c -C extra-filename=-719d54043908067c --out-dir /root/rusty_v8/target/debug/build/rusty_v8-719d54043908067c -C incremental=/root/rusty_v8/target/debug/incremental -L dependency=/root/rusty_v8/target/debug/deps --extern cargo_gn=/root/rusty_v8/target/debug/deps/libcargo_gn-b31804f02f0a6a61.rlib --extern which=/root/rusty_v8/target/debug/deps/libwhich-e5ce3a8d7f279796.rlib -L native=/root/rusty_v8/target/debug/build/backtrace-sys-2d9c9cf21034351a/out`
error[E0308]: mismatched types
   --> build.rs:117:18
    |
117 | fn platform() -> &'static str {
    |    --------      ^^^^^^^^^^^^ expected `&str`, found `()`
    |    |
    |    implicitly returns `()` as its body has no tail or `return` expression

error: aborting due to previous error


错误由此而来功能:

fn platform() -> &'static str {
  #[cfg(target_os = "windows")]
  {
    "win"
  }
  #[cfg(target_os = "linux")]
  {
    "linux64"
  }
  #[cfg(target_os = "macos")]
  {
    "mac"
  }
}

由于target_os = "freebsd",函数没有返回任何内容,因此出现错误。我将尝试修改这些值,看看它是否会改变任何内容,并且我将更深入地了解源代码。

答案1

德诺目前 (20200602)被列为通缉港口现在可作为端口使用www/德诺

请注意,这列出了拉取请求 60作为先决条件系统信息-RS。它已于 15 天前合并,因此不属于 2019 年 9 月 6 日发布的最新版本 0.5.7 的一部分。从变更日志来看,它将成为 0.7.0 的一部分,但似乎尚未发布。

然后,您需要自己构建它或等待 sys-info-rs 0.7.0 普遍可用。

以后是否一帆风顺我就不知道了。

如果这一切看起来有点毛茸茸的,那么好消息是李文旭被列为在该港口工作。这样你就可以向后靠并监控新鲜港口查看何时可用。

相关内容