Enabling RTS options on Linux

Hi,

I’m learning the Haskell basics and got stuck on the following when working with ghcup in Linux for a Cardano node:

cardano@vmi1140775:/$ ghcup upgrade
ghcup: Most RTS options are disabled. Link with -rtsopts to enable them.

I had a look at the following info: https://downloads.haskell.org/ghc/latest/docs/users_guide/runtime_control.html
I tried some options in the command line to enable the RTS options, but without success:

ghcup upgrade -rtsopts[=all]
ghcup set ghc-options "+RTS -K0 -RTS"
ghc-options: "+RTS -K0 -RTS"

Any ideas how to enable the RTS options? In command line or a Cabal configuration file somewhere on the Linux system?

1 Like

Are you sure you don’t have $GHCRTS set in your environment? If yes, you should unset it, because ghcup hasn’t been configured to take RTS options at run-time.

3 Likes

@Kleidukos is right. You don’t need to set RTS options here! ghcup is getting confused because it thinks you’re providing some and it can’t use them.

2 Likes

Wow, took me like two evenings research unable to find a solution. You guys found the problem almost instantly :slight_smile:

It was indeed a setting I made a long time ago in the ~/.bashrc file. While I was playing around with Zram to compress the data in the ram and save ram memory.

I commented the following in my bashrc file:

#export GHCRTS='-N -T -I0 -A16m --disable-delayed-os-memory-return --nonmoving-gc'

Thanks for the help guys

3 Likes