<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../style.css">
<title>
Gambas Documentation - README
</title>
</head>
<table class="none" width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td align="left">
<font size="-1">
<a href="../help+en"><img class="flag" alt="Home" border="0" src="../img/lang/en.png" align="center"></a>&nbsp;
<a href="index.html+en">Up</a>&nbsp;
<a href="lang/year+en">Previous</a>&nbsp;
<a href="register+en">Next</a>&nbsp;
</td></tr></table>
<div class="notab">
<h1>
README
</h1>
<h2>Welcome to <a href="def/gambas+en">Gambas</a>!</h2>
<p>
<a href="def/gambas+en">Gambas</a> is a free implementation of a graphical development
environment based on a BASIC interpreter. It is very
inspired by Visual Basic and Java.
<p>
More information on <a href="http+//gambas.sourceforge.net">http://gambas.sourceforge.net</a>
<p>
<h2>Important notes</h2>
<p>
Before downloading <a href="def/gambas+en">Gambas</a>, compiling it and then complaining, please read the
following remarks CAREFULLY!
<p>
To <a href="def/compile+en">compile</a> <a href="def/gambas+en">Gambas</a>, you must install the following libraries on your system :
<p>
<h3><a href="def/gambas+en">Gambas</a> 1.0.x (stable version)</h3>
<p>
<table class="table" border="0" bordercolor="#000000" cellpadding="4" cellspacing="0">
<tr><th>
<a href="comp/gb/components+en">Components</a>
</th><th>
Libraries
</th></tr>
<tr class="dark"><td valign="top">
<tt>gb.compress.bzlib2</tt>
</td><td valign="top">
<tt>libbz2.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.compress.zlib</tt>
</td><td valign="top">
<tt>libz.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.db.mysql</tt>
</td><td valign="top">
<tt>libmysqlclient.so</tt> <tt>libz.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.sqlite</tt>
</td><td valign="top">
<tt>libsqlite.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.net.curl</tt>
</td><td valign="top">
<tt>libcurl.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.qt</tt>
</td><td valign="top">
<tt>libqt-mt.so.3</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.qt.kde</tt>
</td><td valign="top">
All KDE libraries
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.sdl</tt>
</td><td valign="top">
<tt>libSDL.so</tt> <tt>libSDL_mixer.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.xml.libxml</tt>
</td><td valign="top">
<tt>libxml-2.0</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.xml.libxml.xslt</tt>
</td><td valign="top">
<tt>libxslt</tt>
</td></tr>
</table>
<p>
<h3><a href="def/gambas+en">Gambas</a> 1.9.x (development version)</h3>
<p>
<table class="table" border="0" bordercolor="#000000" cellpadding="4" cellspacing="0">
<tr><th>
<a href="comp/gb/components+en">Components</a>
</th><th>
Libraries
</th></tr>
<tr class="dark"><td valign="top">
<tt>gb.compress.bzlib2</tt>
</td><td valign="top">
<tt>libbz2.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.compress.zlib</tt>
</td><td valign="top">
<tt>libz.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.corba</tt>
</td><td valign="top">
<tt>libACE.so</tt> <tt>libomniORB4.so</tt> <tt>libomniDynamic4.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.crypt</tt>
</td><td valign="top">
<tt>libcrypt.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.db.firebird</tt>
</td><td valign="top">
<tt>libibpp.so</tt> <tt>libfbclient.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.gtk</tt>
</td><td valign="top">
All GTK+ libraries
</td></tr>
<tr><td valign="top">
<tt><a href="comp/gb.gtk.svg+en">gb.gtk.svg - GTK+ SVG loader component</a></tt>
</td><td valign="top">
<tt>librsvg2.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.ldap</tt>
</td><td valign="top">
<tt>libldap.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.net.curl</tt>
</td><td valign="top">
<tt>libcurl.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.opengl</tt>
</td><td valign="top">
<tt>libGL.so</tt> <tt>libGLU.so</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>libpoppler.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.qt</tt>
</td><td valign="top">
<tt>libqt-mt.so.3</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.qt.kde</tt>
</td><td valign="top">
All KDE libraries
</td></tr>
<tr><td valign="top">
<tt>gb.sdl</tt>
</td><td valign="top">
<tt>libSDL.so</tt> <tt>libSDL_image.so</tt> <tt>libGL.so</tt> <tt>libGLU.so</tt>
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.sdl.sound</tt>
</td><td valign="top">
<tt>libSDL.so</tt> <tt>libSDL_mixer.so</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.v4l</tt>
</td><td valign="top">
<tt>libjpeg.so</tt> <tt>libpng.so</tt> Video4Linux >= 2.0
</td></tr>
<tr class="dark"><td valign="top">
<tt>gb.xml</tt>
</td><td valign="top">
<tt>libxml-2.0</tt>
</td></tr>
<tr><td valign="top">
<tt>gb.xml.xslt</tt>
</td><td valign="top">
<tt>libxslt</tt>
</td></tr>
</table>
<p>
<div class="warning"><table class="none" border="0"><tr><td width="40" valign="top"><img border="0" src="../img/warning.png" align="center"></td><td valign="top">
And <b>do not forget</b> to install all related development packages!
</td></tr></table></div>
<p>
Try to always use a recent version of these libraries.
<p>
You must <a href="def/compile+en">compile</a> <a href="comp/gb/gb+en">gb</a>.qt and <a href="comp/gb/gb+en">gb</a>.qt.ext components to have a working development
environment.
<p>
Qt 3.2 is now required because of one Qt function that was missing in older
versions of Qt. <a href="def/gambas+en">Gambas</a> will <a href="def/compile+en">compile</a> with Qt 3.1, but the function <a href="comp/gb.qt/picture+en">Picture</a>.Copy()
will fail in some case. <a href="def/gambas+en">Gambas</a> does not <a href="def/compile+en">compile</a> with previous versions of Qt.
<p>
You must have the right to write to <tt>/tmp</tt>, otherwise <a href="def/gambas+en">Gambas</a> will not work.
<p>
This package was done with the following versions of GNU tools:
<ul>
<li><tt>automake</tt> 1.9.4
<li><tt>autoconf</tt> 2.59
<li><tt>libtool</tt> 1.5.12 (this tool is not required as it is included in the package)
<p>
</ul>

Each sub-directory of this source package is actually independent. You can
configure, make and install each of them independently.
<p>

<h2>How To <a href="def/compile+en">compile</a> And Install <a href="def/gambas+en">Gambas</a>?</h2>
<p>
<h3>Check installation</h3>
<p>
First, check that you installed all the needed libraries, and
especially all the development packages
<p>
<h3>Source package configuration</h3>
<p>
When you are sure that everything is installed, type the following
magic sentences in a shell.
<p>
<tt>'#'</tt> represents your shell prompt, and <tt>'...'</tt> are the
messages printed during the configuration and compilation.
<p>
This command analyzes the system and configure the package:
<p>
<pre class="code"># ./configure -C
...
</pre><p><p>
If a library or a development package is missing, then you will be
warned that some components are disabled. You must read all the configure output
to find the lines beginning with &quot;warning&quot; to know what is missing.
<p>
<div class="warning"><table class="none" border="0"><tr><td width="40" valign="top"><img border="0" src="../img/info.png" align="center"></td><td valign="top">
There are more 'configure' specific explanations in the <tt>INSTALL</tt> file.
I invite you to read them.
</td></tr></table></div>
<p>

<h3>Compilation</h3>
<p>
If everything is configured without error, then run this command to <a href="def/compile+en">compile</a> the program:
<p>
<pre class="code"># make
...
</pre><p><p>
<h3>Installation</h3>
<p>
If everything compiles without error, then enter this command to install everything:
<p>
<div class="warning"><table class="none" border="0"><tr><td width="40" valign="top"><img border="0" src="../img/info.png" align="center"></td><td valign="top">
You must be <tt>root</tt> to install <a href="def/gambas+en">Gambas</a> on your system.
</td></tr></table></div>
<p>
<pre class="code"># su -c "make install"
Password: <Type the root password here>
...
</pre><p><p>
<h3>Troubleshooting</h3>
<p>
If you did several successive compilations, and if something fails during
all this process, you can try to type the following command before running <tt>./configure</tt> again:
<p>
<pre class="code"># ./reconf
</pre><p><p>
If it does not work, I need to know what happened exactly.
To do so, type the following command :
<p>
<pre class="code"># ( ./configure; make; make install ) > output.txt 2>&1
</pre><p><p>
And send me the file &quot;output.txt&quot; by mail, with every other
detail about your computer and your distribution you find
useful.
<p>
<h3>Running <a href="def/gambas+en">Gambas</a></h3>
<p>
If everything was fine, type &quot;gambas2&quot; to run the development
environment.
<p>
Enjoy it !
<p>
<h2>How to <a href="def/compile+en">compile</a> and install <a href="def/gambas+en">Gambas</a> for packaging it?</h2>
<p>
You must play with the <tt>prefix</tt> make variable when doing the installation.
<p>
You <a href="def/compile+en">compile</a> it normally:
<pre class="code"># cd gambas2-X.YY
# ./configure
# ./make
</pre><p><p>
Then you install it in a location different from the root this way:
<pre class="code"># make prefix=~/myroot
</pre><p><p>
Then you get all installed <a href="def/gambas+en">Gambas</a> files, but inside your home directory,
in the <tt>myroot</tt> sub-directory.

</div>
</body>
</html>

