Editor M.Erdmann
29.1.2005
Abstract
The objective of the GNADE project is to provide various packages which are allowing Ada 95 applications to access relational data base procducts, mainly SQL RDBMS.
This release provides correction fixes for the common build procedure for windows (dos based), cygwin based and other *nix systems and a new version of the mysql bindings.
Additionaly the use of the GPS system of ACT.com has been taken into account, which means for each component a centralized gps project files has been created (see documentation).The blob handling for the mysql bindings has been changed.
Features of the Release:
This release of the GNADE project is intended for building with GNAT (the GNU Ada compiler) on the platforms Linux, Solaris and Windows NT/95/2000.
The GNU Public License (GPL) applies with the following extension to all components of this release
As a special exception, if other files instantiate generics from GNADE Ada units, or you link GNADE Ada units or libraries with other files to produce an executable, these units or libraries do not by itself cause the resulting executable to be covered by the GNU General Public License. This exception does not however invalidate any other reasons why the executable file might be covered by the GNU Public License.
The documentation has been put under the Free GNU Documentation License.
The authors and copyright holders of the GNADE project are:
Jürgen Pfeifer | juergen.pfeifer@gmx.net | |
Michael Erdmann | Michael.Erdmann@snafu.de | |
Sune Falck | sunef@hem.passagen.se | |
Julio Cano | julius_bip@yahoo.com | |
Dimitry Anisimikov | anisimkov@yahoo.com | |
François Fabien | fr.fabien@infonie.fr | |
Stephen Leake | stephen_leake@acm.org | |
Denis Chalon | denis.chalon@itris.fr | |
Bon Lam | c.lam@student.utwente.nl |
Special regards to the following persons which have contributed to the project:
Pascal Obry | p.obry@wanadoo.fr |
James Hopper | jhopper@woh.rr.com |
Vasile V. Alaiba | alaiba@ozland.ro |
Andreas Almroth | andreas@almroth.com |
Patrice Freydiere | frett27@free.fr |
Bug Reports | http://sourceforge.net/projects/gnade | M.Erdmann |
GNADE Discussions | http://lists.sourceforge.net/lists/listinfo/gnade-develop | M.Erdmann |
Project Page | http://gnade.sourceforge.net/ http://sourceforge.net/projects/gnade |
M.Erdmann |
Dev. Coordination | Michael.Erdmann@snafu.de | Michael Erdmann |
Feature Req, | Short Description | Version | Status |
---|---|---|---|
540161 | Exception in statements | 1.3 | complete |
552327 | Support of gnat 3.14 | 1.3.3 | complete |
563921 | Explicit Database Connection | 1.3.4b | complete |
590779 | Preprocessor invokation | 1.3.7 | complete |
591707 | pkg-config support | 1.3.7a | complete (see Notes) |
688243 | Support of OS/X | 1.4.2 | complete |
Note 1- If pkg-config is found on a system, the systemwide installation script will install the package descriptor in the path which is given in the file etc/config.site:
site_pkgconfig_path=<your path>
If nothing is given /usr/local/lib/pkgconfig is assumed.
Even the GNADE project except for the native data base bindings is expected to work with all ODBC compliant data base products. The following products are known to work with GNADE assuming, that you are using the correct driver manager.
Component | Description | Version | OS | Distribution/Source of the release |
---|---|---|---|---|
PostgreSQL | PostgreSQL Database | 7.0.3 7.2 |
Linux - Redhat 7.0 Linux - SuSe 7.0 Solaris Linux - Debian 2.2, 3.0 Windows NT/2000 |
www.postgresql.org |
Mimer | Mimer SQL RDBMS | 8.2(.4G) | Solaris Linux Windows NT | www.mimer.com |
9.2 |
Linux - Suse 9.1 Windows XP |
www.mysql.com | ||
MySQL | MySQL Database MyODBC | 3.23.22 2.50.36-1 |
Linux | www.mysql.com |
3.23.35a 2.50.36 |
Windows 2000 | www.mysql.com | ||
3.23.47 3.51.02 |
Windows 98 | www.mysql.com | ||
MS SQL Server | 7.0 | Windows 2000 | Microsoft | |
SQL Server 2000 | Windows 2000 | Microsoft | ||
Oracle | Lite | 8i | Windows 95 | Oracle |
SQLite | SQLite emb. Database | 2.8.2-1 | Linux | www.sqlite.org |
The GNADE project installation procedure provides for theses product test data bases. If your data base is not listed below, the GNADE project will be very likely usable but the test data base has to be installed manually.
The following Driver Managerare known to work with this and/or previous releases:
Component | Description | Version | Operating System | Comments |
---|---|---|---|---|
unixODBC | ODBC Driver Manager | 2.2.3 | Linux | www.unixodbc.org |
2.0.5 | Solaris 8 | www.unixodbc.org | ||
2.1.1-7 | Linux Debian | www.unixodbc.org | ||
MS ODBC | ODBC Driver Manager | 3.5.10 | Windows 95, 98 | Microsoft |
The iODBC 3.04 implementation on Solaris seems to have a problem with the handling of cursor states. It should not be used.
Database Product | Version | Comments |
---|---|---|
PostgreSQL | 7.03 | Thin binding |
MySQL | 4 | Thick binding |
Oracle OCI | 8i lite | Oracle Call Interface |
SQLite | 2.8.2 and higher |
Beside of the ODBC and the native bindings, the project provides add on components as:
ADBC
The ADBC interface is a highly experimental package which works on top of PostgreSQL and MySQL. Since the interface is completly unstable it is not recommentded to use this interface in application at the current point in time. Since the interest in the Ada community was quite low it is questionable whether the development of this interface will be continued.
Contributed Tools
Tools are not part of this release. Constributed code is released as separate packages since they do not depend on a certain version of the GNADE environment.
Compiler | Version | Operating Systems |
---|---|---|
GNAT | 3.13p | Linux, Windows |
GNAT | 3.14p | Linux (Debian, Redhat, SuSe), Solaris 8, Windows |
GNAT | 3.15p | |
GNAT | 3.15a | Win98, Windows XP, Linux |
This section contain an overview of known, fixed problems and restrictions (limitations). Please report all errors via the error report system at the source forge project page.
Problems reported earlier then 1.5.0 are listed in the release note 1.5.2.
Bug Ref. | Fixed in | Short Description | Comments |
---|---|---|---|
805896 | 1.5.0 | gnade config creates useless -l | gnade-config |
813238 | 1.5.0 | odbc.ini and odbcinist.ini nor correctly placed | Makefile |
813239 | 1.5.0 | make of the adbc sample failes | Makefile |
813243 | 1.5.0 | snadalone example does not compile | Makefile |
813615 | 1.5.0 | sqlite sample does not compile correctly | Makefile |
813617 | 1.5.0 | distribution build for sqlite does not work | MANIFEST |
805896 | 1.5.1 | gnade config creates useless -l | configure |
813238 | 1.5.1 | odbc.ini and odbcinist.ini nor correctly placed | install |
813239 | 1.5.1 | make of the adbc sample failes | Makefile |
813243 | 1.5.1 | snadalone example does not compile | Makefile |
813615 | 1.5.1 | sqlite sample does not compile correctly | Makefile |
813617 | 1.5.1 | distribution build for sqlite does not work | MANIFEST |
865741 | 1.5.1 | Useless debug inserted | esql_parser |
865742 | 1.5.1 | Excpetion message not shown | esql_parser |
917392 | 1.5.2 | Version switch for gnade-config does not work | gnade-config |
917382 | 1.5.2 | gnade-config in rpm provides wrong path | gnade-config |
916707 | 1.5.2 | Architecture code wring on windows platform | Makefile |
916689 | 1.5.2 | win32 was missing in windows installer | gnade.iss |
914050 | 1.5.2 | MySQL package does not compile | Makefile |
916689 | 1.5.3 | win32 was missing in windows installer | gnade.iss |
916691 | 1.5.3 | Architecture code wring on windows platform | configure.bat |
917382 | 1.5.3 | gnade-config in rpm provides wrong path | gnade-config |
917392 | 1.5.3 | Version switch for gnade-config does not work | gnade-config |
920461 | 1.5.3 | Patch: Native Mysql blob enhancement | mysql bindings |
914918 | 1.5.3 | Patch: GNADE 1.5.1: All native bindings laways build | Makefiles |
758949 | 1.5.3 | Patch: GNAT -gnaty Fixes for OCI Binding | OCI bindings |
920081 | 1.5.3 | standalone project not at the correct place | |
920080 | 1.5.3 | Standalon project file contains wronmg path | |
920061 | 1.5.3 | esql error messages do not comply to the standards | scanner.adb |
919476 | 1.5.3 | SQL tool online help is wrong | sql.adb |
958153 | 1.5.3a | gnatlink fails | refere to fix: 962705 |
958841 | 1.5.3a | MySQL:Blob handling looses memory | Free added |
958852 | 1.5.3a | make dist does not build from dist. file | Makefile |
962705 | 1.5.3a | --no-odbc switch does not work any more | configure.in |
962706 | 1.5.3a | Samples of not build bindings are created | Makefile |
962709 | 1.5.3a | procompiled documentation is missing 1.5.3 | Makefile |
963456 | 1.5.3a | documentation is missing in 1.5.3 tar ball | duplicate 962709 |
963467 | 1.5.3a | clean does not work on linux | srcuinst.sh.in |
963615 | 1.5.3a | dcumentation is build even openjade it not available | configure.in |
958841 | 1.5.3b | MySQL:Blob handling looses memory | gnu-db-mysql.ads |
1022959 | 1.5.3b | Memory leak in Gnu.Db.Postgresql.Database | postgres bindings |
1089954 | 1.5.3b | PROGRAM error in Finalize procedure | gnu.db.sqlite |
Bug | Short Description | Comments |
---|---|---|
1009569 | Constraint_Error in samples/odbc/demo con_attr | Currently unclear, may be the debian release is based on old sources?. |
Ename : Char (1..21); Dept_Name : Char (1..21); Location : Char (1..21);
The GNADE code and the documentation is distributed in the following archive/package files:
File | Contents |
---|---|
gnade-src-X.Y.Z.tar.gz | Complete GNADE source code distribution GNU compressed tar file |
gnade-src-X.Y:Z.zip | Complete GNADE source code distribution as ZIP file. |
gnade-X.Y.Z-xx.src.rpm | Source rpm used to build the binary packages |
gnade-X.Y.Z-xx.i686.rpm | Linux binaries and executables in RPM format. |
setup-gnade-X.Y.Z.exe | Setup for Windows with executables, libraries and source code requiered to clone the windows installment. Please note, that not all components of the source tree are available in this installment. |
The software may be obtained from the CVS (pls. refere to the details at the project page) using the tag GNADE_1_5_3a.
The installation of this software requires the following components:
Component | Version | Origin |
---|---|---|
gzip | 1.2.4 | GNU |
unzip | 5.42 | Infozip |
zip | 2.2 | Infozip |
tar | - | GNU or native |
autoconf | 2.52 | GNU |
gmake | 3.79.1 | GNU |
gnat | 3.14p, 3.13p | ACT distribution (ftp://cs.ny.edu/) |
gawk | 3.0.3 | GNU |
rpm | www.rpm.org (only if rpm is to be installed) | |
innosetup | 4.1.5.1 | www.innosetup.org (windows) |
$ gunzip -c gnade-src-<version>.tar.gz | tar xvf - $ cd gnade-src-<version> $ ./configure [ --sampledb=<rdbms> [ native(s) ]
This allows you to specify for which RDBMS product you wish to create a sample data bases and for which RDBMS products you wish to build native bindings. If nothing is given only the ODBC based parts will be build.
The following RDBMS prducts are supported.
If the value is omitted because your data base product is not listed,, all subsequent steps regarding the data base installation may be skipped and you have to install the test database manually.
Depending on the installation of the data base you have specified in the configure script command, you have to execute the following step either by using a DBA account our you may use your own user account
$ su ..dba.. $ gmake createuser
After the database and the database user has been configured, the ODBC interface has to be configured. The directory ./samples/sample_db contains sample files for the unixODBC driver manager. The files odbc.ini.sample odbcinst.ini.sample have to be copied to /etc/odbc.ini and /etc/odbcinst.ini.sample.
After the creation of the data base user, the final build may be done by:
$ gmake
Test code is located in the directory ./samples. In order to test the functionality of the ODBC interface use the examples in ./odbc or ./esql.
In order to install the build products on your system login as root and execute the following command in the installation directory of this package:
make install
The makefile will run a script which installs all components on your system that they are available to other users as well. The target directories are specified in the etc/site.config file.
In case of upgrading from 1.4.1 to a higer version please perform the following steps prio to the installation of the package:
cd /usr/lib ; rm libgnade*
cd /usr/bin; rm gesql gnade-config
cd /usr/lib/ada; rm -rf gnade
or if you have installed the rpm package, simply run:
rpm -e <gnade-package>
Include the new location of the GNADE environment both in the PATH variable and in the loader configuration:
In /etc/profile.local add
PATH=$PATH/usr/local/gnade/bin ; export PATH
In/etc/ld.so.confadd the line /usr/local/gnade/lib and execute
ldconfig -v
The installation of the executable package done by executing the following command:
rpm -ivh gnade-1.4.0-4.i686.rpm.
This will install the production results at the following places in the filesystem:
libraries - /usr/lib/libgnade*
documentation - /usr/share/doc/gnade-1.4.0
binaries - /usr/bin
Since this is the first rpm release no deinstallation has to be done.
The GNADE project provides tools which are add on packages to the GNADE source packages. The following tools are installable with this distribution:
For the installation please follow the procedure below after you have installed the GNADE source release.
In order to install the tool run as root in the installation directory of GNADE the command:
make install
Since the installation procedure installs also the GNADE release ensure that the current status is usable for systemwide installation.
Generally speeking, the GNADE source code tree is not intended for application development. The applications should always be developed in the user space of the developer or the development team. A sample is provided under samples/standalone.
If this installation procedure fails you may use the Makefile in the directory ./win32. This will require some manual adoptions but it is a starting point.
In any case if you encounter a problem please contact the GNADE team asap.
Not applicable, see systemwide installation.
The package does not support the automatic installation of a test data base. This needs to be done manually.
This is not explicitly requiered. The windows installer provides all libraries, include files and binaries for application development. The sources are part of the installation, but they need not to be compiled.
Download the gnade-setup-X.Y.Z.exe of Version 1.5.3 into any directory and exetute it. Per default the GNADE will be installed on C:\GNADE. After installing the variable GNADE_BASE will be added to your environment. In order to access the executables of GNADE add the following string to your path:
PATH=.....;%GNADE_BASEPATH%/win32-bin;..
The installation provides the following components:
The SDK contains all libraries and package files in order to develop odbc based applications by writing Ada 95 code using odbc or by means of the embedded SQL preprocessor gesql.
This is a set of tools which should work with any RDBMS product providing an ODBC interface. It allowes to export/import tables and to execute queries.
In difference to the Linux implementation all native bindings are build and no automatic database setup is done. In order to build the samples figure out which database products are available and install the apropriate samples from source/samples. In order to do so you need to modify the following configuration variable in make.conf.win32 by removing the not applicable products.
NATIVE_BINDINGS=odbc mysql sqlite postgres oci
After you have changed this files you need to run the configure.bat script.
Projectfiles and GPS
If you intend to use GPS or to include the centralized gnade project file into your project set in you loca environment the following variables:
ADA_PROJECT_PATH=%ADA_PROJECT_PATH%;%GNADE_BASEPATH%
This allows GNAT and GPS to access the GNADE specific project file.
The cygwin environment is understood as an GNU build environment, which mean, the same procedures are applicable as in case of the *nix based installations, except for the following limitations:
$ gunzip -c gnade-src-<version>.tar.gz | tar xvf - $ cd gnade-src-<version> $ ./configure
Not applicable
After the creation of the data base user, the final build may be done by:
$ make
In order to install the build products on your system login as root and execute the following command in the installation directory of this package:
make install
The makefile will run a script which installs all components on your system that they are available to other users as well. The target directories are specified in the etc/site.config file.
During installation a startup script will be installed at /etc/profile.d which adjusts the path in such a way that the executable will be available in the default login environment.
This is a todo.
Not applicable.
The example development environment ist located under examples/standalone.
$Id: note_1.5.3b.html,v 1.4 2005/01/29 15:46:02 merdmann Exp $