简体   繁体   中英

No space in device error while installing haskell platform

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

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM