gambas-source-code/INSTALL.html

1216 lines
26 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html dir="ltr" lang="en"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta language="en">
<title>
Gambas Documentation - Compilation &amp; Installation
</title>
<style type="text/css">
BODY {
background: white;
padding: 0px;
margin-top: 0px;
font-family: sans-serif;
/*background-image: url("/img/background.jpg");
background-attachment: fixed;
background-repeat: no-repeat;
background-position: -184px 0px;*/
}
BODY.view {
background: white; /*#96BBD8;*/
padding: 8px 16px;
margin: 0px;
/*background-image: url("/img/background.jpg");
background-attachment: fixed;
background-repeat: no-repeat;
background-position: -184px 0px;*/
max-width: 860px;
/*font-family: Lucida Sans,Liberation Sans,sans;*/
}
BODY.none {
background: white;
padding: 8px;
margin: 0px;
}
FRAMESET {
background: white /*#6e9bed;*/
/*background-image: url("background.png");
background-attachment: fixed;*/
}
FRAME {
background: white; /*#6e9bed;*/
/*background-image: url("background.png");
background-attachment: fixed;*/
}
TABLE.menu {
/*background: none;*/
background-image: url("menu.png");
background-attachment: fixed;
background-repeat: no-repeat;
background-position: top -200;
border: none;
border-width: 0px;
padding: 0px;
}
/*.warning {
background: #B0CEE6;
border: solid 2px white;
padding: 8px;
}*/
TABLE.none {
background: none;
border: none;
border-width: 0px;
padding: 0px;
}
P {
margin: 0.5em 0;
}
/*td p {
padding-left: 0px;
}*/
.limit {
border-top: solid 2px #95C1E6;
height: 1px;
margin: 4px 0px;
}
.lang {
background: black; /*#95C1E6;*/
color: white;
margin-bottom: 4px;
/*font-size: 9px;*/
/*border: none;*/
padding: 4px 8px;
border-bottom: solid 4px #C0C0C0;
margin-left: -8px;
margin-right: -8px;
}
.lang20 {
background: black; /*#95C1E6;*/
color: white;
margin-bottom: 4px;
/*font-size: 9px;*/
/*border: none;*/
padding: 4px 8px;
border-bottom: solid 4px #80C0FF;
margin-left: -8px;
margin-right: -8px;
}
.lang30 {
background: black; /*#95C1E6;*/
color: white;
margin-bottom: 4px;
/*font-size: 9px;*/
/*border: none;*/
padding: 4px 8px;
border-bottom: solid 4px #DF6B00;
margin-left: -8px;
margin-right: -8px;
}
.frame {
/*max-width: 800px;*/
}
TABLE.tabheader {
/*border: solid;
border: none;*/
/*border-width: 1px 0px 0px 1px;*/
/*border-color: #95C1E6;*/
padding: 0px;
margin-top: 2px;
width: 100%;
/*max-width: 836px;*/
}
PRE {
background-color: white; /*#B0CEE6; */
padding: 4px;
border: solid 1px #C0C0C0;
color: black;
/*background-color: #f0f0f0;
padding: 5px;
border: solid 1px;*/
}
PRE.code {
background-color: white; /*#B0CEE6; */
padding: 0;
border: none;
color: black;
margin: 0;
}
/*table pre {
background-color: #B0CEE6;
padding: 2px;
}*/
.space {
padding: 4px;
}
.header {
background: #B2E8FF;
border: solid;
border-width: 1px;
border-color: #000000;
width: 100%;
padding: 2px;
}
A {
padding: 0px;
margin: 0px;
text-decoration: none;
/*padding-left: 1px;
padding-right: 1px;*/
/*text-shadow: 1px 1px 1px #808080;*/
}
A.image:hover {
/*padding-left: 1px;
padding-right: 1px;*/
background: none;
text-decoration: none;
border: none;
}
/*A:before {
content: url("link.png");
}*/
A:hover {
/*background: #C0C0E0; /*#FFE0C0;*/
text-decoration: none;
text-shadow: 0px 0px 2px #808080;
}
.header hover {
background: white;
text-decoration: none;
}
.left A:link {
color: white;
}
.left A:visited {
color: white;
}
.left A:before {
content: "";
}
/*.none a {
background: none;
}
.none A:hover {
background: #FFE0C0;
text-decoration: none;
}*/
/*table A:hover {
background: #C0C0E0;
text-decoration: none;
}*/
.title {
/*border: solid white 1px;*/ /*solid black 1px;*/
/*background: #B0CEE6;*/ /*#E0E0E0;*/
padding: 0px;
font-weight: bold;
font-size: xx-large;
color: black; /*#95C1E6;*/
text-shadow: 2px 2px 2px #C0C0C0;
margin-bottom: 8px;
margin-top: 4px;
letter-spacing: 2px;
border-bottom: solid #808080 1px;
/*text-decoration: underline;*/
}
TD.tabon {
padding: 4px 6px;
border-top: 1px solid #C0C0C0; /*#95C1E6;*/
border-right: 1px solid #C0C0C0; /*#95C1E6;*/
border-left: 1px solid #C0C0C0; /*#95C1E6;*/
background-color: white; /*#95C1E6;*/
color: black;
}
TD.taboff {
padding: 0px;
border-bottom: 1px solid #C0C0C0; /*#95C1E6;*/
}
[dir="ltr"] * .taboffr {
padding: 2px 6px;
border-top: 1px solid #C0C0C0; /*#95C1E6;*/
border-right: 1px solid #C0C0C0; /*#95C1E6;*/
}
[dir="rtl"] * .taboffr {
padding: 2px 6px;
border-top: 1px solid #C0C0C0; /*#95C1E6;*/
border-left: 1px solid #C0C0C0; /*#95C1E6;*/
}
.taboffl {
padding: 2px 6px;
border-top: 1px solid #C0C0C0; /*#95C1E6;*/
border-left: 1px solid #C0C0C0; /*#95C1E6;*/
}
TD.tabnone {
padding: 2px 6px;
border-bottom: 1px solid #C0C0C0; /*#95C1E6;*/
}
[dir="ltr"] * .tab {
margin-top: 0px;
/*padding-left: 16px;
padding-right: 16px;*/
padding-top: 1px;
padding-left: 8px;
border-left: solid 1px #C0C0C0;
padding-bottom: 8px;
border-bottom: solid 1px #C0C0C0;
}
[dir="ltr"] * .notab {
margin-top: 2px;
padding-top: 1px;
padding-left: 8px;
border-left: solid 1px #808080;
padding-bottom: 8px;
border-bottom: solid 1px #808080;
border-top: solid 1px #808080;
}
[dir="rtl"] * .tab {
margin-top: 0px;
/*padding-left: 16px;
padding-right: 16px;*/
padding-top: 1px;
padding-right: 8px;
border-right: solid 1px #C0C0C0;
padding-bottom: 8px;
border-bottom: solid 1px #C0C0C0;
}
[dir="rtl"] * .notab {
margin-top: 2px;
padding-top: 1px;
padding-right: 8px;
border-right: solid 1px #808080;
padding-bottom: 8px;
border-bottom: solid 1px #808080;
border-top: solid 1px #808080;
}
TABLE.table {
background: white;
border: solid;
border-right: none;
border-width: 1px 0px 1px 1px;
border-color: #C0C0C0; /*#95C1E6;*/
padding: 0px;
margin: 0px;
}
.table TH {
background: #E8E8E8; /*#BDD4E6;*/
border-right: 1px solid #C0C0C0; /*#95C1E6;*/
border-width: 1px;
border-bottom: 1px solid #C0C0C0; /*#95C1E6;*/
text-align: left;
padding: 6px;
}
.none .table TH {
background: #E8E8E8;
border-right: 1px solid #C0C0C0; /*#95C1E6;*/
border-width: 1px;
border-bottom: 1px solid #C0C0C0; /*#95C1E6;*/
text-align: left;
padding: 6px;
}
.table TD {
border-right: 1px solid #C0C0C0; /*#95C1E6;*/
padding: 6px;
}
.none .table TD {
border-right: 1px solid #C0C0C0; /*#95C1E6;*/
padding: 6px;
}
.none TH {
border: none;
}
.none TD {
border: none;
}
TR.dark {
background: #F0F0F0; /*#CBDAE6;*/
}
/*hr {
border-top: dotted;
border-left: none;
border-bottom: none;
border-right: none;
border-width: 1px;
border-color: #808080;
}*/
.box {
padding: 8px;
margin: 0px; /*0px 0px 8px 0px;*/
border: solid 1px #C0C0C0; /*#95C1E6;*/
}
.container {
display: inline-block;
min-width: 50%;
max-width: 95%;
max-height: 400px;
padding: 8px;
margin: 0; /*0px; /*8px 0px 8px 0px;*/
border: solid 1px #C0C0C0; /*#95C1E6;*/
background-color: white;
overflow: auto;
}
.example {
direction: ltr;
font-family: monospace;
white-space: nowrap;
}
.code {
direction: ltr;
font-family: monospace;
white-space: pre;
}
.message {
border-radius: 4px;
border: solid 1px #C0C0C0;
padding: 4px;
display: inline-table;
}
.warning {
text-shadow: 0px 0px 4px yellow;
color: black;
}
.info {
background: none;
}
.critical {
text-shadow: 0px 0px 4px red;
color: black;
}
.tip {
text-shadow: 0px 0px 4px #0080FF;
color: black;
}
.vb {
text-shadow: 0px 0px 4px orange;
color: black;
}
.black {
background-color: #C0C0C0; /*#95C1E6; /*#f8f8f8;*/
padding: 2px;
padding-left: 8px;
margin: 0px;
border: none;
color: white;
}
.gray {
background-color: #C0C0C0; /*#95C1E6;*/
padding: 2px 8px;
margin: 0px;
border: solid 1px #C0C0C0;
color: white;
width: 50%;
}
.syntax {
background-color: white; /*#CBDAE6; */
border: none;
border-left: solid 8px #C0C0C0;
padding: 8px;
white-space: pre-wrap;
direction: ltr;
margin: 0px;
}
.space {
padding: 4px;
}
.alert {
border: dotted 2px #FF8000;
/*border-width: 1px;
border-color: #95C1E6;*/
margin: 0px; /*0px 0px 16px 0px;*/
padding: 6px;
background: white;
margin-top: 6px;
margin-bottom: 6px;
}
.header {
background: #A4E2FF;
border: solid;
border-width: 1px;
border-color: #95C1E6;
width: 100%;
padding: 2px;
}
DIV.border {
border: solid;
border-width: 1px;
border-color: #C0C0C0; /*#95C1E6;*/
/*margin: 0px 0px 16px 0px;*/
padding: 4px;
}
/*hr {
border: solid;
border-width: 1px;
border-bottom: none;
border-color: #808080;
}*/
HR {
border-top: solid;
border-left: none;
border-bottom: none;
border-right: none;
border-width: 1px;
border-color: #C0C0C0; /*#95C1E6;*/
margin: 6px -4px;
padding: 0px;
}
.footer {
background: solid;
border: none;
background-color: #FFCC99;
padding: 2px;
}
A.flag {
font-size: 9px;
}
.path > A:link {
color: white;
}
.path > A:visited {
color: white;
}
IMG.flag {
border: solid 1px white; /*solid 1px #95C1E6;*/
padding: 0px;
margin: 0px;
}
.path {
display: inline;
/*border: solid 1px #95C1E6;*/
/*padding: 4px 1px 1px 1px;*/
font-weight: bold;
color: white;
margin: 0px;
padding: 0px;
}
.pathlimit {
display: inline;
border-left: solid 2px #95C1E6;
/*padding: 4px 1px 1px 1px;*/
/*font-size: x-small;*/
margin-left: 2px;
padding: 0px;
width: 2px;
}
INPUT[type=text] {
border: solid 1px #808080;
}
TEXTAREA {
border: solid 1px #808080;
}
H2 {
letter-spacing: 2px;
color: black;
font-weight: normal;
border-bottom: solid 1px #C0C0C0;
margin-bottom: 0.5em;
}
H3 {
letter-spacing: 1px;
color: black;
margin-bottom: 0.5em;
}
.seealso {
border-left: solid 8px #C0C0C0;
padding-left: 8px;
margin-top: 20px;
}
.seealso H3 {
margin-bottom: 2px;
}
.box H3 {
margin-bottom: 2px;
margin-top: 0px;
}
/*.only-in {
background-image: url("/img/only-in.png");
background-repeat: no-repeat;
position: fixed;
padding: 16px 0px;
width: 64px;
height: 68px;
top: 32px;
right: 24px;
font-size: xx-large;
color: white;
text-shadow: 2px 2px 2px #808080;
text-align: center;
vertical-align: middle;
}*/
.only-in {
display: inline;
background: #FF8080;
color: white;
padding: 2px 6px;
text-shadow: 2px 2px 2px #808080;
border: solid 2px #C00000;
font-size: x-small;
font-weight: bold;
margin: 4px 0px;
text-transform: uppercase;
}
TD.only-3 {
background: #FF6060;
color: white;
padding: 4px;
/*font-weight: bold;*/
text-shadow: 2px 2px 2px #808080;
}
DIV.only-3-title {
display: inline;
float: right;
margin-top: -8px;
margin-right: -8px;
background: #FF6060;
color: white;
padding: 1px;
font-weight: bold;
font-size: x-small;
text-align: right;
width: 24px;
height: 20px;
-moz-border-radius: 0px 0px 0px 24px;
-webkit-border-radius: 0px 0px 0px 24px;
}
TD.only-2 {
background: #60FF60;
color: white;
padding: 4px;
/*font-weight: bold;*/
text-shadow: 2px 2px 2px #808080;
}
DIV.only-2-title {
display: inline;
float: right;
margin-top: -8px;
margin-right: -8px;
background: #60FF60;
color: white;
padding: 1px;
font-weight: bold;
font-size: x-small;
text-align: right;
width: 24px;
height: 20px;
-moz-border-radius: 0px 0px 0px 24px;
-webkit-border-radius: 0px 0px 0px 24px;
}
TD.only-contents {
padding: 8px;
}
TABLE.only-3 {
background: #FFE0E0;
border: solid 1px #FF6060;
}
TABLE.only-2 {
background: #E0FFE0;
border: solid 1px #60FF60;
}
.top-left-corner {
float: left;
}
.top-right-corner {
float: right;
}
.bottom-left-corner {
float: left;
}
.bottom-right-corner {
float: right;
}
.top-corner {
height: 8px;
}
.bottom-corner {
height: 8px;
}
IMG.screenshot {
border: solid 4px #C0C0C0; /*#95C1E6;*/
background: black;
padding: 8px;
border-radius: 8px;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
}
IMG.control {
float: right;
border: none; /*solid 1px gray;*/
margin: 0px 16px 8px 8px;
box-shadow: 8px 8px 8px gray;
}
.license {
border: solid 6px black; /*#B0CEE6;*/
padding: 16px;
margin-top: 8px;
background: none;
font-size: x-small;
}
[dir="ltr"] * ul {
line-height: 1.5em;
list-style-type: square;
padding-left: 32px;
margin: 0.5em 0;
}
[dir="rtl"] * ul {
line-height: 1.5em;
list-style-type: square;
padding-right: 32px;
margin: 0.5em 0;
}
.index-border
{
display: table;
margin-top: 8px;
margin-bottom: 8px;
}
[dir="ltr"] * .index {
border: solid 1px #C0C0C0;
padding: 8px 16px 2px 2px;
background: white;
font-size: small;
}
[dir="rtl"] * .index {
border: solid 1px #C0C0C0;
padding: 8px 2px 2px 16px;
background: white;
font-size: small;
}
TT {
padding: 1px 2px;
border: solid 1px #E0E0E0;
font-size: 100%;
}
#license-logo {
position: absolute;
right: 8px;
}
.info-symbol {
background: #2B6BB3;
color: white;
text-align: center;
border-radius: 6px;
font-size: 32px;
font-weight: bold;
font-family: Times New Roman,serif;
margin-right: 4px;
padding: 0px 12px;
}
</style>
</head>
<body>
<div class="title">
Compilation &amp; Installation
</div>
<p>
<a href="http://gambasdoc.org/help/install?v3">See the latest version of this page.</a>
</p>
<div class="index-border"><div class="index"><div align="center"><b>Contents</b></div>
<ul>
<li><a href="#t1">Requirements</a></li>
<ul>
<li><a href="#t2">Development Packages</a></li>
<li><a href="#t3">Other requirements</a></li>
</ul>
<li><a href="#t4">How to compile and install Gambas 3</a></li>
<ul>
<li><a href="#t5">Source package configuration</a></li>
<li><a href="#t6">Compilation</a></li>
<li><a href="#t7">Installation</a></li>
<li><a href="#t8">Troubleshooting</a></li>
</ul>
<li><a href="#t9">Instructions for specific distributions</a></li>
<ul>
<li><a href="#t10"></a><a href="http://gambasdoc.org/help/install/archlinux?v3">Arch Linux</a></li>
<li><a href="#t11"></a><a href="http://gambasdoc.org/help/install/ubuntu?v3">Ubuntu</a></li>
</ul>
<li><a href="#t12">The Development Environment</a></li>
<li><a href="#t13">Compiling from Subversion</a></li>
</ul></div></div>
<p>
<a name="t1"></a></p><h2>Requirements</h2>
<p>
<a name="t2"></a></p><h3>Development Packages</h3>
<p>
In order to compile <a href="http://gambasdoc.org/help/def/gambas?v3">Gambas</a>, you must install the following development packages.
</p><p>
The actual name of these development packages depends on your
distribution, so please refer to the distribution specific pages above
for more details.
</p><p>
</p><table class="table" border="0" bordercolor="#000000" cellpadding="4" cellspacing="0">
<tbody><tr><th>
Component
</th><th>
Requirements (libraries or <tt>pkg-config</tt> module)
</th></tr>
<tr><td valign="top">
Compilation
</td><td valign="top">
<tt>gcc</tt> <tt>g++</tt> <tt>automake</tt> <tt>autoconf</tt> <tt>libtool &gt;= 2.0</tt>
</td></tr>
<tr class="dark"><td valign="top">
Interpreter
</td><td valign="top">
<tt>libffi</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.compress.bzlib2</tt>
</td><td valign="top">
<tt>libbz2.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.compress.zlib</tt>
</td><td valign="top">
<tt>libz.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.cairo</tt>
</td><td valign="top">
<tt>cairo &gt;= 1.6.0</tt> <tt>cairo-ft &gt;= 1.6.0</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.crypt</tt>
</td><td valign="top">
<tt>libcrypt.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.db.mysql</tt>
</td><td valign="top">
<tt>libmysqlclient.so</tt>, <tt>libz.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.db.odbc</tt>
</td><td valign="top">
<tt>libodbc.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.db.postgresql</tt>
</td><td valign="top">
<tt>libpq.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.db.sqlite2</tt>
</td><td valign="top">
<tt>libsqlite.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.db.sqlite3</tt>
</td><td valign="top">
<tt>libsqlite3.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.dbus</tt>
</td><td valign="top">
<tt>dbus-1</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.desktop</tt>
</td><td valign="top">
<tt>libXtst.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.desktop.gnome</tt>
</td><td valign="top">
<tt>gnome-keyring-1</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.gmp</tt>
</td><td valign="top">
<tt>libgmp.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.gsl</tt>
</td><td valign="top">
<tt>libgsl.so</tt> <tt>libgslcblas.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.gtk</tt>
</td><td valign="top">
<tt>gtk+-2.0 &gt;= 2.16</tt> <tt>librsvg-2.0 &gt;= 2.14.3</tt> <tt>cairo &gt;= 1.6.0</tt> <tt>cairo-ft &gt;= 1.6.0</tt> <tt>gtk+-unix-print-2.0 &gt;= 2.10</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.gtk.opengl</tt>
</td><td valign="top">
<tt>gtkglext-1.0</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.image.io</tt>
</td><td valign="top">
<tt>gdk-pixbuf</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.image.imlib</tt>
</td><td valign="top">
<tt>imlib</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.jit</tt>
</td><td valign="top">
<tt>LLVM &gt;= 3.1</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.libxml</tt>
</td><td valign="top">
<tt>libxml-2.0</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.media</tt>
</td><td valign="top">
<tt>gstreamer-0.10 &gt;= 0.10.31</tt> <tt>gstreamer-interfaces-0.10 &gt;= 0.10.31</tt> for Gambas &lt;= 3.4
<p>
<tt>gstreamer-1.0</tt> <tt>gstreamer-video-1.0</tt> for Gambas &gt;= 3.5
</p></td></tr>
<tr class="dark"><td valign="top">
<tt>gb.mime</tt>
</td><td valign="top">
<tt>gmime-2.4</tt> or <tt>gmime-2.6</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.ncurses</tt>
</td><td valign="top">
<tt>ncurses.so</tt> <tt>panel.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.net.curl</tt>
</td><td valign="top">
<tt>libcurl &gt;= 7.13</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.net.smtp</tt>
</td><td valign="top">
<tt>glib-2.0</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.opengl</tt> <tt>gb.opengl.glsl</tt>
</td><td valign="top">
<tt>libGL.so</tt> <tt>libGLEW.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.opengl.glu</tt>
</td><td valign="top">
<tt>libGLU.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.openssl</tt>
</td><td valign="top">
<tt>openssl</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.pcre</tt>
</td><td valign="top">
<tt>libpcre.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.pdf</tt>
</td><td valign="top">
<tt>poppler &gt;= 0.5</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.qt4</tt> <tt>gb.qt4.ext</tt> <tt>gb.qt4.opengl</tt> <tt>gb.qt4.webkit</tt>
</td><td valign="top">
All Qt4 libraries &gt;= Qt 4.5
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.sdl</tt>
</td><td valign="top">
<tt>libSDL.so</tt> <tt>libSDL_ttf.so</tt> <tt>libGL.so</tt> <tt>libGLEW.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.sdl.sound</tt>
</td><td valign="top">
<tt>libSDL.so</tt>, <tt>libSDL_mixer.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.v4l</tt>
</td><td valign="top">
<tt>libjpeg.so</tt> <tt>libpng.so</tt> Video4Linux &gt;= 2.0
</td></tr>
<tr><td valign="top">
<tt>gb.xml.xslt</tt>
</td><td valign="top">
<tt>libxml-2.0</tt> <tt>libxslt</tt>
</td></tr>
</tbody></table>
<p>
<a name="t3"></a></p><h3>Other requirements</h3>
<p>
You must have the right to write to <tt>/tmp</tt>, otherwise <a href="http://gambasdoc.org/help/def/gambas?v3">Gambas</a> will not work.
</p><p>
The following versions of GNU tools are needed:
</p><ul>
<li><tt>automake</tt> 1.11.1</li>
<li><tt>autoconf</tt> 2.68</li>
<li><tt>libtool</tt> 2.4</li>
<p>
</p></ul>
Compiling with older version may or may not work!
<p>
<a name="t4"></a></p><h2>How to compile and install Gambas 3</h2>
<p>
<a name="t5"></a></p><h3>Source package configuration</h3>
<p>
When you are sure that everything is downloaded, type the following
magic sentences in a shell.
</p><p>
</p><div class="message info"><table class="none" border="0"><tbody><tr><td valign="top" width="40"><div class="info-symbol">i</div></td><td valign="top">
<tt>'$'</tt> represents your shell prompt, and <tt>'...'</tt> are the
messages printed during the configuration and compilation.
</td></tr></tbody></table></div>
<p>
First, enter the source top-level directory.
</p><p>
</p><div class="container"><pre class="code">$ cd &lt;path/to/source/directory&gt;</pre></div>
<p>
Then, type that to create the configuration scripts.
</p><p>
</p><div class="container"><pre class="code">$ ./reconf-all</pre></div>
<p>
Then type that to analyze the current system and configure the package:
</p><p>
</p><div class="container"><pre class="code">$ ./configure -C
...</pre></div>
<p>
If a library or a development package is missing, then you will be
warned that some components are disabled.
</p><p>
</p><div class="message info"><table class="none" border="0"><tbody><tr><td valign="top" width="40"><div class="info-symbol">i</div></td><td valign="top">
There are more 'configure' specific explanations in the <tt>INSTALL</tt> file located in the top-level source directory.
I invite you to read them.
</td></tr></tbody></table></div>
<p>
<a name="t6"></a></p><h3>Compilation</h3>
<p>
If everything is configured without error, then run this command to compile the program:
</p><p>
</p><div class="container"><pre class="code">$ make
...</pre></div>
<p>
<a name="t7"></a></p><h3>Installation</h3>
<p>
If everything compiles without error, then enter this command to install everything:
</p><p>
</p><div class="message info"><table class="none" border="0"><tbody><tr><td valign="top" width="40"><div class="info-symbol">i</div></td><td valign="top">
You must be <tt>root</tt> to install <a href="http://gambasdoc.org/help/def/gambas?v3">Gambas</a> on your system.
</td></tr></tbody></table></div>
<p>
</p><div class="container"><pre class="code">$ su -c "make install"
Password: <type the="" root="" password="" here="">
...</type></pre></div>
<p>
or
</p><p>
</p><div class="container"><pre class="code">$ sudo make install
Password: <type your="" password="" here="">
...</type></pre></div>
<p>
<a name="t8"></a></p><h3>Troubleshooting</h3>
<p>
If you did several successive compilations, after having updated the source from the subversion
repository for example, and if something fails during
all this process, you can try to "reconfigure" the configuration scripts by typing the following command:
</p><p>
</p><div class="container"><pre class="code">$ ./reconf-all</pre></div>
<p>
Then you can run <tt>./configure -C</tt> again
</p><p>
If it does not work, I need to know what happened exactly.
To do so, type the following command :
</p><p>
</p><div class="container"><pre class="code">$ ( ./configure -C; make; make install ) &gt; output.txt 2&gt;&amp;1</pre></div>
<p>
And send me the file "output.txt" by mail, with every other
detail about your computer and your distribution you find
useful.
</p><p>
<a name="t9"></a></p><h2>Instructions for specific distributions</h2>
<p>
<!--
<a name="t10"></a><h3><a href="/help/install/archlinux?v3">Arch Linux</a></h3>
<a name="t11"></a><h3><a href="/help/install/ubuntu?v3">Ubuntu</a></h3>
-->
</p><p>
</p><table>
<tbody><tr><td valign="top" align="left"><b>A</b></td><td>&nbsp;</td>
<td>
<a class="arrow" href="http://gambasdoc.org/help/install/archlinux?v3">Arch Linux</a>
</td></tr>
<tr><td valign="top" align="left"><b>D</b></td><td>&nbsp;</td>
<td>
<a class="arrow" href="http://gambasdoc.org/help/install/debian?v3">Debian</a>
</td></tr>
<tr><td valign="top" align="left"><b>F</b></td><td>&nbsp;</td>
<td>
<a class="arrow" href="http://gambasdoc.org/help/install/fedora?v3">Fedora</a>
&nbsp;·&nbsp;<a class="arrow" href="http://gambasdoc.org/help/install/freebsd?v3">FreeBSD</a>
</td></tr>
<tr><td valign="top" align="left"><b>M</b></td><td>&nbsp;</td>
<td>
<a class="arrow" href="http://gambasdoc.org/help/install/mageia?v3">Mageia</a>
&nbsp;·&nbsp;<a class="arrow" href="http://gambasdoc.org/help/install/mandriva?v3">Mandriva</a>
</td></tr>
<tr><td valign="top" align="left"><b>O</b></td><td>&nbsp;</td>
<td>
<a class="arrow" href="http://gambasdoc.org/help/install/opensuse?v3">OpenSUSE 10.2</a>
</td></tr>
<tr><td valign="top" align="left"><b>P</b></td><td>&nbsp;</td>
<td>
<a class="arrow" href="http://gambasdoc.org/help/install/pardus?v3">Pardus</a>
</td></tr>
<tr><td valign="top" align="left"><b>U</b></td><td>&nbsp;</td>
<td>
<a class="arrow" href="http://gambasdoc.org/help/install/ubuntu?v3">Ubuntu</a>
</td></tr></tbody></table>
<p>
<a name="t12"></a></p><h2>The Development Environment</h2>
<p>
The <a href="http://gambasdoc.org/help/def/gambas?v3">Gambas</a> IDE is made with Gambas. In order to compile and use it, you need to compile the following components:
</p><p>
</p><ul>
<li><a href="http://gambasdoc.org/help/comp/gb.db?v3">gb.db</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.db.form?v3">gb.db.form</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.debug?v3">gb.debug</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.desktop?v3">gb.desktop</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.eval?v3">gb.eval</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.eval.highlight?v3">gb.eval.highlight</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.form?v3">gb.form</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.form.dialog?v3">gb.form.dialog</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.form.mdi?v3">gb.form.mdi</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.image?v3">gb.image</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.image.effect?v3">gb.image.effect</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.qt4?v3">gb.qt4</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.qt4.ext?v3">gb.qt4.ext</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.qt4.webkit?v3">gb.qt4.webkit</a></li>
<li><a href="http://gambasdoc.org/help/comp/gb.settings?v3">gb.settings</a></li>
</ul>
<p>
<a name="t13"></a></p><h2>Compiling from Subversion</h2>
<p>
To compile the latest development version of <a href="http://gambasdoc.org/help/def/gambas?v3">Gambas</a> from the subversion repository,
read the <a href="http://gambasdoc.org/help/howto/svn?v3">How To Deal With Subversion</a> page.
</p>
</body></html>