Added note about how to install ncurses, and what to do on EC2

Addresses https://github.com/fish-shell/fish-shell/pull/509
This commit is contained in:
ridiculousfish 2013-04-14 13:38:56 -07:00
parent 0e24676144
commit 49589e2da0
2 changed files with 74 additions and 45 deletions

91
INSTALL
View file

@ -1,32 +1,23 @@
Known issues Overview
============ ============
Fish is developed using GCC, with the goal of using only C89 language fish is written in a sane subset of C++98, and uses a few components from C++TR1. It is known to build successfully with g++ 4.2 or later, and with clang 4.2. It also builds successfully as C++11.
features. Fish does, however use the *wprintf family of functions,
which are new to the C99 standard. It is not unlikely that any given
release contains a few GCC:isms, but ICC 9.0.030 has been found to
produce working binaries. GCC 2.95.* won't compile fish, but GCC 3.2.3
is known to work. Patches to fix any remaining GNU:isms are welcome.
Older versions of Doxygen has bugs in the man-page generation which
cause the builtin help to render incorrectly. Doxygen 1.2.14 is known
to have this problem.
Prerequisites Prerequisites
============= =============
Fish requires the following programs and libraries to build: fish requires the following programs and libraries to build:
- Doxygen - GNU make or Xcode tools
- Curses or Ncurses - GCC or clang
- GNU make - curses or ncurses
- GCC
It will also use if available:
- Doxygen
fish also relies on standard unix tools such as cat, cut, grep, sed, fish also relies on standard unix tools such as cat, cut, grep, sed,
whoami, bc and echo. Fish does not yet support cross-compilation, whoami, bc and echo.
separate build directories or any other fancy configure options.
Simple install procedure Simple install procedure
======================== ========================
@ -35,17 +26,44 @@ Always begin by uninstalling any previous fish versions. This is done
by running the command 'make uninstall' in the source directory of by running the command 'make uninstall' in the source directory of
your previous fish installation. your previous fish installation.
Next, if you have downloaded a fresh copy of the git repository of Autotools Build and Install
fish, you need to run the 'autoconf' command. ========================
Then, use following commands to compile fish: autoconf # Create configure file
./configure # Generate Makefile
make [gmake on BSD] # Compile fish
sudo make install # Install fish
./configure configure supports the ---prefix option, for example:
make # Compile fish
make install # Install fish
echo /usr/local/bin/fish >>/etc/shells # Add fish to list of shells
Finally, if you wish to use fish as your default shell, use the ./configure --prefix=$HOME
If fish reports that it could not find curses, try installing a curses development package and build again.
On Debian or Ubuntu you want:
sudo apt-get install libncurses5-dev libncursesw5-dev
on RedHat, CentOS, or Amazon EC2:
sudo yum install ncurses-devel
Xcode Development Build
========================
Build the 'base' target in Xcode
Run the fish executable, for example, in DerivedData/fish/Build/Products/Debug/base/bin/fish
Xcode Build and Install
========================
xcodebuild install
sudo ditto /tmp/fish.dst /
Starting fish
========================
If you wish to use fish as your default shell, use the
following command: following command:
% chsh -s /usr/local/bin/fish % chsh -s /usr/local/bin/fish
@ -58,20 +76,3 @@ To switch your default shell back, you can run:
Substitute /bin/bash with /bin/tcsh or /bin/zsh as appropriate. Substitute /bin/bash with /bin/tcsh or /bin/zsh as appropriate.
Local install procedure
=======================
If you have downloaded the git repository of fish, you need to run
autoconf to generate the configure script.
To install fish in your own home directory (typically as non-root),
type:
% ./configure --prefix=$HOME
% make # Compile fish
% make install # Install fish
You will not be able to use fish as the default shell unless you also
add the corresponding line to /etc/shells, which mostly defeats the
point of a local install. As a workaround, you can add fish as the
last command of the init files for your regular shell.

View file

@ -13,6 +13,8 @@ Detailed user documentation is available by running `help` within fish, and also
## Building ## Building
fish is written in a sane subset of C++98, with a few components from C++TR1. It builds successfully with g++ 4.2 or later, and with clang. It also will build as C++11.
fish can be built using autotools or Xcode. fish can be built using autotools or Xcode.
### Autotools Build ### Autotools Build
@ -32,10 +34,36 @@ fish can be built using autotools or Xcode.
xcodebuild install xcodebuild install
sudo ditto /tmp/fish.dst / sudo ditto /tmp/fish.dst /
## Help, it didn't build!
If fish reports that it could not find curses, try installing a curses development package and build again.
On Debian or Ubuntu you want:
sudo apt-get install libncurses5-dev libncursesw5-dev
on RedHat, CentOS, or Amazon EC2:
sudo yum install ncurses-devel
## Packages for Linux ## Packages for Linux
Nightly builds for several Linux distros can be downloaded from <http://download.opensuse.org/repositories/home:/siteshwar/> Nightly builds for several Linux distros can be downloaded from <http://download.opensuse.org/repositories/home:/siteshwar/>
## Switching to fish
If you wish to use fish as your default shell, use the following command:
chsh -s /usr/local/bin/fish
chsh will prompt you for your password, and change your default shell.
To switch your default shell back, you can run:
chsh -s /bin/bash
Substitute /bin/bash with /bin/tcsh or /bin/zsh as appropriate.
## Contact Us ## Contact Us
Questions, comments, rants and raves can be posted to the official fish mailing list at <https://lists.sourceforge.net/lists/listinfo/fish-users> or join us on our IRC channel #fish at irc.oftc.net Questions, comments, rants and raves can be posted to the official fish mailing list at <https://lists.sourceforge.net/lists/listinfo/fish-users> or join us on our IRC channel #fish at irc.oftc.net