Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

configure: update required LLVM version #32468

Merged
merged 1 commit into from
Mar 26, 2016
Merged

Conversation

cardoe
Copy link
Contributor

@cardoe cardoe commented Mar 24, 2016

Rust 1.7.0 and newer appears to require LLVM 3.6.0 or newer when
building against a version that's out of the tree with the --llvm-root
flag.

Signed-off-by: Doug Goldstein cardoe@cardoe.com

Rust 1.7.0 and newer appears to require LLVM 3.6.0 or newer when
building against a version that's out of the tree with the --llvm-root
flag.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
@rust-highfive
Copy link
Collaborator

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @alexcrichton (or someone else) soon.

If any changes to this PR are deemed necessary, please add them as extra commits. This ensures that the reviewer can see what has changed since they last reviewed the code. Due to the way GitHub handles out-of-date commits, this should also make it reasonably obvious what issues have or haven't been addressed. Large or tricky changes may require several passes of review and changes.

Please see the contribution instructions for more information.

@cardoe
Copy link
Contributor Author

cardoe commented Mar 24, 2016

I've been working on getting a newer version of Rust into Gentoo and I'd prefer to use the LLVM we ship rather than build another LLVM. I wasn't able to get it to build with anything older than 3.6.0 which is where this suggestion comes from. I've been using Rust 1.7.0 to test with.

@alexcrichton
Copy link
Member

Hm I don't seem to recall a commit which broke 3.5 compatibility, but maybe we did by accident? What's the build error you're seeing against 3.5?

@cardoe
Copy link
Contributor Author

cardoe commented Mar 25, 2016

error: linking with cc failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-m64" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin/rustc.0.o" "-o" "x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/bin/rustc" "-Wl,--gc-sections" "-pie" "-Wl,-O1" "-nodefaultlibs" "-L" "/usr/lib64" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,-Bdynamic" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_driver-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_passes-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_borrowck-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_privacy-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_typeck-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_lint-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_resolve-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "syntax_ext-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_plugin-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_metadata-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_trans-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_platform_intrinsics-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_mir-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_data_structures-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_back-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "flate-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "getopts-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "arena-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "fmt_macros-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "graphviz-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_front-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "syntax-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "term-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rustc_llvm-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "rbml-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "serialize-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "log-6a154fe0" "-L" "/var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "std-6a154fe0" "-l" "z" "-l" "pthread" "-l" "ffi" "-l" "curses" "-l" "dl" "-l" "m" "-l" "stdc++" "-l" "dl" "-l" "pthread" "-l" "gcc_s" "-l" "c" "-l" "m" "-l" "rt" "-Wl,-rpath,$ORIGIN/../lib" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-l" "compiler-rt"
note: /var/tmp/portage/dev-lang/rust-1.7.0/work/rustc-1.7.0/x86_64-unknown-linux-gnu/stage0/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_trans-6a154fe0.so: undefined reference to `LLVMCloneModule'
collect2: error: ld returned 1 exit status

@dotdash
Copy link
Contributor

dotdash commented Mar 25, 2016

Oh, that's from my fix for emitting mulitple formats at once, I didn't realize that LLVMCloneModule was new in 3.6

@alexcrichton
Copy link
Member

Ah no worries! We still don't have many requests for specifically older LLVM versions and we're not committed to supporting LLVM 3.5, so this seems fine (especially now that it's been tracked down)

@bors: r+ ed28247

Thanks!

Manishearth added a commit to Manishearth/rust that referenced this pull request Mar 26, 2016
configure: update required LLVM version

Rust 1.7.0 and newer appears to require LLVM 3.6.0 or newer when
building against a version that's out of the tree with the --llvm-root
flag.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
bors added a commit that referenced this pull request Mar 26, 2016
@bors
Copy link
Contributor

bors commented Mar 26, 2016

⌛ Testing commit ed28247 with merge c9b6ba8...

bors added a commit that referenced this pull request Mar 26, 2016
configure: update required LLVM version

Rust 1.7.0 and newer appears to require LLVM 3.6.0 or newer when
building against a version that's out of the tree with the --llvm-root
flag.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
@bors bors merged commit ed28247 into rust-lang:master Mar 26, 2016
@cardoe cardoe deleted the llvm-check branch March 27, 2016 03:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants