Skip to content

Cannot build the experimental LLVM 6.0 Compiler #97

Closed
@jhwgh1968

Description

@jhwgh1968

I am actually interesting in solving issue #93... but I know I will want a more recent compiler than master, which is last November.

So I dug into getting the experimental branch of AVR Rust with LLVM 6.0 working (which is late January). The process was simple, I thought:

  1. Check out experimental branch source.
  2. Manually get patches in issue comments applied for LLVM 6.0 issues, by hacking git submodules to death
  3. Get it to compile using the directions in the README.

And, to my surprise, all that worked! But then:

cd hello_avr && cargo build --target=avr-unknown-unknown

Got me this response:

error: failed to run `rustc` to learn about target-specific information

Caused by:
  process didn't exit successfully: `rustc - --crate-name ___ --print=file-names --target avr-unknown-unknown --crate-type bin --crate-type rlib --crate-type dylib --crate-type cdylib --crate-type staticlib --crate-type proc-macro` (exit code: 101)
--- stderr
error: Could not create LLVM TargetMachine for triple: avr-unknown-unknown: No available targets are compatible with this triple.

Which is not the error I was expecting at all. And even if I take my extra LLVM patches out, it still does that.

I know this is experimental, but the issues opened here imply that more than one person has succeeded in getting this compiler built, and at least trying to compile Rust code. There appears to be some shared knowledge I am missing. What is that? And can the README.md be updated with it?

EDIT: I know it's not a path issue, because:

rustc --print target-list

Gets me the correct response:
[...]
armv7-unknown-linux-musleabihf
asmjs-unknown-emscripten
avr-unknown-unknown
i586-pc-windows-msvc
i586-unknown-linux-gnu
[...]

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions