Skip to content

exe_path is wrong when the script name matches the name of a dependency #8

Closed
@badboy

Description

@badboy

This bug still exists in rust-script: DanielKeep/cargo-script#57

Copied:

Can be reproduced with the following script:

Filename: time.rs

#!/usr/bin/env run-cargo-script
// cargo-deps: chrono
extern crate chrono;
fn main() {
    println!("Hello");
}

When trying to execute with ./time.rs or cargo script time.rs, it fails with internal error: Permission denied (os error 13) because it tries to run /home/user/.cargo/binary-cache/release/deps/libtime-2d0d7bb318809c2f.rlib instead of .cargo/binary-cache/release/time.

Some time ago, this worked. I’d guess the error lies in cargo_target_by_message, picking the wrong line because the target.name is the same as the package name.

Workaround: Renaming the script to another name lets it run fine.


(Paths/Invocations should be adjusted for rust-script of course)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions