You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-10Lines changed: 15 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,29 +6,30 @@
6
6
7
7
Ariadne is a tool for reachability analysis and model checking of hybrid systems. Additionally, it is a framework for rigorous computation featuring arithmetic, linear algebra, calculus, geometry, algebraic and differential equations, and optimization solvers.
8
8
9
-
* This repository contains the main development fork of the tool. For a more stable version with a less sophisticated user interface, see the *release-1.0* repository.
10
-
* For the latest internal release, see the [releases](https://github.com/ariadne-cps/ariadne/releases) page. However, the code in the master branch should always be usable.
11
-
12
9
### Installation ###
13
10
14
-
The installation instructions are presented for Ubuntu 18.04 and macOS 10.14 only. However, openSUSE Tumbleweed and Fedora 29 are known to be working when using their package managers. Windows installations are not supported yet.
11
+
The installation instructions are presented for Ubuntu 20.04 and macOS 10.15 only. However, openSUSE and Fedora are known to be working when using their own package managers. Windows installations are not supported yet.
15
12
16
13
For the Ubuntu installation, we will refer to packages available on Aptitude. The macOS installation instead will assume you are using the Brew package manager.
17
14
18
15
The build system is CMake. The library is tested for compilation using gcc and clang.
19
16
20
17
#### Dependencies
21
18
22
-
The only required library dependencies of Ariadne are GMP and MPFR. If you want to enable the graphical output you will require Cairo in order to save into png files. Finally, the Python bindings require the Python headers (either Python 2 or 3 are supported). In particular for Python, there is an internal Git submodule dependency on the header-only [pybind11](https://github.com/pybind/pybind11) library. Therefore in order to fetch the dependency, Git must be installed.
19
+
The only required library dependencies of Ariadne are GMP and MPFR. If you want to enable the graphical output you will require Cairo in order to save into png files. Finally, the Python bindings require the Python headers (either Python 2 or 3 are supported). In particular for Python, there is an internal Git submodule dependency on the header-only [pybind11](https://github.com/pybind/pybind11) library. Therefore in order to build the Python interface, Git must be installed even if Ariadne has been downloaded as an archive.
23
20
24
21
Finally, if you want to build the documentation, you need Doxygen and a working Latex distribution (including the Math packages).
25
22
26
-
Specific instructions for Ubuntu and macOS follow (documentation packages are excluded).
23
+
Please note that adding new dependencies after preparing the build environment requires to re-run the CMake command.
24
+
25
+
Specific instructions for Ubuntu and macOS follow.
To allow building the documentation: `brew cask install mactex-no-gui` and `brew install doxygen`.
46
+
44
47
#### Building
45
48
46
49
To build the library in a clean way, it is preferable that you set up a build subdirectory:
@@ -91,6 +94,8 @@ To build the documentation, instead use:
91
94
$ make doc
92
95
```
93
96
97
+
You can access the built documentation from the `docs/html/index.html` file in the build directory.
98
+
94
99
95
100
### Installing globally
96
101
@@ -106,17 +111,17 @@ or
106
111
$ sudo make install
107
112
```
108
113
109
-
if you require administrator privileges, in particular for a Linux installation. Please note that the installation will build the whole distribution beforehand.
114
+
if you require administrator privileges, in particular for a Linux installation. Please note that the installation will build the whole distribution beforehand, hence it is preferable that you first build the binaries without administrator privileges, then install.
110
115
111
-
To find the installed library under Ubuntu, you may need to set the LD_LIBRARY_PATH in the .bashrc file of your home directory:
116
+
To find the installed library under Ubuntu, you may need to set the LD\_LIBRARY\_PATH in the .bashrc file of your home directory:
112
117
113
118
```
114
119
export LD_LIBRARY_PATH=/usr/local/lib
115
120
```
116
121
117
122
### Building executables using Ariadne
118
123
119
-
The tutorials directory contains three CMake projects that rely on a correct installation of Ariadne. You can copy a project directory in any place on your file system and follow the instructions on the README file inside to check that your installation was successful.
124
+
The tutorials directory contains two CMake projects that rely on a correct installation of Ariadne. You can copy a project directory in any place on your file system and follow the instructions on the README file inside to check that your installation was successful.
120
125
121
126
Due to limitations of the C++ standard library on macOS since C++11, you won't be able to build an executable with GCC if the Ariadne library has been built using Clang, and viceversa. Hence on macOS you shall use the same compiler for both Ariadne and any projects that depend on it.
\todo This page has yes to be written. See the documentation on the \ref ConstraintSolverInterface for information.
35
+
\todo This page has yes to be written. See the documentation on the \ref Ariadne::ConstraintSolverInterface "ConstraintSolverInterface" for information.
0 commit comments