[Hackage] #391: Installing cabal: ./bootstrap.sh: pushd: not found
(probably because of /bin/sh)
Hackage
trac at galois.com
Fri Nov 7 06:30:42 EST 2008
#391: Installing cabal: ./bootstrap.sh: pushd: not found (probably because of
/bin/sh)
----------------------------------+-----------------------------------------
Reporter: guest | Owner:
Type: defect | Status: new
Priority: normal | Milestone:
Component: cabal-install tool | Version: 1.2.3.0
Severity: normal | Keywords:
Difficulty: very easy (<1 hour) | Ghcversion: 6.8.3
Platform: |
----------------------------------+-----------------------------------------
On Ubuntu, trying to install cabal using the "Quick Installation on Unix"
instructions at [http://hackage.haskell.org/trac/hackage/wiki/CabalInstall
here] says
{{{
Setup: At least the following dependencies are missing:
Cabal >=1.4&&<1.5, HTTP >=3000&&<3002, zlib >=0.4
./bootstrap.sh: 24: popd: not found
./bootstrap.sh: 27: pushd: not found
}}}
and so on.
The reason is that bootstrap.sh has a "#!/bin/sh" shebang line, and
pushd/popd are Bash extensions, not POSIX shell features, and Ubuntu uses
dash, not bash, as /bin/sh (by default).
The fix is to make bootstrap.sh either not use Bash-specific extensions,
or (easier) make the top line of bootstrap.sh say "#!/bin/bash" instead of
"#!/bin/sh".
[It might be wise to make the same change in all other files that use Bash
extensions; the tool "checkbashims" might be useful here.]
--
Ticket URL: <http://hackage.haskell.org/trac/hackage/ticket/391>
Hackage <http://haskell.org/cabal/>
Hackage: Cabal and related projects
More information about the cabal-devel
mailing list