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

rls no longer builds after rust-lang/rust#60462 #60534

Closed
rust-highfive opened this issue May 4, 2019 · 3 comments · Fixed by #60538
Closed

rls no longer builds after rust-lang/rust#60462 #60534

rust-highfive opened this issue May 4, 2019 · 3 comments · Fixed by #60538
Assignees
Labels
T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@rust-highfive
Copy link
Collaborator

Hello, this is your friendly neighborhood mergebot.
After merging PR #60462, I observed that the tool rls no longer builds.
A follow-up PR to the repository https://github.com/rust-lang/rls is needed to fix the fallout.

cc @eddyb, do you think you would have time to do the follow-up work?
If so, that would be great!

cc @petrochenkov, the PR reviewer, and @rust-lang/compiler -- nominating for prioritization.

@rust-highfive rust-highfive added I-nominated T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 4, 2019
@ghost
Copy link

ghost commented May 4, 2019

I was wondering why I got error: 'rls' is not installed for the toolchain 'master-installed' even though I compiled rust with tools = [ "src", "rls"] in config.toml, however I got no errors during any compile&install step.

bors added a commit that referenced this issue May 4, 2019
submodules: update clippy from 2ed0b3b to fc96aa0

Changes:
````
Rustup to rustc 1.36.0-nightly (13fde05 2019-05-03)
Fix link in into_iter_on_array documentation
remove function body from "too many args" span
check closure arguments before use it
format code
fix suggestion for search_is_some
fix suggestion for search_is_some naively
change |&x| to |x| in stderr file
cargo fmt
useless_let_if_seq handle interior mutability
````
Fixes #60534
@ghost
Copy link

ghost commented May 25, 2019

Well, I'm still getting error: 'rls' is not installed for the toolchain 'master-installed' with this config.toml:

$ cat rust/config.toml|grep -v '^#'|sed -e '/^$/d'

[llvm]
optimize = true
release-debuginfo = false #faster
assertions = false #faster
ccache = "/usr/bin/ccache" #faster
static-libstdcpp = false
ninja = true
targets = "X86"
experimental-targets = ""
link-jobs = 0
[build]
build = "x86_64-unknown-linux-gnu"
host = ["x86_64-unknown-linux-gnu"]
target = ["x86_64-unknown-linux-gnu"] # defaults to just the build triple
docs = true
compiler-docs = false #faster ./x.py install XXX: undo
submodules = true #this and/or fast-submodules=true below, will overwrite changes presumably made by eg. git checkout d6525ef539 in the root rustc/ dir and thus I cannot properly roll back to that working rustc commit because submodules are in fact brought up to date automatically, so still hitting this issue: https://github.com/rust-lang/rust/issues/57596
fast-submodules = true
locked-deps = false
full-bootstrap = false
extended = false
tools = [ "src", "rls"]
verbose = 0
sanitizers = false
profiler = false
low-priority = true
local-rebuild = false
print-step-timings = true
[install]
prefix = "/home/user/build/2nonpkgs/rust.stuff/rust/rust.installed.dir"
bindir = "bin"
[rust]
optimize = true
debug = false #faster
codegen-units = 1 #We currently have the capability to do multiple codegen units in parallel. Unfortunately, one drawback of using this functionality is that using multiple codegen units loses optimization opportunities, like inlining, between the units. src: https://internals.rust-lang.org/t/towards-a-second-edition-of-the-compiler/5582
codegen-units-std = 1
debug-assertions = false #WAY(?) faster
debuginfo-level = 2
debuginfo-level-rustc = 2
debuginfo-level-std = 2
debuginfo-level-tools = 2
backtrace = true
incremental = true #faster but hitting this issue after each update which makes it useless: https://github.com/rust-lang/rust/issues/58633
parallel-compiler = true #use false or else: https://github.com/rust-lang/rust/issues/61162#issuecomment-495888785
channel = "dev"
rpath = true
verbose-tests = false
optimize-tests = true
codegen-tests = false #for no good reason; just to be sure
ignore-git = false #i don't get it! what git information and why will it cause rebuilds?
lld = false
deny-warnings = false #workaround for above
backtrace-on-ice = true
llvm-libunwind = false #default
[target.x86_64-unknown-linux-gnu]
[dist]
src-tarball = false
missing-tools = false

I basically used the following to compile:

instdir="${HOME}/build/2nonpkgs/rust.stuff/rust/rust.installed.dir"
time python2 ./x.py build $verbose -j $threads
time python2 ./x.py install $verbose -j $threads
rustup toolchain link master-installed "${instdir}"
rustup toolchain link master-stage1 build/x86_64-unknown-linux-gnu/stage1
rustup toolchain link master-stage2 build/x86_64-unknown-linux-gnu/stage2
rustup default master-installed
$ rustup show
Default host: x86_64-unknown-linux-gnu

installed toolchains
--------------------

nightly-x86_64-unknown-linux-gnu
master-installed (default)
master-stage1
master-stage2

active toolchain
----------------

master-installed (default)
rustc 1.36.0-dev (315ab95a9 2019-05-25)

$ rls
error: 'rls' is not installed for the toolchain 'master-installed'
To install, run `rustup component add rls`

$ rustup component add rls
error: toolchain 'master-installed' does not support components
info: caused by: invalid toolchain name: 'master-installed'

ok, a more up to date one: #61071

@ghost
Copy link

ghost commented May 25, 2019

ah looks like it's my bad for using extended = false which apparently is required for tools = to have any effect, now I get

warning: build failed, waiting for other jobs to finish...
[RUSTC-TIMING] racer test:false 29.976=============================> ] 260/264: racer                                         
error: build failed
command did not execute successfully: "/home/user/build/2nonpkgs/rust.stuff/rust/rust/build/x86_64-unknown-linux-gnu/stage0/bin/cargo" "build" "--target" "x86_64-unknown-linux-gnu" "-j" "12" "-v" "--release" "--manifest-path" "/home/user/build/2nonpkgs/rust.stuff/rust/rust/src/tools/rls/Cargo.toml" "--message-format" "json"
expected success, got: exit code: 101
[TIMING] ToolBuild { compiler: Compiler { stage: 2, host: "x86_64-unknown-linux-gnu" }, target: "x86_64-unknown-linux-gnu", tool: "rls", path: "src/tools/rls", mode: ToolRustc, is_optional_tool: true, source_type: Submodule, extra_features: [] } -- 30.273
      < ToolBuild { compiler: Compiler { stage: 2, host: "x86_64-unknown-linux-gnu" }, target: "x86_64-unknown-linux-gnu", tool: "rls", path: "src/tools/rls", mode: ToolRustc, is_optional_tool: true, source_type: Submodule, extra_features: [] }
    < Rls { compiler: Compiler { stage: 2, host: "x86_64-unknown-linux-gnu" }, target: "x86_64-unknown-linux-gnu", extra_features: [] }
thread 'main' panicked at 'Unable to build RLS', src/bootstrap/dist.rs:65:9

which is a lot better!

I gotta admit, I didn't expect it to be so from reading this:

# Enable a build of the extended rust tool set which is not only the compiler
# but also tools such as Cargo. This will also produce "combined installers"
# which are used to install Rust and Cargo together. This is disabled by
# default.
#extended = false

# Installs chosen set of extended tools if enables. By default builds all.
# If chosen tool failed to build the installation fails.
#tools = ["cargo", "rls", "clippy", "rustfmt", "analysis", "src"]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants