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

futhark: init at 0.6.2 #43865

Merged
merged 5 commits into from Oct 12, 2018
Merged

futhark: init at 0.6.2 #43865

merged 5 commits into from Oct 12, 2018

Conversation

infinisil
Copy link
Member

@infinisil infinisil commented Jul 20, 2018

Motivation for this change

Predicate to be able to demonstrate how well Nix can work as Futhark's package manager for https://www.reddit.com/r/ProgrammingLanguages/comments/90fnop/the_future_futhark_package_manager/

Edit: It's live :) https://github.com/infinisil/futharknixdemo

Tested with a simple compilation and run. It needed some fancy gcc NIX_ stuff to work, @cleverca22 helped a lot with that on IRC :).

It's a Haskell package not present in hackage. I used cabal2nix to generate a file with the dependencies and made the updating process automated via a small script.

Ping @peti @domenkozar for Haskell

Things done
  • 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 execution of all binary files (usually in ./result/bin/)
  • Fits CONTRIBUTING.md.

mkDerivation {
pname = "futhark";
version = "0.6.2";
src = /nix/store/5n2kpq21b3hm0yfr7wsinh5v24y81s98-source;
Copy link
Member Author

@infinisil infinisil Jul 20, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While a bit ugly, this is always overridden by the default.nix. This file is autogenerated by the update script via cabal2nix.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why not take the src as an argument? This is too ugly.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is autogenerated by cabal2nix, I can't just change what it generates. I also don't want to have to manually edit the file every time an update comes out. It would be possible to use cabal2nix's git fetching. But that has the problem that it doesn't use the github tarballs, it fetches all submodules, and futhark has a super big submodule that takes forever to fetch. This may get better with NixOS/cabal2nix#260. I don't know of a cleaner solution than this.


path = stdenv.lib.makeBinPath [ gcc ];

wrapped = symlinkJoin {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do you use symlinkJoin with one one thing in paths?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes it easy to patch a single file, since everything gets symlinked and I can just replace a symlink. Idris also uses this in its wrapper.

Alternative would be to do ln -s ${package}/* $out; rm $out/bin; mkdir $out/bin; ln -s ${package}/bin/* $out/bin; rm $out/bin/futhark-c; rm $out/bin/futhark-opencl and then the makeWrappers. I can do that if you prefer.

exit 1
fi

echo Updated package.nix file successfully
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like if you have to use this script then it should be packaged properly and automatically run on whatever src you choose rather than just living in the directory.

@infinisil
Copy link
Member Author

@mpickering I removed the update script and replaced it with a short manual description of how to update in the file, is this alright?

@mpickering
Copy link
Contributor

Where is the description?

@@ -0,0 +1,55 @@
# Generated using `cabal2nix --hpack .`, then replace src
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess it's a bit on the short side, but I think anybody knowing how to use cabal2nix will know what it means

@mpickering
Copy link
Contributor

OK, I think this is fine. It seems annoying that there isn't one invocation of cabal2nix which will generate this file but I can't get it to work.

For example:

cabal2nix https://github.com/diku-dk/futhark --hpack --revision v0.6.2

@infinisil
Copy link
Member Author

Yeah currently there isn't, as previously mentioned, there is an issue for it: NixOS/cabal2nix#260

@infinisil
Copy link
Member Author

@peti @basvandijk Is it okay to add a haskell package like this? It's not in hackage

@flokli
Copy link
Contributor

flokli commented Aug 20, 2018

Was able to compile some examples with it, so futhark should be fine.

Unfortunately couldn't execute them, as I couldn't get OpenCL to work on my hardware (yet).

opencl-info complains

ERROR: clGetPlatformIDs(-1001)

Thinkpad T460p with i7-6820HQ, currently not using the nvidia card NVIDIA Corporation GM108M [GeForce 940MX] at all. According to this, the Intel Graphics should support OpenCL on it's own, so not really sure what do do here to get it working ¯\_(ツ)_/¯

Copy link
Member

@basvandijk basvandijk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@infinisil cool compiler!

The fact that futhark is a Haskell package is an implementation detail. To install it users should just have to specify futhark instead of haskellPackages.futhark.

Note that we also do this for most other Haskell executables. Like those other Haskell executables we should also override futhark with haskell.lib.justStaticExecutables to
reduce closure size.

I made these changes in: LumiGuide@5ba57d5. You may want to merge that into your branch or I can also do it if you like.

Offtopic: note that in #45406 I'm disabling library profiling for justStaticExecutables meaning that once that is merged futhark will build much quicker.

wrapProgram $out/bin/futhark-c \
--prefix PATH : "${path}"

wrapProgram $out/bin/futhark-opencl \
Copy link
Member Author

@infinisil infinisil Aug 25, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@basvandijk These wrappers don't seem to be applied like this, building either pkgs.futhark or pkgs.haskellPackages.futhark results in raw ELF binaries

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Strange, I did test if it created the correct wrappers but I can confirm it now results in ELF binaries. I'll look into it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should now be fixed by 2cdeee2 which I pushed to this PR.

@peti OK with this solution?

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: futhark

Partial log (click to expand)

shrinking /nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2/bin/futhark-pyopencl
shrinking /nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2/lib/ghc-8.4.3/futhark-0.6.2/HSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt.o
wrong ELF type
shrinking /nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2/lib/ghc-8.4.3/x86_64-linux-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.so
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2/lib  /nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2/bin
patching script interpreter paths in /nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2
checking for references to /build in /nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2...
wrong ELF type
/nix/store/fnrkf3pc4gf6bqmgy6n7xmar0fi8pcmm-futhark-0.6.2

@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: futhark

Partial log (click to expand)

/nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/lib/ghc-8.4.3/x86_64-osx-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.dylib: fixing dylib
/nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/lib/ghc-8.4.3/x86_64-osx-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.dylib: fixing dylib
/nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/lib/ghc-8.4.3/x86_64-osx-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.dylib: fixing dylib
/nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/lib/ghc-8.4.3/x86_64-osx-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.dylib: fixing dylib
/nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/lib/ghc-8.4.3/x86_64-osx-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.dylib: fixing dylib
/nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/lib/ghc-8.4.3/x86_64-osx-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.dylib: fixing dylib
strip is /nix/store/vvbmqsh5ikrxkiwj71dwfbzcwf4bfav8-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/lib  /nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2/bin
patching script interpreter paths in /nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2
/nix/store/vda5nfqdclskhxcqqrxmh8gysgj28rhp-futhark-0.6.2

@basvandijk
Copy link
Member

@GrahamcOfBorg build futhark

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: futhark

Partial log (click to expand)

shrinking /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/bin/futhark-dataset
shrinking /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/bin/.futhark-c-wrapped
shrinking /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/bin/futhark-py
shrinking /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/bin/futhark-doc
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/lib  /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/bin
patching script interpreter paths in /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2
checking for references to /build in /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2...
wrong ELF type
/nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2

@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@infinisil
Copy link
Member Author

Can confirm it works now

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: futhark

Partial log (click to expand)

shrinking /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/bin/.futhark-opencl-wrapped
shrinking /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/lib/ghc-8.4.3/futhark-0.6.2/HSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt.o
wrong ELF type
shrinking /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/lib/ghc-8.4.3/x86_64-linux-ghc-8.4.3/libHSfuthark-0.6.2-FbXK1P8KWFK3P10QxD4Fxt-ghc8.4.3.so
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/lib  /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2/bin
patching script interpreter paths in /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2
checking for references to /build in /nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2...
wrong ELF type
/nix/store/rp6s3l8f5nhd96cndw1yix6hvdqcxyyw-futhark-0.6.2

@GrahamcOfBorg
Copy link

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

Attempted: futhark

Partial log (click to expand)

[178 of 191] Compiling Language.Futhark.TypeChecker.Types ( src/Language/Futhark/TypeChecker/Types.hs, dist/build/Language/Futhark/TypeChecker/Types.p_o )
[179 of 191] Compiling Language.Futhark.TypeChecker.Terms ( src/Language/Futhark/TypeChecker/Terms.hs, dist/build/Language/Futhark/TypeChecker/Terms.p_o )
[180 of 191] Compiling Language.Futhark.TypeChecker ( src/Language/Futhark/TypeChecker.hs, dist/build/Language/Futhark/TypeChecker.p_o )
[181 of 191] Compiling Futhark.Compiler.Program ( src/Futhark/Compiler/Program.hs, dist/build/Futhark/Compiler/Program.p_o )
[182 of 191] Compiling Futhark.Compiler.TH ( src/Futhark/Compiler/TH.hs, dist/build/Futhark/Compiler/TH.p_o )
[183 of 191] Compiling Language.Futhark.Futlib.Prelude ( src/Language/Futhark/Futlib/Prelude.hs, dist/build/Language/Futhark/Futlib/Prelude.p_o )
[184 of 191] Compiling Futhark.Internalise.Monomorphise ( src/Futhark/Internalise/Monomorphise.hs, dist/build/Futhark/Internalise/Monomorphise.p_o )
[185 of 191] Compiling Futhark.Internalise ( src/Futhark/Internalise.hs, dist/build/Futhark/Internalise.p_o )
building of '/nix/store/yll2lslq7xg78w57wqcd5vspqygf3r3s-futhark-0.6.2.drv' timed out after 3600 seconds
error: build of '/nix/store/yll2lslq7xg78w57wqcd5vspqygf3r3s-futhark-0.6.2.drv' failed

@basvandijk
Copy link
Member

@GrahamcOfBorg build haskell-ci
since I also changed that in this PR.

@infinisil I'll let you do the honours of merging this in if you think it's OK now.

@GrahamcOfBorg
Copy link

No attempt on aarch64-linux (full log)

The following builds were skipped because they don't evaluate on aarch64-linux: haskell-ci

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@GrahamcOfBorg
Copy link

Success on x86_64-darwin (full log)

Attempted: haskell-ci

Partial log (click to expand)

Installing executable make-travis-yml in /nix/store/sy0fcijvvjbgnqzv9lj5x7hb6sa1nn88-haskell-ci-0.1.0.0/bin
Warning: The directory
/nix/store/sy0fcijvvjbgnqzv9lj5x7hb6sa1nn88-haskell-ci-0.1.0.0/bin is not in
the system search path.
Registering library for haskell-ci-0.1.0.0..
post-installation fixup
strip is /nix/store/vvbmqsh5ikrxkiwj71dwfbzcwf4bfav8-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/sy0fcijvvjbgnqzv9lj5x7hb6sa1nn88-haskell-ci-0.1.0.0/lib  /nix/store/sy0fcijvvjbgnqzv9lj5x7hb6sa1nn88-haskell-ci-0.1.0.0/bin
patching script interpreter paths in /nix/store/sy0fcijvvjbgnqzv9lj5x7hb6sa1nn88-haskell-ci-0.1.0.0
/nix/store/sy0fcijvvjbgnqzv9lj5x7hb6sa1nn88-haskell-ci-0.1.0.0

@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: haskell-ci

Partial log (click to expand)

shrinking /nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0/lib/ghc-8.4.3/x86_64-linux-ghc-8.4.3/libHShaskell-ci-0.1.0.0-EBKi8ExE7u348eGLhGiO3w-ghc8.4.3.so
shrinking /nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0/lib/ghc-8.4.3/haskell-ci-0.1.0.0/HShaskell-ci-0.1.0.0-EBKi8ExE7u348eGLhGiO3w.o
wrong ELF type
shrinking /nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0/bin/make-travis-yml
strip is /nix/store/h0lbngpv6ln56hjj59i6l77vxq25flbz-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0/lib  /nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0/bin
patching script interpreter paths in /nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0
checking for references to /build in /nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0...
wrong ELF type
/nix/store/0kywcfzmh7i45ghlpi8aj02169jql41s-haskell-ci-0.1.0.0

@@ -8423,7 +8425,7 @@ with pkgs;

msitools = callPackage ../development/tools/misc/msitools { };

multi-ghc-travis = haskell.lib.justStaticExecutables haskellPackages.multi-ghc-travis;
haskell-ci = haskell.lib.justStaticExecutables haskellPackages.haskell-ci;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@basvandijk Why this change?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While moving the non-hackage packages to a dedicated file I discovered that multi-ghc-travis has been renamed to haskell-ci and that haskell-ci is now on Hackage. This is explained in: 6106664

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mmm maybe an alias might be in order here...

infinisil and others added 5 commits October 12, 2018 14:11
The fact that futhark is a Haskell package is an implementation detail. To
install it users should just have to specify `futhark` instead of
`haskellPackages.futhark`.

Additionally futhark is overridden with `haskell.lib.justStaticExecutables` to
reduce closure size.
We had a few "overrides" in configuration-common.nix that were really
extensions. They introduced packages that weren't in hackage-packages.nix.

The advantage of having a dedicated file for these packages is that we can still
place Nix-specific overrides to these packages in configuration-nix.nix. We
weren't able do this before because configuration-nix.nix extended only the
packages from hackage-packages.nix.
multi-ghc-travis has been renamed to haskell-ci which is now also on Hackage.
@GrahamcOfBorg
Copy link

No attempt on x86_64-darwin (full log)

The following builds were skipped because they don't evaluate on x86_64-darwin: futhark

Partial log (click to expand)


a) For `nixos-rebuild` you can set
  { nixpkgs.config.allowUnsupportedSystem = true; }
in configuration.nix to override this.

b) For `nix-env`, `nix-build`, `nix-shell` or any other Nix command you can add
  { allowUnsupportedSystem = true; }
to ~/.config/nixpkgs/config.nix.


@infinisil
Copy link
Member Author

Rebased to fix conflicts, tested the binary again (still works) and added a multi-ghc-travis with an explanatory error message.

@infinisil infinisil merged commit f3dd3b6 into NixOS:master Oct 12, 2018
@infinisil infinisil deleted the add/futhark branch October 12, 2018 12:42
@GrahamcOfBorg
Copy link

Success on x86_64-linux (full log)

Attempted: futhark

Partial log (click to expand)

shrinking /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2/bin/futhark-dataset
shrinking /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2/bin/.futhark-c-wrapped
shrinking /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2/bin/futhark-py
shrinking /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2/bin/futhark-doc
strip is /nix/store/dxf1m7dhc4qb655bdljc1fsd74v1nag3-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2/lib  /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2/bin
patching script interpreter paths in /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2
checking for references to /build in /nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2...
wrong ELF type
/nix/store/hfisnq5n4kwaajdksm8jlacwkij5riz9-futhark-0.6.2

@GrahamcOfBorg
Copy link

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

Attempted: futhark

Partial log (click to expand)

cannot build derivation '/nix/store/k4qv9vv8lnvyny08diixxrhqzfl9711f-tls-1.4.1.drv': 17 dependencies couldn't be built
cannot build derivation '/nix/store/5i16y4qpsvxw3z86hgvr4342kr47amdv-conduit-extra-1.3.0.drv': 16 dependencies couldn't be built
cannot build derivation '/nix/store/37ak50dqw2vf2h0jmvkh1zcb3s6rs0qz-connection-0.2.8.drv': 11 dependencies couldn't be built
cannot build derivation '/nix/store/kbcbj0abxbjwx836497pwi74bzc0zgp9-yaml-0.8.32.drv': 15 dependencies couldn't be built
cannot build derivation '/nix/store/r9dgp46g10yrgc29xb8rn3x3g6ksa5vl-http-client-tls-0.3.5.3.drv': 13 dependencies couldn't be built
cannot build derivation '/nix/store/has4npvwn5343b4idn4w4m537ip3ny88-xml-conduit-1.8.0.1.drv': 13 dependencies couldn't be built
cannot build derivation '/nix/store/kmp3mnp5lgqvzgv740gc2n2b2v6096f4-hpack-0.28.2.drv': 19 dependencies couldn't be built
cannot build derivation '/nix/store/fd4ab18rw7flk6s69lcz5cvg3lfwzbnx-markdown-0.1.17.4.drv': 13 dependencies couldn't be built
cannot build derivation '/nix/store/073ki4a4yjk32hhn3pj0kjwh6lmwgkhs-futhark-0.6.2.drv': 33 dependencies couldn't be built
error: build of '/nix/store/073ki4a4yjk32hhn3pj0kjwh6lmwgkhs-futhark-0.6.2.drv' failed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants