install.org 5.83 KB
Newer Older
1
2
# -*- coding: utf-8 -*-
#+TITLE: Installing Spot
3
#+DESCRIPTION: Different ways to install the Spot package
Alexandre Duret-Lutz's avatar
Alexandre Duret-Lutz committed
4
#+INCLUDE: setup.org
5
6
7
#+HTML_LINK_UP: index.html

* Installing from a tarball
8
9
10
   :PROPERTIES:
   :CUSTOM_ID: tar
   :END:
11
12
13
14
15
16

The latest release of Spot is version {{{LASTRELEASE}}}:

- {{{LASTTARBALL}}} (see also the {{{LASTNEWS}}})

Past releases can be found [[https://www.lrde.epita.fr/dload/spot/][in the same directory]].  If you are
17
interested in /future/ releases, you can always peek at the [[https://gitlab.lrde.epita.fr/spot/spot/-/jobs/artifacts/next/browse?job=debian-stable-gcc][last
18
19
20
21
successful development build]].

** Requirements

22
Spot requires a C++14-compliant compiler.  =g++= 5.0 or later, as well
23
24
as =clang++= 3.5 or later should work.

25
Spot expects a complete installation of Python (version 3.3 or later).
26
27
28
29
30
Especially, Python's headers files should be installed (the package to
install has a name like =python-dev= or =libpython3-dev= in most
distributions).  If you don't have Python installed, and do NOT want
to install it, you should run =./configure= with the
=--disable-python= option.
31
32
33
34
35
36

** Installation

The installation follows the usual =./configure=, =make=, =make install= steps.

Please *do* install Spot somewhere: while skipping =make install= and
37
38
39
running the command-line tools directly from the build directory
should work, it will be slower than if you run =make install= and run
the installed binaries.
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56

By default, =make install= will install everything under
=/usr/local/=, so unless you have write access to this directory you
will either have to run =sudo make install=, or choose another
installation prefix.

For instance to install Spot in =~/usr= (i.e., in your home
directory), use

#+BEGIN_SRC sh
./configure --prefix ~/usr
make
make install
#+END_SRC

Files =INSTALL= and =README= included in the tarball contains more
explanations about the various options you can use during this
57
58
process.  Also note that =README= has a section about troubleshooting
installations.
59
60

* Installing the Debian packages
61
62
63
   :PROPERTIES:
   :CUSTOM_ID: Debian
   :END:
64
65
66

We build Debian packages for amd64 and i386, for both releases and the
development versions.  Packages for releases are built for Debian
67
Buster (a.k.a. Debian stable) while packages for development are built
68
69
70
71
72
for Sid (a.k.a. Debian unstable).

Here is how to install the stable packages:

#+BEGIN_SRC sh
73
wget -q -O - https://www.lrde.epita.fr/repo/debian.gpg | apt-key add -
74
75
76
77
78
79
80
81
echo 'deb http://www.lrde.epita.fr/repo/debian/ stable/' >> /etc/apt/sources.list
apt-get update
apt-get install spot libspot-dev spot-doc python3-spot # Or a subset of those
#+END_SRC

Here is how to install the unstable packages:

#+BEGIN_SRC sh
82
wget -q -O - https://www.lrde.epita.fr/repo/debian.gpg | apt-key add -
83
84
85
86
87
echo 'deb http://www.lrde.epita.fr/repo/debian/ unstable/' >> /etc/apt/sources.list
apt-get update
apt-get install spot libspot-dev spot-doc python3-spot # Or a subset of those
#+END_SRC

88
89
90
91
92
Note that our Debian repository is signed since that is the new Debian
policy, and both of the above command blocks start with a download of
our [[https://www.lrde.epita.fr/repo/debian.gpg][GPG key]].  Its fingerprint is =209B 7362 CFD6 FECF B41D 717F 03D9
9E74 44F2 A84A=, if you want to verify it.

93
The package =spot= contains the [[file:tools.org][command-line tools]]. =libspot-dev=
94
contains the header files if you plan to use Spot in a C++14
95
96
97
98
99
100
program. =spot-doc= contains some html (including these pages) and pdf
documentation. Finally =python3-spot= contains some Python bindings
(this package also installs some ipython notebooks that you can use as
examples).  The packages containing the libraries (=libspot0=,
=libbddx0=, =libspotltsmin0=) are automatically installed as
dependencies of the previous packages.
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
* Installing the Fedora packages
   :PROPERTIES:
   :CUSTOM_ID: Fedora
   :END:

We build Fedora packages for amd64, for both releases and the
development versions.  Both builds are currently made for Fedora 28.

Our `stable` repository contains RPM for released versions of Spot, add it with:
#+BEGIN_SRC sh
sudo dnf config-manager --add-repo https://www.lrde.epita.fr/repo/fedora/lrde.repo
#+END_SRC

Our `unstable` repository contains RPM for the development versions of Spot,
you can opt to use that instead:

#+BEGIN_SRC sh
sudo dnf config-manager --add-repo https://www.lrde.epita.fr/repo/fedora/lrde.repo
sudo dnf config-manager --set-enabled lrde-unstable
sudo dnf config-manager --set-disabled lrde-stable
#+END_SRC

Once the repository is set up, you can simply install Spot with:
#+BEGIN_SRC sh
sudo dnf install spot python3-spot spot-devel spot-doc
#+END_SRC
or a subset of those packages.  The package =spot= contains the
129
command-line tools, =python3-spot= contains the Python bindings,
130
131
132
133
=spot-devel= contains the C++ header files, and =spot-doc= the
documentation that you can also find online.  Those packages depends
on =libspot= that contains the shared libraries.

134
* Installing from git
135
136
137
   :PROPERTIES:
   :CUSTOM_ID: git
   :END:
138
139
140

The =master= branch of the git repository contains the code for the
latest released version, possibly with a few yet-to-be-released
141
bug fixes.  The =next= branch is the main development branch, and contains
142
143
144
145
146
147
148
149
150
151
152
153
the (working) code that should be part of the next major release.

To clone the git repository, use

#+BEGIN_SRC sh
git clone https://gitlab.lrde.epita.fr/spot/spot.git
#+END_SRC

This should put you on the =next= branch by default.  From there, read
the [[https://gitlab.lrde.epita.fr/spot/spot/blob/next/HACKING][HACKING]] file that should be at the top of your cloned repository:
it lists all the tools you should install before attempting to compile
the source tree.
154
155
156
157
158

#  LocalWords:  utf html LASTRELEASE LASTTARBALL LASTNEWS dev sudo
#  LocalWords:  libpython usr SRC README amd wget libspot GPG CFD pdf
#  LocalWords:  FECF ipython libbddx libspotltsmin dnf config repo
#  LocalWords:  lrde devel