I'm having trouble when updating neuron with the latest master. I'm not sure but I would say it's the same problem as https://github.com/srid/neuron/issues/174
Pulling master and running nix-env -if . takes forever, I think it's compiling the entire haskell platform (GHCi, GHC, Cabal, etc...)
I'm building from the default.nix (not shell.nix as in the issue) and the srid cachix was updated so I don't know why it's rebuilding everything
Using your cachix instance, I can build the neuron package without having to rebuild ghc and many other things, and that's great! However, if I want to hack on neuron using shell.nix, then I en...
yeah i tried, didn't seem to change anything
I don't know if something was actually downloaded from cachix though, and i have no way to check because the build is like 6 hours in so the information is
gone by now
fwiw, reflex-platform's cache could shave the bulk of that time (including GHC). i didn't document it, because the neuron cache should include all of that.
building '/nix/store/5qlmnbqhmjmp4ws5za018plvzfvm98zq-user-environment.drv'...
error: packages '/nix/store/zdp0wqp6v6jc0i0rswar043hzn41avz5-neuron-0.5.0.0/lib/links/libHSansi-terminal-0.9.1-KAtSkkD7GHFKoP9eT8kWXE-ghc8.6.5.dylib' and '/nix/store/wbyqvj2f2ab1zv50z2ckrc52hm9l5rb6-ormolu-0.0.3.1/lib/links/libHSansi-terminal-0.9.1-KAtSkkD7GHFKoP9eT8kWXE-ghc8.6.5.dylib' have the same priority 5; use 'nix-env --set-flag priority NUMBER INSTALLED_PKGNAME' to change the priority of one of the conflicting packages (0 being the highest priority)
builder for '/nix/store/5qlmnbqhmjmp4ws5za018plvzfvm98zq-user-environment.drv' failed with exit code 1
error: build of '/nix/store/5qlmnbqhmjmp4ws5za018plvzfvm98zq-user-environment.drv' failed
no idea, i think the cachix didn't include the new dependencies and for some reason I had to build GHC and the entire haskell platform from source (i think that's what happened)
Because I migrated from Github Actions to Hercules. Actions has a 6h limit I think. And it is slow. With hercules I run CI on my own machine, which is Linux. So we have only Linux cache. I'm currently setting up a mac builder for hercules.
I'm having trouble when updating neuron with the latest master. I'm not sure but I would say it's the same problem as https://github.com/srid/neuron/issues/174
Pulling master and running
nix-env -if .
takes forever, I think it's compiling the entire haskell platform (GHCi, GHC, Cabal, etc...)I'm building from the default.nix (not shell.nix as in the issue) and the
srid
cachix was updated so I don't know why it's rebuilding everythingDid it download anything from cachix? Did you try running
cachix use srid
once more?yeah i tried, didn't seem to change anything
I don't know if something was actually downloaded from cachix though, and i have no way to check because the build is like 6 hours in so the information is
gone by now
wow, 6 hours? Did it complete in the end? What's your cpu/memory?
I'll test this from a fresh Ubuntu VM later. Oh, and let me know your nix version as well.
nix-env --version
. as well ascat /etc/*release
Wait, are you on mac? @felko Maybe that was it. The new CI I have runs only on Linux.
Yes i'm on mac
I use https://hercules-ci.com/ now; and I can provision my dusty old 2014 macbook to act as mac CI agent.
https://github.com/srid/neuron/issues/180
its still building lol
it finished building GHC and the entire haskell platform from source
its building the libraries now
i think its close to compiling neuron finally
fwiw, reflex-platform's cache could shave the bulk of that time (including GHC). i didn't document it, because the neuron cache should include all of that.
If you are just getting started on building the libraries, it might be another 2 hours :-P
/me started building on his macOS, so that when it completes he can do a manual push to cachix
i'm going to let the build finish anyway, it's quite impressive to see nix compile all of this from almost nothing
its satisfying to watch
:-)
but yeah documenting the installation with reflex cache might be a good idea
if neuron cache is fixed, we won't need reflex cache.
and ... now i'm worried about Windows users. i think they are fucked haha. Don't know how you can setup cache for WSL
Oh wait, WSL uses ubuntu. So it should work
neuron is finally building!
it just started downloading from srid.cachix.org
what's it downloading
no idea
can I do nix-collect-garbage afterwards?
to remove the old neuron builds
if you want some free space, then yea -
nix-collect-garbage --delete-older-than
.i was looking into caching the executable itself, so your nix install completes in like 10 seconds. but couldn't get it to work. see https://github.com/srid/neuron/blob/master/project.nix#L78-L90
(and you don't need the haskell dependencies, even to keep in the nix store)
Fucking hell, macOS stinks
you know, its still building, when i said "neuron is finally building" actually it had to install all (transitive) dependencies first
i see that some libraries are built multiple times
i've seen pandoc and reflex multiple times during the build
not sure why
ok, about 12h of build for this:
i don't know if that's what i should do but
nix-env --set-flag priority 0 neuron
workedfinally!
Wow, sorry for being out of loop, but why it takes so long to build?
no idea, i think the cachix didn't include the new dependencies and for some reason I had to build GHC and the entire haskell platform from source (i think that's what happened)
also my machine is a 2017 macbook air on which i was running other resource consuming things parallel to the build
I think it used to use things that were in the default nixos cache, but moving to reflex made it depend on a more recent GHC
Because I migrated from Github Actions to Hercules. Actions has a 6h limit I think. And it is slow. With hercules I run CI on my own machine, which is Linux. So we have only Linux cache. I'm currently setting up a mac builder for hercules.
For now, if anyone is looking to build neuron on mac - setup reflex-platform cache using these instructions https://github.com/obsidiansystems/obelisk#installing-obelisk ... it'll cut down build time from 12 hrs to 4hs (or around that ratio).
felko said:
I remember doing that once. I have no idea what's causing it. But somehow it seems to me that making an executable-only derivation may fix it.