rust-osdev / rust-osdev/bootloader

Cannot build or install bootloader package due to duplicate llvm-tools dependency within bootloader Cargo.toml

Open
#212 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Rust
Stars
1.7k
Forks
240
PR merge metrics
No merged PRs in 30d

Description

I'm trying to set up a basic skeleton for a Rust-based OS using this package to create a bootloader and boot image, and am running into the following problem:

$ cargo install bootloader --all-features
    Updating crates.io index
  Installing bootloader v0.10.11
error: failed to compile `bootloader v0.10.11`, intermediate artifacts can be found at `/tmp/cargo-installOtF7pN`

Caused by:
  the crate `bootloader v0.10.11` depends on crate `llvm-tools v0.1.1` multiple times with different names

I've also tried just setting bootloader v0.10.11 as a dependency for my crate and trying to build a minimal kernel (just a _start that loops forever and a panic handler) and run into the same issue when trying to build it:

$ cargo build
error: the crate `bootloader v0.10.11` depends on crate `llvm-tools v0.1.1` multiple times with different names

I am using the nightly toolchain via rustup, and have installed the llvm-tools-preview component for the nightly toolchain. Did I miss an important step somewhere? Any ideas?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Inspect the bootloader Cargo.toml and reproduce the failure with cargo install bootloader --all-features or a minimal dependent crate using cargo build. Trace the two llvm-tools v0.1.1 dependencies with different names, then confirm the duplicate-dependency error is gone and the bootloader package builds successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.