我正在尝试在 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"
,函数没有返回任何内容,因此出现错误。我将尝试修改这些值,看看它是否会改变任何内容,并且我将更深入地了解源代码。