Coder Social home page Coder Social logo

Comments (14)

VictorCMiraldo avatar VictorCMiraldo commented on September 16, 2024

Thanks for submitting the issue @abailly-iohk. That's weird. It really should not compile GHC. None of us had this problem either nor are nix-experts. It could be a pinning that is now different from what IOHK provides. I eventually want to switch to using flakes instead of niv, but I don't have the time to address this immediately, unfortunately.

from cooked-validators.

VictorCMiraldo avatar VictorCMiraldo commented on September 16, 2024

I just checked the logs from our CI and found GHC is being properly pulled from hydra.iohk.io, on this line:

copying path '/nix/store/ldh1r8ny0914fn8931a26ki4p3mky9bw-ghc-8.10.4.20210212' from 'https://hydra.iohk.io'...

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024

Yeah, really I am at a loss. I will try again later on

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024

Maybe or maybe not related, but I see the log messages repeated twice:

[ 1 of 51] Compiling Data.IxMap       ( src/Data/IxMap.hs, dist/build/Data/IxMap.o, dist/build/Data/IxMap.dyn_o )
[ 1 of 51] Compiling Data.IxMap       ( src/Data/IxMap.hs, dist/build/Data/IxMap.o, dist/build/Data/IxMap.dyn_o )
[ 2 of 13] Compiling Data.Conduit.Binary ( Data/Conduit/Binary.hs, dist/build/Data/Conduit/Binary.o, dist/build/Data/Conduit/Binary.dyn_o )
[ 2 of 13] Compiling Data.Conduit.Binary ( Data/Conduit/Binary.hs, dist/build/Data/Conduit/Binary.o, dist/build/Data/Conduit/Binary.dyn_o )
[ 3 of 13] Compiling Data.Conduit.ByteString.Builder ( Data/Conduit/ByteString/Builder.hs, dist/build/Data/Conduit/ByteString/Builder.o, dist/build/Data/Conduit/ByteString/Builder.dyn_o )
[ 3 of 13] Compiling Data.Conduit.ByteString.Builder ( Data/Conduit/ByteString/Builder.hs, dist/build/Data/Conduit/ByteString/Builder.o, dist/build/Data/Conduit/ByteString/Builder.dyn_o )

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024

And it's definitely trying to build GHC:

[137 of 228] Compiling GHC.Hs.Expr[boot] ( compiler/GHC/Hs/Expr.hs-boot, dist/build/GHC/Hs/Expr.o-boot, dist/build/GHC/Hs/Expr.dyn_o )
[137 of 228] Compiling GHC.Hs.Expr[boot] ( compiler/GHC/Hs/Expr.hs-boot, dist/build/GHC/Hs/Expr.o-boot, dist/build/GHC/Hs/Expr.dyn_o )
[138 of 228] Compiling DataCon[boot]    ( compiler/basicTypes/DataCon.hs-boot, dist/build/DataCon.o-boot, dist/build/DataCon.dyn_o )
[138 of 228] Compiling DataCon[boot]    ( compiler/basicTypes/DataCon.hs-boot, dist/build/DataCon.o-boot, dist/build/DataCon.dyn_o )

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024
copying path '/nix/store/ldh1r8ny0914fn8931a26ki4p3mky9bw-ghc-8.10.4.20210212' from 'https://hydra.iohk.io'...

This path exists in my local nix sstore:

$ ls -l /nix/store/ldh1r8ny0914fn8931a26ki4p3mky9bw-ghc-8.10.4.20210212
total 24
dr-xr-xr-x  2 root root 4096 Jan  1  1970 bin
dr-xr-xr-x  2 root root 4096 Jan  1  1970 evalDeps
dr-xr-xr-x 36 root root 4096 Jan  1  1970 exactDeps
dr-xr-xr-x  3 root root 4096 Jan  1  1970 lib
dr-xr-xr-x  2 root root 4096 Jan  1  1970 nix-support
dr-xr-xr-x  4 root root 4096 Jan  1  1970 share

Why is it compiling some GHC then?

from cooked-validators.

VictorCMiraldo avatar VictorCMiraldo commented on September 16, 2024

That is really interesting indeed. I'd try commenting lines 53 and 58 from nix/packages.nix and see if it still wants to build GHC.

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024

I ended up waiting for the build to finish, and was able to build plutus-libs but of course entering the shell took ages 😬
It seems that both 8.10.4 and 8.10.7 are pulled in the shell. When running

nix-store -qR --include-outputs $(nix-instantiate shell.nix)

I see the following derivations (among many others of course)

/nix/store/11r2j7xlgm0sffrkky3194w7crxykmbd-ghc-lib-parser-8.10.7.20210828.tar.gz
/nix/store/lznhlagid2ni8dvxpzibmn959ijpcj3s-ghc-8.10.7-src.tar.xz.drv
/nix/store/r98ksf5bjzgh1lw9g8pazm1dbcgx5yj5-ghc-8.10.7-configured-src.drv
/nix/store/c1qwj542h43fc04qs10k1i59cv1g6wbh-ghc-8.10.7.drv
...
/nix/store/wj5vlr3dm2kgfdqjwv769whg55qv8m6k-ghc-8.10.4-src.tar.xz.drv
/nix/store/dqx5fk7b6qrw1289hnkkba8z6c0q8gk2-ghc-8.10.4.20210212-configured-src.drv
/nix/store/dr12s6x8rck3v1xa2warfwg88xn1mjjm-ghc-8.10.4.20210212.drv
/nix/store/ldh1r8ny0914fn8931a26ki4p3mky9bw-ghc-8.10.4.20210212

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024

Don't know if that helps but here is a list of referrers on ghc-8.10.7

nix-store -q --referrers-closure --include-outputs /nix/store/c1qwj542h43fc04qs10k1i59cv1g6wbh-ghc-8.10.7.drv

I can see that cabal 3.6.2.0 is there, could it be that the package is requiring a too recent cabal?

from cooked-validators.

VictorCMiraldo avatar VictorCMiraldo commented on September 16, 2024

Are you having this issue on a pure nix-shell? I can't reproduce this issue and my nix knowledge is close to zero, hence I'm afraid I can't help much at this point. As I mentioned, I want to switch to using flakes to pin our dependencies but we have other higher priority issues at hand.

Also, it is worth mentioning solving #69 will trigger a much slimmer build process. I see that most of the upstream PRs needed to close that have been addressed, which means we might be able to tackle that soon!

from cooked-validators.

VictorCMiraldo avatar VictorCMiraldo commented on September 16, 2024

@abailly-iohk, I just had to reinstall nix on my machine and I tried pulling cabal-install from nixpkgs instead of haskell-nix (which pulls cabal-install 3.4.0.0); GHC 8.10.7 was still brought in and I have no idea why.

I think this could be the haskell-language-server; which our CI does not require...

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024

I have not tried it in a while, will retry on a fresh VM. Have you made any change?

from cooked-validators.

VictorCMiraldo avatar VictorCMiraldo commented on September 16, 2024

@abailly-iohk , it didn't change anything, so I didn't make any changes. I'm clueless as to why its bringing two GHCs but given that the environment works, I won't be looking into that.

Also, I'm almost entirely certain that it did not build GHC since entering the nix-shell from a clean nix install took about 30 minutes, which is way too short to compile GHC.

from cooked-validators.

abailly-iohk avatar abailly-iohk commented on September 16, 2024

I am clueless on how to fix this, and it does not prevent building the plutus-libs so let's close.

from cooked-validators.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.