X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=ghc%2Fdocs%2Fusers_guide%2Finstalling.sgml;h=fdfb0782aaaae791573d73a73c52cce769b27b48;hb=142e3ace54bb7aac1945b74589c8300246960435;hp=2d15aff91bc998b4d038e33034a92645aae8ba61;hpb=3c459be810ceda7e713cbdd6317479f47af233ba;p=ghc-hetmet.git diff --git a/ghc/docs/users_guide/installing.sgml b/ghc/docs/users_guide/installing.sgml index 2d15aff..fdfb078 100644 --- a/ghc/docs/users_guide/installing.sgml +++ b/ghc/docs/users_guide/installing.sgml @@ -16,16 +16,23 @@ having a Haskell compiler.) This guide is in several parts: - - Installing on Unix-a-likes (). - Installing on Windows (). - The layout of installed files (). -You don't need to know this to install GHC, -but it's useful if you are changing the implementation. - Installing or building the documentation (). - - + + + Installing on Unix-a-likes (). + + + Installing on Windows (). + + + The layout of installed files (). You don't need to know this to + install GHC, but it's useful if you are changing the + implementation. + + Installing on Unix-a-likes @@ -44,10 +51,11 @@ but it's useful if you are changing the implementation. - RedHat Linux/x86 + RedHat or SuSE Linux/x86 - RPM source & binary packages for RedHat Linux (x86 - only) are available for most major releases. + RPM source & binary packages for RedHat and SuSE + Linux (x86 only) are available for most major + releases. @@ -95,8 +103,9 @@ Binary distributions come in “bundles,” one bundle per file called -Then you should find a single directory, fptools, with the following -structure: +Then you should find a single directory, +ghc-version, with the +following structure: @@ -225,13 +234,6 @@ contains HTML documentation files (one sub-directory per project). - -man/ - - -contains Unix manual pages. - - @@ -239,10 +241,11 @@ contains Unix manual pages. Installing -OK, so let's assume that you have unpacked your chosen bundles into a -scratch directory fptools. What next? Well, you will at least need -to run the configureconfigure script by changing your -directory to fptools and typing ./configure. That should convert +OK, so let's assume that you have unpacked your chosen bundles. What +next? Well, you will at least need to run the +configureconfigure +script by changing directory into the top-level directory for the +bundle and typing ./configure. That should convert Makefile.in to Makefile. @@ -261,7 +264,7 @@ follow. -To install an fptools package, you'll have to do the following: +To install a package, you'll have to do the following: @@ -527,43 +530,64 @@ on... Installing on Windows - -Getting the Glasgow Haskell Compiler (GHC) to run on Windows platforms can -be a bit of a trying experience. It should be much easier now than in the -past, since all the software required to use GHC is included in -the InstallShield. - - - -An installation of GHC requires about 140M of disk space. -To run GHC comfortably, your machine should have at least -64M of memory. - - + +Getting the Glasgow Haskell Compiler (post 5.02) to run on Windows platforms is +a snap: the Installshield does everything you need. + -Installing GHC +Installing GHC on Windows - -Download the latest GHC distribution (ghc-5.02 InstallShield installer, 27M) -from haskell.org. - - - -When the installer has completed, make sure you add the location of the -ghc bin/ directory to your path, as directed in the -final dialog of the installer. You need to do this in order to bring the -various GHC binaries into scope. - + +To install GHC, use the following steps: + + +Download the Installshield setup.exe +from the GHC download page +haskell.org. + + +Run setup.exe. +(If you have a previous version of GHC, Installshield will offer to "modify", +or "remove" GHC. Choose "remove"; then run setup.exe a +second time. This time it should offer to install.) + + +At this point you should find GHCi and the GHC documentation are +available in your Start menu under "Start/Programs/Glasgow Haskell Compiler". + + - -You can freely move the GHC tree once you've installed it just by copying -the ghc-x.yy directory. You might want to do this in -order to use GHC with tools that don't like spaces in paths (GHC is -installed in \Program Files\Glasgow Haskell -Compiler by default. - + +The final dialogue box from the install process tells you where GHC has +been installed. If you want to invoke GHC from a command line, add this +to your PATH environment variable. Usually, GHC installs into +c:/ghc/ghc-5.02, though the last part of this path +depends on which version of GHC you are installing, of course. +You need to add c:/ghc/ghc-5.02/bin to your path if yo + + + +GHC needs a directory in which to create, and later delete, temporary files. +It uses the standard Windows procedure GetTempPath() to +find a suitable directory. This procedure returns: + +The path in environment variable TMP, +if TMP is set. +Otherwise, the path in environment variable TEMP, +if TEMP is set. +Otherwise, there is a per-user default which varies +between versions of Windows. On NT and XP-ish versions, it might +be: +c:\Documents and Settings\<username>\Local Settings\Temp + + +The main point is that if you don't do anything GHC will work fine; +but if you want to control where the directory is, you can do so by +setting TMP or TEMP. + + To test the fruits of your labour, try now to compile a simple Haskell program: @@ -579,23 +603,36 @@ bash$ ghc -o main main.hs bash$ ./main Hello, world! bash$ + + + +You do not need the Cygwin toolchain, or anything +else, to install and run GHC. + -OK, assuming that worked, you're all set. Go forth and write useful -Haskell programs :-) If not, consult the installation FAQ (); if that still doesn't help then please report the problems you're experiencing (see ). +An installation of GHC requires about 140M of disk space. +To run GHC comfortably, your machine should have at least +64M of memory. + +Moving GHC around -Further information on using GHC under Windows can be found in Sigbjørn Finne's -pages. Note: ignore the installation instructions, which are rather -out of date; the Miscellaneous section at the bottom of -the page is of most interest, covering topics beyond the scope of this -manual. +At the moment, GHC installs in a fixed place (c:/ghc/ghc-x.yy, +but once it is installed, you can freely move the entire GHC tree just by copying +the ghc-x.yy directory. (You may need to fix up +the links in "Start/Programs/Glasgow Haskell Compiler" if you do this.) + + +It is OK to put GHC tree in a directory whose path involves spaces. However, +don't do this if you use want to use GHC with the Cygwin tools, +because Cygwin can get confused when this happpens. +We havn't quite got to the bottom of this, but so far as we know it's not +a problem with GHC itself. Nevertheless, just to keep life simple we usually +put GHC in a place with a space-free path. - - - + Installing ghc-win32 FAQ @@ -641,6 +678,16 @@ on or rebooting may be the quickest cure. + @@ -656,22 +703,23 @@ the implementation. GHC is installed in two directory trees: -Binary directory - known as $(bindir), holds executables that -the user is expected to invoke. Notably, -ghc and ghci. On Unix, this directory -is typically something like /usr/local/bin. On Windows, -however, this directory is always $(libdir)/bin. - - - - Library directory, known as $(libdir), holds all the support files needed to run GHC. On Unix, this directory is usually something like /usr/lib/ghc/ghc-5.02. + +Binary directory + known as $(bindir), holds executables that +the user is expected to invoke. +Notably, it contains +ghc and ghci. On Unix, this directory +can be anywhere, but is typically something like /usr/local/bin. On Windows, +however, this directory must be $(libdir)/bin. + + + @@ -693,23 +741,50 @@ one wins.] On Windows (but not Unix), if no flag is given, GHC uses a system call to find the directory in which the running GHC executable lives, and derives $(libdir) from that. [Unix lacks such a system call.] +That is why $(bindir) must be $(libdir)/bin. - Layout of the library directory + The binary directory -The layout of the library directory is almost identical on -Windows and Unix, as follows: layout: +The binary directory, $(bindir) contains user-visible +executables, notably ghc and ghci. +You should add it to your $PATH + + +On Unix, the user-invokable ghc invokes $(libdir)/ghc-version, +passing a suitable flag to tell ghc-version where +$(libdir) is. +Similarly ghci, except the extra flag --interactive is passed. + + +On Win32, the user-invokable ghc binary +is the Real Thing (no intervening +shell scripts or .bat files). +Reason: we sometimes invoke GHC with very long command lines, +and cmd.exe (which executes .bat files) +truncates them. Similarly ghci is a C wrapper program that invokes ghc --interactive +(passing on all other arguments), not a .bat file. + + + + + + The library directory + +The layout of the library directory, $(libdir) is almost identical on +Windows and Unix, as follows. Differences between Windows and Unix +are noted thus [Win32 only] and are commented below. $(libdir)/ package.conf GHC package configuration - ghc-usage.txt Message displayed by ghc --help + ghc-usage.txt Message displayed by ghc ––help bin/ [Win32 only] User-visible binaries ghc.exe - ghci.bat + ghci.exe unlit Remove literate markup @@ -758,24 +833,8 @@ Windows and Unix, as follows: layout: HSlang.o not grok .a files yet) -Note that: +Note that: - -On Win32, the $(libdir)/bin directory contains user-visible binaries; -add it to your PATH. The ghci executable is a .bat -file which invokes ghc. - -The GHC executable is the Real Thing (no intervening -shell scripts or .bat files). -Reason: we sometimes invoke GHC with very long command lines, -and cmd.exe (which executes .bat files) -truncates them. [We assume people won't invoke ghci with very long -command lines.] - -On Unix, the user-invokable ghc invokes $(libdir)/ghc-version, -passing a suitable flag. - - $(libdir) also contains support @@ -812,153 +871,12 @@ with the Win32 distribution of GHC. with GHC, rather than assume some installed one. + - - -Building the documentation - -We use the DocBook DTD, which is widely used. Most shrink-wrapped -distributions seem to be broken in one way or another; thanks to -heroic efforts by Sven Panne and Manuel Chakravarty, we now support -most of them, plus properly installed versions. - - -Instructions on installing and configuring the DocBook tools follow. - - - -Installing the DocBook tools from RPMs - -If you're using a system that can handle RedHat RPM packages, -you can probably use the Cygnus DocBook -tools, which is the most shrink-wrapped SGML suite that we -could find. You need all the RPMs except for psgml (i.e. -docbook, jade, -jadetex, sgmlcommon and -stylesheets). Note that most of these RPMs are -architecture neutral, so are likely to be found in a -noarch directory. The SuSE RPMs also work; the -RedHat ones don't in RedHat 6.2 (7.0 and later -should be OK), but they are easy to fix: just make a symlink from -/usr/lib/sgml/stylesheets/nwalsh-modular/lib/dblib.dsl -to /usr/lib/sgml/lib/dblib.dsl. - - - - - Installing DocBook on FreeBSD - - On FreeBSD systems, the easiest way to get DocBook up and - running is to install it from the ports tree or a pre-compiled - package (packages are available from your local FreeBSD mirror - site). - - To use the ports tree, do this: - - $ cd /usr/ports/textproc/docproj - $ make install - - This installs the FreeBSD documentation project tools, which - includes everything needed to format the GHC - documentation. - - - -Installing from binaries on Windows - -It's a good idea to use Norman Walsh's installation -notes as a guide. You should get version 3.1 of DocBook, and note -that his file test.sgm won't work, as it needs version -3.0. You should unpack Jade into \Jade, along with the -entities, DocBook into \docbook, and the DocBook -stylesheets into \docbook\stylesheets (so they actually -end up in \docbook\stylesheets\docbook). - - - - - - -Installing the DocBook tools from source - - -Jade - -Install OpenJade (Windows binaries are available as well as sources). If you want DVI, PS, or PDF then install JadeTeX from the dsssl -subdirectory. (If you get the error: - - -! LaTeX Error: Unknown option implicit=false' for package hyperref'. - - -your version of hyperref is out of date; download it from -CTAN (macros/latex/contrib/supported/hyperref), and -make it, ensuring that you have first removed or renamed your old copy. If -you start getting file not found errors when making the test for -hyperref, you can abort at that point and proceed -straight to make install, or enter them as -../filename.) - - -Make links from virtex to jadetex -and pdfvirtex to pdfjadetex -(otherwise DVI, PostScript and PDF output will not work). Copy -dsssl/*.{dtd,dsl} and catalog to /usr/[local/]lib/sgml. - - - - - -DocBook and the DocBook stylesheets - -Get a Zip of DocBook -and install the contents in /usr/[local/]/lib/sgml. - - -Get the DocBook -stylesheets and install in -/usr/[local/]lib/sgml/stylesheets (thereby creating a -subdirectory docbook). For indexing, copy or link collateindex.pl from the DocBook stylesheets archive in bin into a directory on your PATH. - - -Download the ISO -entities into /usr/[local/]lib/sgml. - - - - - - - -Configuring the DocBook tools - -Once the DocBook tools are installed, the configure script will detect them and set up the build system accordingly. If you have a system that isn't supported, let us know, and we'll try to help. - - - - - -Remaining problems - -If you install from source, you'll get a pile of warnings of the form - -DTDDECL catalog entries are not supported - -every time you build anything. These can safely be ignored, but if you find them tedious you can get rid of them by removing all the DTDDECL entries from docbook.cat. - - - - - -