Hi, > > guix shell --pure ghc ghc-comonad gcc-toolchain -- ghc LinkMe.hs > [1 of 1] Compiling Main ( LinkMe.hs, LinkMe.o ) > Linking LinkMe ... > ld: cannot find -lHScomonad-5.0.8-KDPzf2kORSz9Qeif8nQH6d > ld: cannot find -lHStransformers-compat-0.6.6-9ADqfwGTALm8Nq2ZeUpa4p > ld: cannot find -lHSindexed-traversable-0.1.1-Dfr00dUbJtB3rFEVdhtcE9 > ld: cannot find -lHSdistributive-0.6.2.1-L7rr3EplzD03NITUnJxmCO > ld: cannot find -lHStagged-0.8.6.1-EiQY3za6Q5HE9cdvqupke2 > ld: cannot find -lHSbase-orphans-0.8.5-Iz1X6ZIULaHC76vf03czEu > collect2: error: ld returned 1 exit status > `gcc' failed in phase `Linker'. (Exit code: 1) the problem here is that in Guix we link Haskell executables dynamically and sometimes move static libraries to a separate output without updating the config file (because otherwise it would create a reference, which we’re trying to avoid to save space).
It works fine for me using guix shell --pure ghc ghc-comonad gcc-toolchain@10 -- ghc --make -dynamic -v LinkMe.hs Cheers, Lars