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

llvmPackages: 5 -> 7 on Linux, keep Darwin at 5 until fixed #49402

Merged
merged 6 commits into from Feb 7, 2019

Conversation

dtzWill
Copy link
Member

@dtzWill dtzWill commented Oct 29, 2018

Replaces #39986.

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • 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/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Fits CONTRIBUTING.md.

I've been using 7 as my default for over a month (ea00916)
and so far so good -- although my usage certainly doesn't cover all packages impacted by this.

My previous attempts to bump the Darwin stdenv version didn't
seem to work, but AFAIK doing so should be straightforward
for anyone with a Darwin builder and the interest in tackling this.

While not the preferred solution, adding a conditional lets us move on,
as we missed 6 entirely due to no one getting around to resolving the
Darwin bootstrap accordingly.
@GrahamcOfBorg GrahamcOfBorg added the 6.topic: darwin Running or building packages on Darwin label Oct 29, 2018
@dtzWill
Copy link
Member Author

dtzWill commented Oct 29, 2018

A miscompilation bug was mentioned on the other PR, it may be wise to check if LLVM 7 contains the fix (although this would mostly impact Darwin).

@GrahamcOfBorg
Copy link

Failure on x86_64-darwin (full log)

Attempted: mesa

Partial log (click to expand)

cannot build derivation '/nix/store/ga3jscq5wjjzm7vkza0776xnd041q8az-apple-framework-ApplicationServices.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/c5ww790x688dbacb25xbd3djsg8dxszh-python2.7-pytest-3.9.2.drv': 19 dependencies couldn't be built
cannot build derivation '/nix/store/6zlvywkmim993jpz37d055n4j2xi9cww-apple-framework-CoreVideo.drv': 8 dependencies couldn't be built
cannot build derivation '/nix/store/i45kqjs4cvn6840wcv8vnjab7ccir7wy-apple-framework-Foundation.drv': 9 dependencies couldn't be built
cannot build derivation '/nix/store/11sasaganqszjhj4hxixq8n6w35xlpa5-python2.7-Mako-1.0.7.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/ackxc04k0g3g9qylsl9j5sslpliyhqs3-apple-framework-QuartzCore.drv': 7 dependencies couldn't be built
cannot build derivation '/nix/store/sdccdnjmv91fgpak47x32p0h6mr9280z-apple-framework-Carbon.drv': 10 dependencies couldn't be built
cannot build derivation '/nix/store/8ayxhrdkjv8v9l1f859s15hqx2a4y3j8-apple-lib-Xplugin.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/5wb3q53012p5b4j59c7yl79w7rpslvnn-mesa-noglu-18.2.2.drv': 33 dependencies couldn't be built
error: build of '/nix/store/5wb3q53012p5b4j59c7yl79w7rpslvnn-mesa-noglu-18.2.2.drv' failed

@GrahamcOfBorg
Copy link

Timed out, unknown build status on x86_64-linux (full log)

Attempted: mesa

Partial log (click to expand)

[ 81%] Building CXX object tools/llvm-dwp/CMakeFiles/llvm-dwp.dir/llvm-dwp.cpp.o
[ 81%] Building CXX object tools/llvm-cov/CMakeFiles/llvm-cov.dir/SourceCoverageViewHTML.cpp.o
[ 81%] Linking CXX executable ../../bin/llvm-dis
[ 81%] Built target llvm-dis
Scanning dependencies of target llvm-exegesis
[ 81%] Building CXX object tools/llvm-exegesis/CMakeFiles/llvm-exegesis.dir/llvm-exegesis.cpp.o
[ 81%] Linking CXX executable ../../bin/llvm-dwarfdump
building of '/nix/store/4sr7h8y8qx109f1hnm73blxd7nhhrfxw-llvm-7.0.0.drv' timed out after 1800 seconds
cannot build derivation '/nix/store/bfnnlly2dbsnipss189l1kyfadym3m2x-mesa-noglu-18.2.2.drv': 1 dependencies couldn't be built
error: build of '/nix/store/bfnnlly2dbsnipss189l1kyfadym3m2x-mesa-noglu-18.2.2.drv' failed

@GrahamcOfBorg
Copy link

Success on aarch64-linux (full log)

Attempted: mesa

Partial log (click to expand)

stripping (with command strip and flags -S) in /nix/store/k91wcafyi3khzkacnd2v0yd620adds90-mesa-noglu-18.2.2-drivers/lib
patching script interpreter paths in /nix/store/k91wcafyi3khzkacnd2v0yd620adds90-mesa-noglu-18.2.2-drivers
checking for references to /build in /nix/store/k91wcafyi3khzkacnd2v0yd620adds90-mesa-noglu-18.2.2-drivers...
shrinking RPATHs of ELF executables and libraries in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa
shrinking /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa/lib/libOSMesa.so.8.0.0
strip is /nix/store/p9akxn2sfy4wkhqdqa3li97pc6jaz3r1-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa/lib
patching script interpreter paths in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa
checking for references to /build in /nix/store/lqi8kbgqcbnb3mgdxaskn8iih9g2blxr-mesa-noglu-18.2.2-osmesa...
/nix/store/0xkrw68haw0v6h8xjyw0117aji5ij9ga-mesa-noglu-18.2.2

@dtzWill
Copy link
Member Author

dtzWill commented Oct 30, 2018

Anyone have thoughts -- particularly "please wait"-- on this?

@LnL7
Copy link
Member

LnL7 commented Oct 31, 2018

I don't really see a reason to diverge. I would propose to drop libxml2 by default and switch everything or nothing. The darwin builds will also give us a better overview of the impact.

@matthewbauer
Copy link
Member

Are there any issues on darwin? This would help us out because llvm 7 contains dsymutil which is needed to fix #52148.

@LnL7
Copy link
Member

LnL7 commented Dec 15, 2018

We have to disable (libxml?) on darwin, or just by default to avoid bootstrapping problems.

@dtzWill
Copy link
Member Author

dtzWill commented Jan 15, 2019 via email

@matthewbauer matthewbauer added this to the 19.09 milestone Jan 23, 2019
@nixos-discourse
Copy link

This pull request has been mentioned on Nix community. There might be relevant details there:

https://discourse.nixos.org/t/nixos-19-03-feature-freeze/1950/5

@vcunat
Copy link
Member

vcunat commented Jan 24, 2019

I can hardly guess the amount of breakage, but I'd hope almost all will be built-time. It might be worth creating a separate x86_64-linux -only jobset on Hydra just for this, so that these regressions get separated from others.

@madjam002
Copy link

Just as an FYI, I tried LLVM 7 with Mesa on NixOS Unstable and I get the following errors when trying games from Steam Proton (might be unrelated):

[  551.019500] amdgpu 0000:01:00.0: GPU fault detected: 147 0x09d84401 for process Overcooked.exe pid 5241 thread Overcooked.exe pid 5241
[  551.019504] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_ADDR   0x0D70013B
[  551.019505] amdgpu 0000:01:00.0:   VM_CONTEXT1_PROTECTION_FAULT_STATUS 0x08044001
[  551.019507] amdgpu 0000:01:00.0: VM fault (0x01, vmid 4, pasid 32774) at page 225444155, read from 'TC5' (0x54433500) (68)
[  562.390204] [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=55183, emitted seq=55186

I'm trying LLVM 7 by using the following (this also could be completely wrong, I'm new to NixOS!):

packageOverrides = pkgs: with pkgs.stdenv.lib;
      let
        mesa = ((pkgs.mesa_noglu.override {
          llvmPackages = pkgs.llvmPackages_7;
        }));
      in {
        mesa_drivers = mesa.drivers;
      };
$ DISPLAY=:0 glxinfo | grep "OpenGL"
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) RX 480 Graphics (POLARIS10, DRM 3.27.0, 4.20.3, LLVM 7.0.1)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.1
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.1
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.1
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
OpenGL ES profile extensions:

LLVM 6 works fine.

@matthewbauer
Copy link
Member

Let's aim for this right after the 19.03 branch off. We still have quite a few things in staging that I am wanting to prioritize.

@dtzWill
Copy link
Member Author

dtzWill commented Feb 6, 2019 via email

@matthewbauer matthewbauer merged commit 9f71f86 into NixOS:staging Feb 7, 2019
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

8 participants