'Cannot parse version' when try to debugging dfx executable
q2333gh opened this issue · 2 comments
q2333gh commented
I tried the following:
- build
git clone https://github.com/dfinity/sdk.git
cd sdk
cargo build
- debug:
in vscode luanch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "canister_upgrader debug",
"type": "lldb",
"request": "launch",
"program": "${workspaceFolder}/target/debug/dfx",
// simulate: `dfx deploy backend --verbose`
"args": ["deploy", "backend","--verbose"],
// a folder gen by : `dfx new test_canister --type=rust`
"cwd": "/home/btwl/code/ic/test_canister/",
"stopOnEntry": true,
"env": { "RUST_BACKTRACE": "1", "DFX_VERSION": "0.17.0", "CARGO_PKG_VERSION": "0.17.0"}
}
]
}
I expected to see this happen:
set a breakpoint at src/dfx/src/main.rs and program pause at breakpoint.
Instead, this happened:
thread 'main' panicked at src/dfx/src/config/mod.rs:9:51:
Cannot parse version.: Error("unexpected character '+' after major version number")
stack backtrace:
0: rust_begin_unwind
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/panicking.rs:645:5
1: core::panicking::panic_fmt
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/panicking.rs:72:14
2: core::result::unwrap_failed
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1653:5
3: core::result::Result<T,E>::expect
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/result.rs:1034:23
4: <dfx::config::VERSION as core::ops::deref::Deref>::deref::__static_ref_initialize
at ./src/dfx/src/config/mod.rs:9:9
5: core::ops::function::FnOnce::call_once
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
6: lazy_static::lazy::Lazy<T>::get::{{closure}}
at /home/btwl/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/src/inline_lazy.rs:31:29
7: std::sync::once::Once::call_once::{{closure}}
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sync/once.rs:149:41
8: std::sys_common::once::futex::Once::call
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sys_common/once/futex.rs:124:21
9: std::sync::once::Once::call_once
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/std/src/sync/once.rs:149:9
10: lazy_static::lazy::Lazy<T>::get
at /home/btwl/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/src/inline_lazy.rs:30:9
11: <dfx::config::VERSION as core::ops::deref::Deref>::deref::__stability
at /home/btwl/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/src/lib.rs:142:21
12: <dfx::config::VERSION as core::ops::deref::Deref>::deref
at /home/btwl/.cargo/registry/src/index.crates.io-6f17d22bba15001f/lazy_static-1.4.0/src/lib.rs:144:17
13: dfx::config::dfx_version
at ./src/dfx/src/config/mod.rs:20:5
14: dfx::get_args_altered_for_extension_run
at ./src/dfx/src/main.rs:166:36
15: dfx::main
at ./src/dfx/src/main.rs:185:16
16: core::ops::function::FnOnce::call_once
at /rustc/82e1608dfa6e0b5569232559e3d385fea5a93112/library/core/src/ops/function.rs:250:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Meta
dfx --version
: latest github pull. 2024-2-29 . should be 0.17.0
0.17.0
q2333gh commented
fixed by modding the code :
lazy_static! {
// This expect cannot happen, we make sure that CARGO_PKG_VERSION is correct.
// static ref VERSION: Version =
// Version::parse(env!("CARGO_PKG_VERSION")).expect("Cannot parse version.");
// static ref VERSION_STR: String = env!("CARGO_PKG_VERSION").to_string();
static ref VERSION: Version = Version::parse("0.17.0").expect("Cannot parse version.");
static ref VERSION_STR: String = "0.17.0".to_string();
}