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

Multi-host cross-compile build sometimes fails when building llvmdeps.rs #17852

Closed
brson opened this issue Oct 7, 2014 · 3 comments
Closed

Comments

@brson
Copy link
Contributor

brson commented Oct 7, 2014

This happens on our nightly and dist bots periodically:

make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/rustbuild/src/rust-buildbot/slave/dist2-linux/build/obj/i686-unknown-linux-gnu/llvm/bindings'
llvm[1]: ***** Completed Release+Asserts Build
make[1]: Leaving directory `/home/rustbuild/src/rust-buildbot/slave/dist2-linux/build/obj/i686-unknown-linux-gnu/llvm'
Traceback (most recent call last):
  File "/home/rustbuild/src/rust-buildbot/slave/dist2-linux/build/src/etc/mklldeps.py", line 50, in <module>
    out = run([llconfig, '--host-target'])
  File "/home/rustbuild/src/rust-buildbot/slave/dist2-linux/build/src/etc/mklldeps.py", line 38, in run
    proc = subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
  File "/home/rustbuild/root64/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/home/rustbuild/root64/lib/python2.7/subprocess.py", line 1327, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory
make: *** [/home/rustbuild/src/rust-buildbot/slave/dist2-linux/build/src/librustc_llvm/llvmdeps.rs] Error 1
program finished with exit code 2
elapsedTime=4174.547997

Here's what configure looks like:

../configure --disable-valgrind --enable-dist-host-only --host=i686-unknown-linux-gnu,x86_64-unknown-linux-gnu
@brson
Copy link
Contributor Author

brson commented Oct 7, 2014

Presumably it's complaining that llvm-config can't be found, but the makefiles look right to me. Hard to reproduce.

@alexcrichton
Copy link
Member

I've only ever seen this get reproduced during an LLVM upgrade on a multi-host builder. I've only sporadically been able to reproduce locally, and if you re-make after the error occurs it does not repeat itself. The only sequence of events I've seen to trigger this is:

  1. Build LLVM in the rust repo (for multiple hosts).
  2. Upgrade LLVM in the rust repo.
  3. Build LLVM again (run make -j), see the error.

@brson
Copy link
Contributor Author

brson commented Oct 7, 2014

Perhaps this is because the rules for the host-specific llvm stamp call the non-host-specific clean-llvm target, so when the build gets to the second LLVM it deletes the just-built LLVM.

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

No branches or pull requests

2 participants