GF 3.6 was released on 23 June 2014.
What's new? See the Release notes.
Platform | Download | Features | How to install |
---|---|---|---|
Mac OS X | gf-3.6.pkg | GF+S+C | Double-click on the package icon |
Mac OS X | gf-3.6-bin-intel-mac.tar.gz | GF+S+C+P | sudo tar -C /usr/local -zxf gf-3.6-bin-intel-mac.tar.gz |
Ubuntu (32-bit) | gf_3.6-1_i386.deb | GF+S+C+P | sudo dpkg -i gf_3.6-1_i386.deb |
Ubuntu (64-bit) | gf_3.6-1_amd64.deb | GF+S+C+P | sudo dpkg -i gf_3.6-1_amd64.deb |
Windows | gf-3.6-bin-windows.zip | GF+S | unzip gf-3.6-bin-windows.zip |
MINGW | gf-3.6-bin-i686-MINGW32_NT-6.1.tar.gz | GF+S+C | tar -C / gf-3.6-bin-i686-MINGW32_NT-6.1.tar.gz |
Features: GF = GF shell and grammar compiler and the Resource Grammar Library, S = gf -server
mode, C = C run-time system, P = Python binding to the C run-time system
The Windows package is installed by just unpacking it anywhere. You will probably need to set the PATH
and GF_LIB_PATH
environment variables, see Inari's notes on Installing GF on Windows.
The new experimental MINGW package is for use in the MINGW environment in Windows. Unpack it in the MSYS shell (which is started with C:\MinGW\msys\1.0\msys.bat
). It should work out of the box without any additional settings.
The .deb
packages work on Ubuntu 12.04, 13.10 and 14.04.
The packages for Mac OS work on 10.8 (Mountain Lion) and on 10.9 (Mavericks).
The Mac OS and Linux .tar.gz
packages are designed to be installed in /usr/local
. You can install them in other locations, but then you need to set the GF_LIB_PATH
environment variable:
export GF_LIB_PATH=/usr/local/share/gf-3.6/lib
where /usr/local
should be replaced with the path to the location where you unpacked the package.
GF is on Hackage, so under normal circumstances the prodedure is fairly simple:
cabal update
cabal install gf
You can also download the full source package from here: gf-3.6.tar.gz
.
The above steps installs GF for a single user. The executables are put in $HOME/.cabal/bin
(or, with recent versions of the Haskell platform on Mac OS X, in $HOME/Library/Haskell/bin
), so it is a good idea to put a line in your .bash_profile
or .profile
to add that directory to you path:
PATH=$HOME/.cabal/bin:$PATH
or
PATH=$HOME/Library/Haskell/bin:$PATH
Note 1. GF uses haskeline
, which on Linux depends on some non-Haskell libraries that won't be installed automatically by cabal, and therefore need to be installed manually. Here is one way to do this:
sudo apt-get install libghc-haskeline-dev
sudo yum install ghc-haskeline-devel
Note 2. We recommend using GHC 7.6 (which is part of the Haskell Platform 2013.2.0.0) or GHC 7.4 (which is part of the Haskell Platform 2012.4.0.0). Using GHC 7.0 will probably still work for the most part (but there is an issue with error reporting in gf -server
when compiled with GHC 7.0). Compilation with GHC 6.12 is no longer supported, because of multiple package version dependency problems.
The GF source code has been updated to be compilable with GHC 7.8, unlike the cgi package on Hackage, which is needed to compile GF with gf -server
mode support. If you want to compile GF with GHC 7.8 and need gf -server
mode, there is a patched version of the cgi package on github that you can install instead of the version on Hackage.
Note 3. The Haskell Platform for Mac OS X page states that you need Xcode 3.2 or later, but in fact it appears you need Xcode 3.2.3 or later. If you have Xcode 3.2.2, you can get an error from the linker: ld: unknown option: -no_pie
.
There seems to be a bug in some versions of Cabal that can cause
Distribution/Simple/PackageIndex.hs:124:8-13: Assertion failed
if the same version of GF is already installed. If you encounter this, you can use ghc-pkg unregister gf
to remove the installed version of GF and ghc-pkg list gf
to verify that it is gone.
The first time:
darcs get --lazy http://www.grammaticalframework.org/ GF
cd GF
cabal install
Subsequently:
cd GF
darcs pull -a
cabal install
Alternatively, you can get the code from the GF GitHub mirror, which is updated nightly.
The above notes for installing from source apply also in these cases. For more info on working with the GF source code, see the GF Developers Guide.