1

trying to install Haskell patform using

curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | sh

This kind of error is displayed:

Welcome to Haskell!

This script will download and install the following binaries: * ghcup - The Haskell toolchain installer (for managing GHC/cabal versions) * ghc - The Glasgow Haskell Compiler * cabal - The Cabal build tool

ghcup installs only into the following directory, which can be removed anytime: /home/welcome/.ghcup

Press ENTER to proceed or ctrl-c to abort. Note that this script can be re-run at any given time.

% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 20.2M 100 20.2M 0 0 2302k 0 0:00:08 0:00:08 --:--:-- 2899k [ Info ] Upgrading GHCup... [ Warn ] No GHCup update available

System requirements Note: You need the following packages: curl g++ gcc gmp make ncurses realpath xz-utils. Consult your distro documentation on the exact names of those packages.

Press ENTER to proceed or ctrl-c to abort. Installation may take a while.

[ Info ] verifying digest of: ghc-8.10.4-x86_64-fedora27-linux.tar.xz [ Info ] Unpacking: ghc-8.10.4-x86_64-fedora27-linux.tar.xz to /tmp/ghcup-liKjHm

[ Info ] Installing GHC (this may take a while) [ ghc-configure ] ./configure: line 44: printf: write error: No space left on device [ ghc-configure ] ./configure: line 45: echo: write error: No space left on device [ ghc-configure ] sort: fflush failed: 'standard output': No space left on device [ ghc-configure ] sort: write error [ ghc-configure ] ./configure: line 54: echo: write error: No space left on device [ ghc-configure ] ./configure: line 82: printf: write error: No space left on device [ Error ] BuildFailed failed in dir "/tmp/ghcup-liKjHm": NonZeroExit 77 "./configure" ["--prefix=/home/welcome/.ghcup/ghc/8.10.4"] Check the logs at "/home/welcome/.ghcup/logs" and the build directory "/tmp/ghcup-liKjHm" for more clues. Make sure to clean up "/tmpI/ghcup-liKjHm" afterwards. "_eghcup --cache install ghc recommended" failed!

Inside ghcup.log:

Debug:  Identified Platform as: PlatformResult {_platform = Linux UnknownLinux, _distroVersion = Just (General (Version {_vEpoch = Nothing, _vChunks = (Digits 4 :| []) :| [Digits 2 :| []], _vMeta = [], _vRel = []}))}
Debug:  Requested to install GHC with Version {_vEpoch = Nothing, _vChunks = (Digits 8 :| []) :| [Digits 10 :| [],Digits 4 :| []], _vMeta = [], _vRel = []}
Info: verifying digest of: ghc-8.10.4-x86_64-fedora27-linux.tar.xz
Info: Unpacking: ghc-8.10.4-x86_64-fedora27-linux.tar.xz to /tmp/ghcup-liKjHm
Info: Installing GHC (this may take a while)
Error: BuildFailed failed in dir "/tmp/ghcup-liKjHm": NonZeroExit 77 "./configure" ["--prefix=/home/welcome/.ghcup/ghc/8.10.4"]
    Check the logs at "/home/welcome/.ghcup/logs" and the build directory "/tmp/ghcup-liKjHm" for more clues.
    Make sure to clean up "/tmp/ghcup-liKjHm" afterwards.

Inside ghc-configure.log file:

cat: write error: No space left on device
cat: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
./configure: line 1970: printf: write error: No space left on device
cat: write error: No space left on device
./configure: line 2134: printf: write error: No space left on device
cat: write error: No space left on device
cat: write error: No space left on device
cat: write error: No space left on device
cat: write error: No space left on device
cat: write error: No space left on device
cat: write error: No space left on device
./configure: line 2375: printf: write error: No space left on device
checking build system type... ./config.guess: line 112: echo: write error: No space left on device
cat: write error: No space left on device
./configure: line 2389: printf: write error: No space left on device
x86_64-pc-linux-gnu
./configure: line 2409: printf: write error: No space left on device
checking host system type... ./configure: line 2422: printf: write error: No space left on device
x86_64-pc-linux-gnu
./configure: line 2442: printf: write error: No space left on device
checking target system type... ./configure: line 2455: printf: write error: No space left on device
x86_64-pc-linux-gnu
Build platform inferred as: x86_64-unknown-linux
Host platform inferred as: x86_64-unknown-linux
Target platform inferred as: x86_64-unknown-linux
GHC build  : x86_64-unknown-linux
GHC host   : x86_64-unknown-linux
GHC target : x86_64-unknown-linux
LLVM target: x86_64-unknown-linux
./configure: line 3356: printf: write error: No space left on device
checking for path to top of build tree... ./configure: line 3382: printf: write error: No space left on device
/tmp/ghcup-liKjHm/ghc-8.10.4
./configure: line 3416: printf: write error: No space left on device
checking for a BSD-compatible install... ./configure: line 3450: echo: write error: No space left on device
./configure: line 3451: echo: write error: No space left on device
./configure: line 3484: printf: write error: No space left on device
./install-sh -c
./configure: line 3502: printf: write error: No space left on device
checking for gfind... ./configure: line 3535: printf: write error: No space left on device
no
./configure: line 3502: printf: write error: No space left on device
checking for find... ./configure: line 3520: printf: write error: No space left on device
./configure: line 3532: printf: write error: No space left on device
/usr/bin/find
./configure: line 3544: echo: write error: No space left on device
./configure: line 3551: printf: write error: No space left on device
configure: WARNING: /usr/bin/find looks like a non-*nix find, ignoring it
./configure: line 3555: printf: write error: No space left on device
checking for find... ./configure: line 3602: printf: write error: No space left on device
no
./configure: line 3614: printf: write error: No space left on device
checking whether ln -s works... ./configure: line 3621: printf: write error: No space left on device
no, using cp -pR
./configure: line 3630: printf: write error: No space left on device
checking for gsed... ./configure: line 3661: printf: write error: No space left on device
sed
./configure: line 3673: printf: write error: No space left on device
checking for python3... ./configure: line 3691: printf: write error: No space left on device
./configure: line 3703: printf: write error: No space left on device
/usr/bin/python3
./configure: line 3795: printf: write error: No space left on device
checking for gcc... ./configure: line 3811: printf: write error: No space left on device
./configure: line 3822: printf: write error: No space left on device
gcc
./configure: line 3853: printf: write error: No space left on device
./configure: line 3863: printf: write error: No space left on device
./configure: line 3873: printf: write error: No space left on device
./configure: line 3863: printf: write error: No space left on device
./configure: line 3873: printf: write error: No space left on device
./configure: line 3863: printf: write error: No space left on device
./configure: line 3873: printf: write error: No space left on device
./configure: line 3863: printf: write error: No space left on device
./configure: line 3873: printf: write error: No space left on device
cat: write error: No space left on device
./configure: line 3893: printf: write error: No space left on device
checking whether the C compiler works... ./configure: line 3916: printf: write error: No space left on device
./configure: line 3919: printf: write error: No space left on device
./configure: line 3957: printf: write error: No space left on device
no
./configure: line 3959: printf: write error: No space left on device
./configure: line 3962: printf: write error: No space left on device
configure: error: in `/tmp/ghcup-liKjHm/ghc-8.10.4':
./configure: line 416: printf: write error: No space left on device
configure: error: C compiler cannot create executables
See `config.log' for more details
./configure: line 4: echo: write error: No space left on device
./configure: line 8: printf: write error: No space left on device
./configure: line 9: echo: write error: No space left on device
sort: fflush failed: 'standard output': No space left on device
sort: write error
./configure: line 40: echo: write error: No space left on device
./configure: line 44: printf: write error: No space left on device
./configure: line 45: echo: write error: No space left on device
sort: fflush failed: 'standard output': No space left on device
sort: write error
./configure: line 54: echo: write error: No space left on device
./configure: line 82: printf: write error: No space left on device

System specs:

Operating system : Solus

RAM : 4GB

Storage : 139.2/160GB free

  • 139.2/160GB on what device? The logs look like it failed to write to `/tmp`, which may be a different mount point than whatever device you checked space for. – amalloy May 09 '21 at 08:07
  • I changed the tmpdir to a directory in home then it worked – Surya Prakash May 10 '21 at 09:04

1 Answers1

5

This is because of /tmp directory uses RAM

Changing the temporary directory somewhere in home solves that problem

mkdir ~/tmpdir; export TMPDIR="$HOME/tmpdir"

Execute this command on terminal before installing. This directory can be deleted after installing but make sure to close the terminal too then

I got this answer in #haskell IRC channel.

  • God bless you Surya! – Karen Fisher Jul 10 '21 at 18:31
  • I had a similar issue on Arch Linux when trying to build Cardano Plutus toolchain. `$TMPDIR` was pointing at `/run/user/1000`, which was a tiny chunk of `tmpfs`. Pointing it at an ordinary disk directory did the trick. @Surya Prakash, thanks for the guidance! – Wojciech Gac Jul 19 '22 at 11:59