get-frama-c.html 4.78 KB
Newer Older
Augustin Lemesle's avatar
Augustin Lemesle committed
1
2
---
layout: default
Augustin Lemesle's avatar
Augustin Lemesle committed
3
4
css: get-framac
title: Get Frama-C
Allan Blanchard's avatar
Allan Blanchard committed
5
description: Download and install the Frama-C analysis platform now!
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
6
7
---

8
9
<body class="page nonTouch">

Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
10
11
  <div id="wrapper" class="hfeed">

12
	{% include headers.html header="download" %}
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
13
14
15
16

    <div id="container" class="mainContainer">
      <div class="getFramaC">
        <div class="wrap">
17
          <h1 class="pageTitle">Choose for which OS you want Frama-C</h1>
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
18
19

          <div class="OS codeTabs">
Augustin Lemesle's avatar
Augustin Lemesle committed
20
            <a href="#" role="button" class="tab-up tab-up-linux" onClick="clickTab('linux')"><b>Linux</b></a> <a href="#" role="button" class="tab-up tab-up-mac" onClick="clickTab('mac')"><b>Mac</b></a> <a href="#" role="button" class="tab-up tab-up-windows" onClick="clickTab('windows')"><b>Windows (WSL)</b></a>
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
21
          </div>
Augustin Lemesle's avatar
Augustin Lemesle committed
22
		  <br>
Allan Blanchard's avatar
Allan Blanchard committed
23
24
25
26
27
        <div class="notebook code">
          <div>
            <div class="codeScreen">
              <div class="codeTab tab-linux hide">
                <pre class="shell-linux">
28
29
<span class="shell-linux-comment"># 1. Install <a href="https://opam.ocaml.org/">opam</a> (OCaml package manager)</span>
sudo apt install opam <span class="shell-linux-comment"># or dnf, pacman, etc.</span>
30
31


32
<span class="shell-linux-comment"># 2. Install Frama-C's dependencies</span>
Augustin Lemesle's avatar
Augustin Lemesle committed
33
34
opam install depext
opam depext frama-c
35
36
<br>
<span class="shell-linux-comment"># 3. Install Frama-C itself</span>
Augustin Lemesle's avatar
Augustin Lemesle committed
37
opam install frama-c</pre>
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
38
39
40
                </div>

                <div class="codeTab tab-mac hide">
41
42
                  <pre class="shell-mac">
<span class="shell-mac-comment"># 1. Install <a href="https://brew.sh/">Homebrew</a></span>
43

44
<span class="shell-mac-comment"># 2. Install required dependencies for Frama-C</span>
45
brew install opam gmp gtk+ gtksourceview libgnomecanvas
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
46

47
<span class="shell-mac-comment"># 3. Configure GTK library</span>
Augustin Lemesle's avatar
Augustin Lemesle committed
48
export PKG_CONFIG_PATH=/usr/local/opt/libffi/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/lib/pkgconfig
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
49

50
<span class="shell-mac-comment"># 4. Install recommended dependencies for Frama-C</span>
51
brew install graphviz zmq
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
52

53
<span class="shell-mac-comment"># 5. Finally install Frama-C</span>
Augustin Lemesle's avatar
Augustin Lemesle committed
54
opam install frama-c</pre>
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
55
56
57
                </div>

                <div class="codeTab tab-windows hide">
58
59
					<pre class="shell-win">
<span class="shell-win-comment"># 1. Prepare opam installation</span>
Augustin Lemesle's avatar
Augustin Lemesle committed
60
61
62
sudo apt update
sudo apt upgrade
sudo apt install make m4 gcc opam
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
63

64
<span class="shell-win-comment"># 2. opam setup</span>
Allan Blanchard's avatar
Allan Blanchard committed
65
opam init --disable-sandboxing --shell-setup
Augustin Lemesle's avatar
Augustin Lemesle committed
66
67
eval $(opam env)
opam install -y depext
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
68

69
<span class="shell-win-comment"># 3. Install graphical dependencies</span>
Augustin Lemesle's avatar
Augustin Lemesle committed
70
opam depext --install -y lablgtk3 lablgtk3-sourceview3
71
72

<span class="shell-win-comment"># 4. Install Frama-C</span>
Augustin Lemesle's avatar
Augustin Lemesle committed
73
opam depext --install -y frama-c</pre>
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
74
75
76
77
                </div>
              </div>
            </div>
          </div>
78
          <div class="otherConfiguration">
Allan Blanchard's avatar
Allan Blanchard committed
79
            For detailed installation instructions, <a target="_blank" href="https://git.frama-c.com/pub/frama-c/blob/master/INSTALL.md">click here</a>
Allan Blanchard's avatar
Allan Blanchard committed
80
            <br>All Frama-C releases are available <a href="/html/framac-versions.html">from this page</a>
81
          </div>
82
          {% if site.fc-versions.last.beta %}
Allan Blanchard's avatar
Allan Blanchard committed
83
          <div class="otherVersion">
Andre Maroneze's avatar
Andre Maroneze committed
84
            The beta version of the next Frama-C release is available <a href="{{ site.fc-versions.last.url }}">here</a>
Allan Blanchard's avatar
Allan Blanchard committed
85
          </div>
86
          {% endif %}
Allan Blanchard's avatar
Allan Blanchard committed
87
          <h1 class="pageTitle">Downloads</h1>
88
89
90
91
          <div class="tileWrapper" size="big">
            <div class="tile">
              <h4 class="tileTitle"><span>Frama-C and ACSL</span></h4>
              <ul>
Allan Blanchard's avatar
Allan Blanchard committed
92
                <li><a href="/download/frama-c-source-dist.tar.gz">Frama-C source distribution</a></li>
93
94
95
96
                <li><a href="/download/frama-c-user-manual.pdf">Frama-C user manual</a></li>
                <li><a href="/download/frama-c-plugin-development-guide.pdf">Plug-in development guide</a></li>
                <li><a href="/download/frama-c-acsl-implementation.pdf">ACSL implementation</a></li>
              </ul>
97
            </div>
98
99
100
101
102
103
104
105
106
107
108
109
110
111
            <div class="tile">
              <h4 class="tileTitle"><span>Plug-ins</span></h4>
              {% assign plugins = site.fc-plugins | where:"distrib_mode","main" %}
              <ul>
              {% for plugin in plugins %}
                {% if plugin.manual_pdf %}
                <li>
                  <a href="{{ plugin.manual_pdf }}">
                    {% if plugin.short %}{{ plugin.short }}{% else %}{{ plugin.title }}{% endif %} manual
                  </a>
                </li>
                {% endif %}
              {% endfor %}
              </ul>
112
113
            </div>
          </div>
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
114
        </div>
Augustin Lemesle's avatar
Augustin Lemesle committed
115
      </div>
Yaëlle Vinçont's avatar
Yaëlle Vinçont committed
116
117
118
119
120
121

	  {% include footer.html %}

      <div class="clear"></div>
    </div>
  </div>
Augustin Lemesle's avatar
Augustin Lemesle committed
122
  <head><script type='text/javascript' src='/assets/js/codeTabs.js'></script></head>