[Haskell-beginners] Compiling project errors within a docker container

Hercules Merscher hlmerscher at gmail.com
Thu Jul 11 21:14:32 UTC 2024


Hello folks,

I've been developing a small side project (a small web app). I'm developing
on a Macbook M1 Pro, however, I need to compile it to test against a
linux/amd64 environment. I'm trying to use docker for that. I know it is
emulated via VM in this case and performance will suffer, but it's not a
big deal for me since it's just a toy project.

I'm using stack as build tool and GHC 9.6.

The `stack build --fast` command errors, hinting that it could be out of
memory.

```
root at c5f07dbd83dc:/opt/app# stack build --fast -j 4 --allow-different-user
...
Error: [S-7282]
       Stack failed to execute the build plan.

       While executing the build plan, Stack encountered the error:

       [S-7011]
       While building package rinha-0.1.0.0 (scroll up to its section to
see the error) using:

 /root/.stack/setup-exe-cache/x86_64-linux/Cabal-simple_6HauvNHV_3.10.3.0_ghc-9.6.5
--verbose=1 --builddir=.stack-work/dist/x86_64-linux/ghc-9.6.5 build
lib:rinha exe:rinha-exe --ghc-options " -fdiagnostics-color=always"
       Process exited with code: ExitFailure (-9) (THIS MAY INDICATE OUT OF
MEMORY)
```

Initially, I thought it really could be out of memory as I'm using colima
and had default configuration. Then I started colima giving it 4 CPUs and
16GiB memory:

```
$ colima start --cpu 4 --memory 16 -a x86_64 -t vz --vz-rosetta
```

The project starts building, stays like that for almost 1h, and then this
error happens.

I wouldn't like to spin up a server just to build a project that I will be
running on my laptop, but I see myself without alternatives and I'm finding
it weird since I never had such a problem with other languages and it's the
first time I see it while doing some Haskell.

Any tips?

Best,
Hercules
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/beginners/attachments/20240711/683fa7a1/attachment.html>


More information about the Beginners mailing list