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

rustc: 1.15.1 -> 1.16.0, cargo: 1.16.0 -> 1.17.0, bootstrap: 1.14.0 -> 1.15.1 #24141

Closed
wants to merge 2 commits into from

Conversation

MP2E
Copy link

@MP2E MP2E commented Mar 20, 2017

Things done
  • Tested using sandboxing
    (nix.useSandbox on NixOS,
    or option build-use-sandbox in nix.conf
    on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • Linux
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

cargo: 1.16.0 -> 1.17.0

rust-bootstrap: 1.14.0 -> 1.15.1
@mention-bot
Copy link

@MP2E, thanks for your PR! By analyzing the history of the files in this pull request, we identified @the-kenny, @dvc94ch and @retrry to be potential reviewers.

@LnL7
Copy link
Member

LnL7 commented Mar 20, 2017

This fails on darwin with

rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/librustc_data_structures
rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/libsyntax
rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/libfmt_macros
compile: x86_64-apple-darwin/rustllvm/RustWrapper.o
compile: x86_64-apple-darwin/rustllvm/PassWrapper.o
compile: x86_64-apple-darwin/rustllvm/ArchiveWrapper.o
link: x86_64-apple-darwin/rt/librustllvm.a
rustc: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/librustc_llvm
error: linking with `cc` failed: exit code: 1
  |
  = note: "cc" "-m64" "-L" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.0.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.1.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.2.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.3.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.4.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.5.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.6.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.7.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.8.o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.9.o" "-o" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/librustc_llvm-63283ac5.dylib" "x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/rustc_llvm-63283ac5.metadata.o" "-Wl,-dead_strip" "-nodefaultlibs" "-L" "x86_64-apple-darwin/rt" "-L" "/nix/store/qbyy6sigq7y1dqylv68703vg64q2fblc-llvm-3.7.1/lib" "-L" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib" "-Wl,-force_load,x86_64-apple-darwin/rt/librustllvm.a" "-l" "LLVMInterpreter" "-l" "LLVMMCJIT" "-l" "LLVMExecutionEngine" "-l" "LLVMRuntimeDyld" "-l" "LLVMAsmParser" "-l" "LLVMLinker" "-l" "LLVMBitWriter" "-l" "LLVMipo" "-l" "LLVMVectorize" "-l" "LLVMSparcDisassembler" "-l" "LLVMSparcCodeGen" "-l" "LLVMSparcAsmParser" "-l" "LLVMSparcDesc" "-l" "LLVMSparcInfo" "-l" "LLVMSparcAsmPrinter" "-l" "LLVMMSP430CodeGen" "-l" "LLVMMSP430Desc" "-l" "LLVMMSP430Info" "-l" "LLVMMSP430AsmPrinter" "-l" "LLVMSystemZDisassembler" "-l" "LLVMSystemZCodeGen" "-l" "LLVMSystemZAsmParser" "-l" "LLVMSystemZDesc" "-l" "LLVMSystemZInfo" "-l" "LLVMSystemZAsmPrinter" "-l" "LLVMPowerPCDisassembler" "-l" "LLVMPowerPCCodeGen" "-l" "LLVMPowerPCAsmParser" "-l" "LLVMPowerPCDesc" "-l" "LLVMPowerPCInfo" "-l" "LLVMPowerPCAsmPrinter" "-l" "LLVMMipsDisassembler" "-l" "LLVMMipsCodeGen" "-l" "LLVMMipsAsmParser" "-l" "LLVMMipsDesc" "-l" "LLVMMipsInfo" "-l" "LLVMMipsAsmPrinter" "-l" "LLVMAArch64Disassembler" "-l" "LLVMAArch64CodeGen" "-l" "LLVMAArch64AsmParser" "-l" "LLVMAArch64Desc" "-l" "LLVMAArch64Info" "-l" "LLVMAArch64AsmPrinter" "-l" "LLVMAArch64Utils" "-l" "LLVMARMDisassembler" "-l" "LLVMARMCodeGen" "-l" "LLVMARMAsmParser" "-l" "LLVMARMDesc" "-l" "LLVMARMInfo" "-l" "LLVMARMAsmPrinter" "-l" "LLVMX86Disassembler" "-l" "LLVMX86AsmParser" "-l" "LLVMX86CodeGen" "-l" "LLVMSelectionDAG" "-l" "LLVMAsmPrinter" "-l" "LLVMCodeGen" "-l" "LLVMTarget" "-l" "LLVMScalarOpts" "-l" "LLVMProfileData" "-l" "LLVMInstCombine" "-l" "LLVMInstrumentation" "-l" "LLVMTransformUtils" "-l" "LLVMipa" "-l" "LLVMAnalysis" "-l" "LLVMX86Desc" "-l" "LLVMObject" "-l" "LLVMMCParser" "-l" "LLVMBitReader" "-l" "LLVMMCDisassembler" "-l" "LLVMX86Info" "-l" "LLVMX86AsmPrinter" "-l" "LLVMMC" "-l" "LLVMX86Utils" "-l" "LLVMCore" "-l" "LLVMSupport" "-l" "tinfo" "-l" "pthread" "-l" "z" "-l" "m" "-l" "c++" "-L" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib" "-l" "std-63283ac5" "/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rustc.EkqoYLD3ouWx/libcompiler_builtins-63283ac5.rlib" "-l" "System" "-l" "c" "-l" "m" "-dynamiclib" "-Wl,-dylib" "-Wl,-install_name,@rpath/librustc_llvm-63283ac5.dylib" "-Wl,-rpath,@loader_path/" "-Wl,-rpath,/usr/local/lib/rustlib/x86_64-apple-darwin/lib"
  = note: Undefined symbols for architecture x86_64:
  "_LLVMInitializeNVPTXTargetInfo", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
  "_LLVMInitializeNVPTXTarget", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
  "_LLVMInitializeNVPTXTargetMC", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
  "_LLVMInitializeNVPTXAsmPrinter", referenced from:
      rustc_llvm::initialize_available_targets::h36a6a839bb826701 in rustc_llvm-63283ac5.2.o
ld: symbol(s) not found for architecture x86_64
clang-3.7: error: linker command failed with exit code 1 (use -v to see invocation)


error: aborting due to previous error

make: *** [/private/var/folders/qv/5k4lhv3n1hg2jk29cj3smtp00000gn/T/nix-build-rustc-1.16.0.drv-0/rust-30cf806/mk/target.mk:195: x86_64-apple-darwin/stage0/lib/rustlib/x86_64-apple-darwin/lib/stamp.rustc_llvm] Error 101
builder for ‘/nix/store/1k41jyh91iy7y72yl8vh96pgbz335acm-rustc-1.16.0.drv’ failed with exit code 2

@Mic92
Copy link
Member

Mic92 commented Mar 21, 2017

does darwin use a different llvm version? _LLVMInitializeNVPTXTargetInfo

@LnL7
Copy link
Member

LnL7 commented Mar 21, 2017

Yes, I'm looking at it.

@LnL7 LnL7 self-assigned this Mar 21, 2017
@LnL7
Copy link
Member

LnL7 commented Mar 22, 2017

This is with llvm_39, but I have not looked at it any further yet https://gist.github.com/LnL7/a03d121e7ceabbca7b7d2216aace4be4

@the-kenny
Copy link
Contributor

Any update on this? Maybe open an upstream issue?

@MP2E
Copy link
Author

MP2E commented Mar 27, 2017

I don't have a Mac to test unfortunately so I can't comment on that, but I did notice in the nix expression that there are 2 tests that were disabled due to them being specific to LLVM 3.9. I re-enabled them since LLVM 3.9 is now used with Rust.

@LnL7
Copy link
Member

LnL7 commented Mar 27, 2017

That might explain the first failure. To clarify 1.15.1 works fine with llvm_39, the gist I posted is specific to this new version.

@LnL7 LnL7 mentioned this pull request Mar 28, 2017
7 tasks
@the-kenny
Copy link
Contributor

Does #24418 fix the darwin issue of this ticket? I find it quite unfortunate that this has been blocked for such a long time.

@LnL7
Copy link
Member

LnL7 commented Apr 4, 2017

That fixed the llvm issue, but the failing tests with dlsym(__rustc_plugin_registrar): symbol not found are still a problem. I've been working on some other stuff, but I should have some time to look into this now.

@Mic92 Mic92 added the 6.topic: darwin Running or building packages on Darwin label Apr 16, 2017
@grahamc
Copy link
Member

grahamc commented Apr 21, 2017

Can we go ahead and merge this? I hate both sides of the coin of breaking OSX, and having old Rusts.

@LnL7
Copy link
Member

LnL7 commented Apr 21, 2017

@grahamc I'm not sure, this will break the entire ecosystem for darwin users and since nixpkgs-unstable is the only channel that hydra builds for darwin this will propagate pretty quickly. Perhaps adding this as rustc_1_16_0 (like we do for most compilers/languages) and keeping the current as the default to build other packages is a better solution?

@the-kenny
Copy link
Contributor

I'm against adding this as rustc_1_16_0 - this will hide the upgrade from everyone. Instead, we could rename our current rust to rustDarwin and merge this. This plus rust = rustDarwin on darwin won't break anything.

@the-kenny
Copy link
Contributor

@MP2E Ping - are you interested in modifying this PR? If not, can someone fork off this branch and implement the necessary changes?

@LnL7
Copy link
Member

LnL7 commented Apr 22, 2017

I disagree with that, either there are packages that expect/need the new version making it kind of irrelevant to have it as the default for darwin. Changing the default version depending on the platform will only lead to confusion. If we leave rustc_1_15_1, around darwin users will still have a workaround for packages that don't need the new version.

@MP2E
Copy link
Author

MP2E commented Apr 23, 2017

I would be willing to make modifications once we have a consensus on what to do, however note that rust 1.17.0 will be released in about a week at this point. Perhaps bumping cargo, rustc, bootstrap rustc when the new release comes out will fix our darwin issues?

@retrry
Copy link
Contributor

retrry commented Apr 24, 2017

Rust 1.17.0 will be the first release, which will have old make build system removed. We will need to modify rust packaging to use rustbuild.

@MP2E
Copy link
Author

MP2E commented Apr 30, 2017

Closing as Rust 1.17.0 is out and this will need some reworking

@MP2E MP2E closed this Apr 30, 2017
@MP2E MP2E deleted the rust_update branch June 10, 2017 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants