1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
Grammatical Framework Download and Installation
**GF 3.9** was released on 11 August 2017.
What's new? See the [Release notes release-3.9.html].
== Binary packages ==
|| Platform | Download | Features | How to install
| macOS | [gf-3.9.pkg gf-3.9.pkg] | //GF+S+C+J+P// | Double-click on the package icon
| macOS | [gf-3.9-bin-intel-mac.tar.gz gf-3.9-bin-intel-mac.tar.gz] | //GF+S+C+J+P// | ``sudo tar -C /usr/local -zxf gf-3.9-bin-intel-mac.tar.gz``
%| Fedora (32-bit) | [Fedora RPMs /~hallgren/tmp/Fedora/] | //GF+S+C+J+P// | ``sudo rpm -i ...``
| Raspian 9.1 | [gf_3.9-1_armhf.deb gf_3.9-1_armhf.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_armhf.deb``
| Ubuntu (32-bit) | [gf_3.9-1_i386.deb gf_3.9-1_i386.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_i386.deb``
| Ubuntu (64-bit) | [gf_3.9-1_amd64.deb gf_3.9-1_amd64.deb] | //GF+S+C+J+P// | ``sudo dpkg -i gf_3.9-1_amd64.deb``
| Windows | [gf-3.9-bin-windows.zip gf-3.9-bin-windows.zip] | //GF+S// | ``unzip gf-3.9-bin-windows.zip``
%| MINGW | [gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz gf-3.9-bin-i686-MINGW32_NT-6.1.tar.gz] | //GF+S+C// | ``tar -C / gf-3.9-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,
J/P = Java/Python binding to the C run-time system
%More binary packages might be added later.
===Notes===
The Windows package is installed by just unpacking it anywhere.
%It finds the libraries relative to the ``.exe`` file.
You will probably need to set the ``PATH`` and ``GF_LIB_PATH`` environment
variables, see Inari's notes on
[Installing GF on Windows http://www.grammaticalframework.org/~inari/gf-windows.html#toc3].
%The new experimental MINGW package is for use in the
%[MINGW http://www.mingw.org] 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 Ubuntu ``.deb`` packages should work on Ubuntu 16.04 and 17.04 and similar
Linux distributions.
The Raspian ``.deb`` package was created on a Raspberry Pi 3 and will probably
work on other ARM-based systems running Debian 9 (stretch) or similar
Linux distributions.
The packages for macOS (Mac OS X) should work on at
least 10.11 and 10.12 (El Capitan and Sierra).
%(*) **Note** that for compatibility with OS X 10.11 and newer,
%``gf-3.9.pkg`` will install the ``gf`` executable in ``/usr/local/bin``
%instead of ``/usr/bin``, so make sure ``/usr/local/bin`` is in your ``$PATH``.
%Also, if you still have an older version of GF installed in ``/usr/bin``,
%remove it and/or make sure ``/usr/local/bin`` comes before ``/usr/bin``
%in your ``$PATH`` so you don't accidentally run the old version.
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.9/lib
```
where ``/usr/local`` should be replaced with the path to the location where you
unpacked the package.
==Installing the latest release from source==
[GF is on Hackage http://hackage.haskell.org/package/gf], so under normal
circumstances the prodedure is fairly simple:
+ Install a recent version of the
[Haskell Platform http://hackage.haskell.org/platform],
e.g. version 7.10.3 (see note 2 below)
+ ``cabal update``
+ On Linux: install some C libraries from your Linux distribution
(see note 1 below)
+ ``cabal install gf``
You can also download the full source package from here:
[``gf-3.9.tar.gz`` gf-3.9.tar.gz].
=== Notes ===
The above steps installs GF for a single user.
% and does not require root privileges.
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`` http://hackage.haskell.org/package/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:
- On Ubuntu: ``sudo apt-get install libghc-haskeline-dev``
- On Fedora: ``sudo yum install ghc-haskeline-devel``
**Note 2**.
The GF source code has been updated to compile with GHC 8.2.1. Using older
versions of GHC (e.g. 8.0.x and 7.10.3) should still work too.
%=== Known problems ===
%
%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.
==Installing from the latest developer source code==
The first time:
%, assuming you already have the Haskell Platform and darcs
```
git clone https://github.com/GrammaticalFramework/gf-core.git
cd gf-core
cabal install
```
and
```
git clone https://github.com/GrammaticalFramework/gf-rgl.git
cd gf-rgl
make
```
Subsequently:
```
cd gf-core
git pull
cabal install
```
and
```
cd gf-rgl
git pull
make
```
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 ../doc/gf-developers.html].
==Using Stack==
You can also use [Stack https://www.haskellstack.org] to compile GF, just replace ``cabal install`` above
with ``stack install`` (assuming you already have Stack set up).
==Older releases==
- [GF 3.8 index-3.8.html] (June 2016)
- [GF 3.7.1 index-3.7.1.html] (October 2015)
- [GF 3.7 index-3.7.html] (June 2015)
- [GF 3.6 index-3.6.html] (June 2014)
- [GF 3.5 index-3.5.html] (August 2013)
- [GF 3.4 index-3.4.html] (January 2013).
- [GF 3.3.3 index-3.3.3.html] (March 2012).
- [GF 3.3 index-3.3.html] (October 2011).
- [GF 3.2.9 index-3.2.9.html] source-only snapshot (September 2011).
- [GF 3.2 index-3.2.html] (December 2010).
- [GF 3.1.6 index-3.1.6.html] (April 2010).
- [GF 3.1 old-index.html] (December 2009).
|