comp.lang.ada
 help / color / mirror / Atom feed
* A bug in gnat/gcc 3.3.3?
@ 2005-01-04 15:58 Adrian Hoe
  2005-01-04 16:13 ` Duncan Sands
                   ` (3 more replies)
  0 siblings, 4 replies; 31+ messages in thread
From: Adrian Hoe @ 2005-01-04 15:58 UTC (permalink / raw)


Hi and Happy New Year everyone :-),

I tried to compile the dgate.adb in GtkAda-2.2.1 with gnat/gcc 3.3.3
under SuSE Linux 9.1 Pro and I got an error:

% make dgate
gnatmake: objects up to date.
make -C glade
make[1]: Entering directory
`/home/byhoe/download/GtkAda-2.2.1/src/glade'
make[1]: Leaving directory
`/home/byhoe/download/GtkAda-2.2.1/src/glade'
gcc -c -Iglade -O2 -gnatn -gnatws dgate.adb
+===========================GNAT BUG
DETECTED==============================+
| 3.3.3 (SuSE Linux) (i586-suse-linux-gnu) Gigi abort, Code=411
|
| Error detected at dgate.adb:76:48
|
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.
|
| Include the entire contents of this bug box in the report.
|
| Include the exact gcc or gnatmake command that you entered.
|
| Also include sources listed below in gnatchop format
|
| concatenated together with no headers between files.
|
+==========================================================================+


In dgate.adb

...
procedure Register_Signals (N : Node_Ptr) is
P       : Node_Ptr;
Name    : String_Ptr;
Handler : String_Ptr;
S       : String_Access;

begin
if N.Tag.all = "signal" then
Name := Get_Field (N, "name");
Handler := Get_Field (N, "handler");

if Name /= null then
S := new String '(Name.all & ':' & Handler.all);   -- Line
76
-- Col 48
...


In line 128 of dgate.adb, a compilation error indicated that no Init
had been defined in package Glade. Below is the full source file for
dgate.adb.

-----------------------------------------------------------------------
--                   DGate - GtkAda Components                       --
--                                                                   --
--                    Copyright (C) 1999-2000                        --
--        Emmanuel Briot, Joel Brobecker and Arnaud Charlet          --
--                                                                   --
-- Dynagate is free software;  you can redistribute it and/or modify --
-- it under the terms of the GNU General Public License as published --
-- by the Free Software Foundation; either version 2 of the License, --
-- or (at your option) any later version.                            --
--                                                                   --
-- This program is  distributed in the hope that it will be  useful, --
-- but  WITHOUT ANY WARRANTY;  without even the  implied warranty of --
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU --
-- General Public License for more details. You should have received --
-- a copy of the GNU General Public License along with this library; --
-- if not,  write to the  Free Software Foundation, Inc.,  59 Temple --
-- Place - Suite 330, Boston, MA 02111-1307, USA.                    --
-----------------------------------------------------------------------

--  Parse a Glade's XML project file, declare the required callbacks
and
--  create the widgets associated with the project file.
--  DGate can very easily be used in conjunction with GLADE to test
during
--  the development.

with Ada.Command_Line; use Ada.Command_Line;
with Ada.Text_IO; use Ada.Text_IO;
with Glib.Glade;
with Gtk; use Gtk;
with Glade; use Glade;
with Glade.XML; use Glade.XML;
with Gtk.Main;
with DGate_Callbacks;
with System;
with Unchecked_Conversion;
with GNAT.OS_Lib;
with GNAT.Command_Line; use GNAT.Command_Line;

procedure DGate is

use Glib;
use Glib.Glade;
use Glib.Glade.Glib_XML;

package My_Timeout is new Gtk.Main.Timeout (Integer);

type String_Access is access all String;
for String_Access'Size use Standard'Address_Size;

N        : Node_Ptr;
Id       : Gtk.Main.Timeout_Handler_Id;
Timeout  : Guint32 := 0;
Filename : String_Ptr;
XML      : Glade_XML;

function To_Address is new Unchecked_Conversion
(String_Access, System.Address);

procedure Register_Signals (N : Node_Ptr);
--  Call Set_Signal for each signal declared in the N tree.

procedure Usage;

procedure Register_Signals (N : Node_Ptr) is
P       : Node_Ptr;
Name    : String_Ptr;
Handler : String_Ptr;
S       : String_Access;

begin
if N.Tag.all = "signal" then
Name := Get_Field (N, "name");
Handler := Get_Field (N, "handler");

if Name /= null then
S := new String '(Name.all & ':' & Handler.all);
Signal_Connect
(XML, Handler.all,
DGate_Callbacks.Generic_Callback'Address,
To_Address (S));
return;
end if;
end if;

if N.Child /= null then
Register_Signals (N.Child);
P := N.Child.Next;

while P /= null loop
Register_Signals (P);
P := P.Next;
end loop;
end if;
end Register_Signals;

procedure Usage is
begin
Ada.Text_IO.Put_Line ("Usage: dgate project-file");
end Usage;

begin
if Argument_Count = 0 then
Usage;
else
loop
case Getopt ("timeout:") is
when ASCII.NUL => exit;

when 't' =>
if Full_Switch = "timeout" then
Timeout := Guint32'Value (Parameter);
else
raise Program_Error;
end if;

when others =>
raise Program_Error;         -- cannot occur!
end case;
end loop;

Filename := new String '(Get_Argument);

if not GNAT.OS_Lib.Is_Regular_File (Filename.all) then
Put_Line (Filename.all & " is not a regular file");
return;
end if;

Gtk.Main.Init;
--      Glade.Init;         -- This line is also generate a compilation
error as no Init is defined in package Glade
N := Parse (Filename.all);
Gtk_New (XML, Filename.all);
Register_Signals (N);

if Timeout > 0 then
--  Let the application run for timeout milliseconds and then
quit

Id := My_Timeout.Add (Timeout, DGate_Callbacks.Quit'Access,
0);
end if;

Gtk.Main.Main;
end if;

exception
when Invalid_Switch | Invalid_Parameter =>
Usage;
when others =>
Put_Line
("DGATE: Internal error. Please send a bug report with the
XML");
Put_Line ("file " & Filename.all & " and the GtkAda version to "
&
"gtkada@ada.eu.org");
end DGate;

Does anyone have an idea about this? I would like to clarify things
before I submit a bug report to gcc.gnu.
Thanks and best regards.
--
Adrian Hoe




^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 15:58 A bug in gnat/gcc 3.3.3? Adrian Hoe
@ 2005-01-04 16:13 ` Duncan Sands
  2005-01-04 16:32   ` Adrian Hoe
  2005-01-04 18:01 ` Martin Krischik
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 31+ messages in thread
From: Duncan Sands @ 2005-01-04 16:13 UTC (permalink / raw)
  To: comp.lang.ada; +Cc: Adrian Hoe

Hi Adrian,

> I tried to compile the dgate.adb in GtkAda-2.2.1 with gnat/gcc 3.3.3

in my experience this version of the compiler works badly.  You are better
off using gnat 3.15p.  If you can, checkout gcc from CVS at the pre-ssa
tag (warning: don't just check out the latest version from CVS, it has lots
of code generation problems).  That version works even better than 3.15p.

All the best,

Duncan.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 16:13 ` Duncan Sands
@ 2005-01-04 16:32   ` Adrian Hoe
  2005-01-06 15:01     ` Martin Krischik
  0 siblings, 1 reply; 31+ messages in thread
From: Adrian Hoe @ 2005-01-04 16:32 UTC (permalink / raw)


Hi Duncan,

So far, I've not encountered any problems with 3.3.3. But I do hear bad
comments about it. Perhaps this bug is one of them and the first I
encountered so far.

Considering to use 3.15p, can I overwrite gnat 3.3.3 with it? Is there
any rpm for SuSE 9.1? I just hate bootstrapping from source and I can
always not getting shared library working.

Thanks.

--
Adrian Hoe




^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 15:58 A bug in gnat/gcc 3.3.3? Adrian Hoe
  2005-01-04 16:13 ` Duncan Sands
@ 2005-01-04 18:01 ` Martin Krischik
  2005-01-05  4:45   ` Adrian Hoe
  2005-01-04 19:16 ` Ludovic Brenta
  2005-01-07 16:22 ` Adrian Hoe
  3 siblings, 1 reply; 31+ messages in thread
From: Martin Krischik @ 2005-01-04 18:01 UTC (permalink / raw)


Adrian Hoe wrote:

> Hi and Happy New Year everyone :-),
> 
> I tried to compile the dgate.adb in GtkAda-2.2.1 with gnat/gcc 3.3.3
> under SuSE Linux 9.1 Pro and I got an error:

To cut it short: 3.3.x is to buggy to work with. The only thing 3.3.x
version are good for is compiling a newer version from the cvs archive.

Maybe you want to read:

http://en.wikibooks.org/wiki/Programming:Ada:Installing

With Regards

Martin
-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 15:58 A bug in gnat/gcc 3.3.3? Adrian Hoe
  2005-01-04 16:13 ` Duncan Sands
  2005-01-04 18:01 ` Martin Krischik
@ 2005-01-04 19:16 ` Ludovic Brenta
  2005-01-05  4:25   ` Adrian Hoe
  2005-01-07 16:22 ` Adrian Hoe
  3 siblings, 1 reply; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-04 19:16 UTC (permalink / raw)


"Adrian Hoe" writes:
> In line 128 of dgate.adb, a compilation error indicated that no Init
> had been defined in package Glade. Below is the full source file for
> dgate.adb.

In Debian, I patched dgate.adb to remove this line; I was getting that
error also with gnat 3.15p.  But gnat 3.15p does not have the bug box.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 19:16 ` Ludovic Brenta
@ 2005-01-05  4:25   ` Adrian Hoe
  2005-01-05 21:19     ` Ludovic Brenta
  0 siblings, 1 reply; 31+ messages in thread
From: Adrian Hoe @ 2005-01-05  4:25 UTC (permalink / raw)


Ludovic Brenta wrote:

> "Adrian Hoe" writes:
> 
>>In line 128 of dgate.adb, a compilation error indicated that no Init
>>had been defined in package Glade. Below is the full source file for
>>dgate.adb.
> 
> 
> In Debian, I patched dgate.adb to remove this line; I was getting that
> error also with gnat 3.15p.  But gnat 3.15p does not have the bug box.
> 

I wonder why line 128:

	Glade.Init;

exist in the first place. Is it purposefully inserted to make building 
from source a nuisance/difficult? There must be a reason for that line 
to exist. Anyone?

Did you not get the error in line 76 with gnat 3.15p?
-- 
Adrian Hoe
m a i l b o x AT a d r i a n h o e . c o m




^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 18:01 ` Martin Krischik
@ 2005-01-05  4:45   ` Adrian Hoe
  2005-01-05  4:59     ` Bobby D. Bryant
                       ` (2 more replies)
  0 siblings, 3 replies; 31+ messages in thread
From: Adrian Hoe @ 2005-01-05  4:45 UTC (permalink / raw)


Martin Krischik wrote:

> Adrian Hoe wrote:
> 
> 
>>Hi and Happy New Year everyone :-),
>>
>>I tried to compile the dgate.adb in GtkAda-2.2.1 with gnat/gcc 3.3.3
>>under SuSE Linux 9.1 Pro and I got an error:
> 
> 
> To cut it short: 3.3.x is to buggy to work with. The only thing 3.3.x
> version are good for is compiling a newer version from the cvs archive.
> 
> Maybe you want to read:
> 
> http://en.wikibooks.org/wiki/Programming:Ada:Installing
> 
> With Regards
> 
> Martin


Is 3.4 less buggy then 3.3.x as suggested in your website?

I agree with you that bootstrapping from source and CVS will not 
necessarily work each time. It is very tedious.

Why not prebuild packages (rpm, tar balls, pkg, etc.) and make available 
for download for a small fee (for the time and trouble the builder has 
invested)? Or, make into CDs and charge for a small fee.

Yes, this is contradict to the idea of free software. But getting the 
right package or right build for one's system is a tedious process.

Why not setup a non-profit org to do this? The fee collected can be 
channeled back to Ada development and as well as Ada promotion? 
Interested? Contact me at my email or website.
-- 
Adrian Hoe
m a i l b o x AT a d r i a n h o e . c o m




^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05  4:45   ` Adrian Hoe
@ 2005-01-05  4:59     ` Bobby D. Bryant
  2005-01-31  4:45       ` Adrian Hoe
  2005-01-05  8:44     ` Martin Krischik
  2005-01-05 12:20     ` Pascal Obry
  2 siblings, 1 reply; 31+ messages in thread
From: Bobby D. Bryant @ 2005-01-05  4:59 UTC (permalink / raw)


On Wed, 05 Jan 2005, Adrian Hoe <AdrianHoe@nowhere.com> wrote:

> Is 3.4 less buggy then 3.3.x as suggested in your website?

FWIW, I've been using 3.4.1 for a couple of months and haven't had
any problems with it.

I tried 3.4.3, but the upgrade kit I used (Gentoo ~x86) apparently did
something to my glibc, so I reverted back to 3.4.1.  That probably isn't
a reflection on 3.4.3 itself.

-- 
Bobby Bryant
Austin, Texas



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05  4:45   ` Adrian Hoe
  2005-01-05  4:59     ` Bobby D. Bryant
@ 2005-01-05  8:44     ` Martin Krischik
  2005-01-05 21:22       ` Ludovic Brenta
  2005-01-05 12:20     ` Pascal Obry
  2 siblings, 1 reply; 31+ messages in thread
From: Martin Krischik @ 2005-01-05  8:44 UTC (permalink / raw)


Adrian Hoe wrote:

> Martin Krischik wrote:
> 
>> Adrian Hoe wrote:
>> 
>> 
>>>Hi and Happy New Year everyone :-),
>>>
>>>I tried to compile the dgate.adb in GtkAda-2.2.1 with gnat/gcc 3.3.3
>>>under SuSE Linux 9.1 Pro and I got an error:
>> 
>> 
>> To cut it short: 3.3.x is to buggy to work with. The only thing 3.3.x
>> version are good for is compiling a newer version from the cvs archive.
>> 
>> Maybe you want to read:
>> 
>> http://en.wikibooks.org/wiki/Programming:Ada:Installing
>> 
>> With Regards
>> 
>> Martin
> 
> 
> Is 3.4 less buggy then 3.3.x as suggested in your website?

Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy and 4.0 is
still fighting with the tree-saa extentsion.

> I agree with you that bootstrapping from source and CVS will not
> necessarily work each time. It is very tedious.

In Linux it is quite strait forward. The 3.3 which comes with most current
distribution will do nicely. Windows is indeed difficult.

> Why not prebuild packages (rpm, tar balls, pkg, etc.) and make available
> for download for a small fee (for the time and trouble the builder has
> invested)? Or, make into CDs and charge for a small fee.

For MinGW there is a nice 3.4.2. Apart from that: Yes I would love that. And
I am prepared to pay as well.

> Yes, this is contradict to the idea of free software. But getting the
> right package or right build for one's system is a tedious process.

Actualy: No! Only source is free in free software. Charging for binaries is
quite common (SuSE, Redhad, Mandrake, etc. pp.)
 
> Why not setup a non-profit org to do this? The fee collected can be
> channeled back to Ada development and as well as Ada promotion?
> Interested? Contact me at my email or website.

Shure I am. BTW: Once you have the setup for Ada it's only a tiny step to
distribute all gcc-core languages.

Martin

-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05  4:45   ` Adrian Hoe
  2005-01-05  4:59     ` Bobby D. Bryant
  2005-01-05  8:44     ` Martin Krischik
@ 2005-01-05 12:20     ` Pascal Obry
  2005-01-05 21:21       ` Ludovic Brenta
  2 siblings, 1 reply; 31+ messages in thread
From: Pascal Obry @ 2005-01-05 12:20 UTC (permalink / raw)



Adrian Hoe <AdrianHoe@nowhere.com> writes:

> Is 3.4 less buggy then 3.3.x as suggested in your website?

Definitly.

> Why not prebuild packages (rpm, tar balls, pkg, etc.) and make available for

What about the Debian package:

   $ apt-get install gnat-34

That's all...

> download for a small fee (for the time and trouble the builder has invested)?
> Or, make into CDs and charge for a small fee.

and it is free. Thanks to Ludovic Brenta for the hard work on packaging the
GNU Ada compiler and libraries for Debian. Of course this is only for Debian,
but building GNAT from sources is quite easy on GNU/Linux anyway.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05  4:25   ` Adrian Hoe
@ 2005-01-05 21:19     ` Ludovic Brenta
  0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-05 21:19 UTC (permalink / raw)


Adrian Hoe writes:
> Ludovic Brenta wrote:
>
>> "Adrian Hoe" writes:
>>
>>>In line 128 of dgate.adb, a compilation error indicated that no Init
>>>had been defined in package Glade. Below is the full source file for
>>>dgate.adb.
>> In Debian, I patched dgate.adb to remove this line; I was getting
>> that
>> error also with gnat 3.15p.  But gnat 3.15p does not have the bug box.
>>
>
> I wonder why line 128:
>
> 	Glade.Init;
>
> exist in the first place. Is it purposefully inserted to make building
> from source a nuisance/difficult? There must be a reason for that line
> to exist. Anyone?

I don't know for sure but it appears to be cruft left over from
glade1.  The best place to ask is the GtkAda mailing list.

> Did you not get the error in line 76 with gnat 3.15p?

No, I didn't.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05 12:20     ` Pascal Obry
@ 2005-01-05 21:21       ` Ludovic Brenta
  0 siblings, 0 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-05 21:21 UTC (permalink / raw)


Pascal Obry writes:
> Adrian Hoe writes:
>
>> Is 3.4 less buggy then 3.3.x as suggested in your website?
>
> Definitly.
>
>> Why not prebuild packages (rpm, tar balls, pkg, etc.) and make
>> available for
>
> What about the Debian package:
>
>    $ apt-get install gnat-34

Typo correction: apt-get install gnat-3.4

This package provides shared libraries, unlike gnat-3.3 and gnat-3.2
which are also available (but, of course, not recommended).

> That's all...
>
>> download for a small fee (for the time and trouble the builder has
>> invested)?  Or, make into CDs and charge for a small fee.
>
> and it is free. Thanks to Ludovic Brenta for the hard work on
> packaging the GNU Ada compiler and libraries for Debian. Of course
> this is only for Debian, but building GNAT from sources is quite
> easy on GNU/Linux anyway.
>
> Pascal.

Thanks, Pascal.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05  8:44     ` Martin Krischik
@ 2005-01-05 21:22       ` Ludovic Brenta
  2005-01-05 21:47         ` Duncan Sands
                           ` (3 more replies)
  0 siblings, 4 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-05 21:22 UTC (permalink / raw)


Martin Krischik wrote:
> Adrian Hoe wrote:
>> Is 3.4 less buggy then 3.3.x as suggested in your website?
> 
> Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy and
> 4.0 is still fighting with the tree-saa extentsion.

I differ with this.  The quality of GCC 3.4 is similar to, but not
significantly better than that of GNAT 3.15p.  Also, 3.4 is much
slower and memory-hungry than 3.15p (it may or may not matter to you
but it's a fact). More importantly, GCC 3.4 does not have ASIS or
GLADE.  Until this changes, I still think that GNAT 3.15p is the best
choice as the foundation of a complete Ada development and runtime
environment.  It is important to use only one version of GNAT, because
this makes it possible to distribute programs and shared libraries
that are binary-compatible with each other.  The lack of ASIS and
GLADE for GCC 3.4 restricts the set of packages that can be made in
this way.

The one area where GCC 3.4 is better than GNAT 3.15p is mixed-language
development in Ada and C++ (Ada and C work nicely in 3.15p though).

I agree that 3.3 is buggy and 4.0 not ready yet.

>> Why not prebuild packages (rpm, tar balls, pkg, etc.) and make
>> available for download for a small fee (for the time and trouble
>> the builder has invested)? Or, make into CDs and charge for a small
>> fee.
> 
> For MinGW there is a nice 3.4.2. Apart from that: Yes I would love
> that. And I am prepared to pay as well.

Debian has prebuilt packages for gnat 3.15p, gnat-3.2, gnat-3.3 and
gnat-3.4.  The packages conflict with each other (i.e. you can install
only one of them), because they all provide /usr/bin/gnatmake and
friends.  gnat and gnat-3.4 even provide shared Ada libraries.

>> Yes, this is contradict to the idea of free software. But getting
>> the right package or right build for one's system is a tedious
>> process.
> 
> Actualy: No! Only source is free in free software. Charging for
> binaries is quite common (SuSE, Redhad, Mandrake, etc. pp.)

And the FSF does not distribute binaries of most of its popular
software, e.g. GCC, GDB, or ddd.  Binary distributions are often left
as an exercise to the reader :)

>> Why not setup a non-profit org to do this? The fee collected can be
>> channeled back to Ada development and as well as Ada promotion?
>> Interested? Contact me at my email or website.
> 
> Shure I am. BTW: Once you have the setup for Ada it's only a tiny
> step to distribute all gcc-core languages.

Such non-profit organisations already exist, and you can get CD's from
them today.  Gentoo, Debian and AIDE (for Windows) come to mind.  Even
better: you can contribute to improve them.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05 21:22       ` Ludovic Brenta
@ 2005-01-05 21:47         ` Duncan Sands
  2005-01-05 22:22         ` Florian Weimer
                           ` (2 subsequent siblings)
  3 siblings, 0 replies; 31+ messages in thread
From: Duncan Sands @ 2005-01-05 21:47 UTC (permalink / raw)
  To: comp.lang.ada; +Cc: Ludovic Brenta

Hi Ludovic,

> I differ with this.  The quality of GCC 3.4 is similar to, but not
> significantly better than that of GNAT 3.15p.  Also, 3.4 is much
> slower and memory-hungry than 3.15p (it may or may not matter to you
> but it's a fact). More importantly, GCC 3.4 does not have ASIS or
> GLADE.  Until this changes, I still think that GNAT 3.15p is the best
> choice as the foundation of a complete Ada development and runtime
> environment.  It is important to use only one version of GNAT, because
> this makes it possible to distribute programs and shared libraries
> that are binary-compatible with each other.  The lack of ASIS and
> GLADE for GCC 3.4 restricts the set of packages that can be made in
> this way.

gcc at the pre-ssa CVS tag is pretty good.

Ciao,

Duncan.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05 21:22       ` Ludovic Brenta
  2005-01-05 21:47         ` Duncan Sands
@ 2005-01-05 22:22         ` Florian Weimer
  2005-01-06  0:54           ` Adrian Hoe
  2005-01-06 19:17           ` Ludovic Brenta
  2005-01-06  1:54         ` Bobby D. Bryant
  2005-01-06 10:28         ` Martin Krischik
  3 siblings, 2 replies; 31+ messages in thread
From: Florian Weimer @ 2005-01-05 22:22 UTC (permalink / raw)


* Ludovic Brenta:

>> Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy and
>> 4.0 is still fighting with the tree-saa extentsion.
>
> I differ with this.  The quality of GCC 3.4 is similar to, but not
> significantly better than that of GNAT 3.15p.  Also, 3.4 is much
> slower and memory-hungry than 3.15p (it may or may not matter to you
> but it's a fact).

But this comparison is not fair because you are backporting fixes to
GNAT 3.15p.  No one is doing this for GNAT in GCC 3.4. 8-)

Due to the NPTL problem, plain GNAT 3.15p is probably not so useful
for many people with recent GNU/Linux distributions.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05 22:22         ` Florian Weimer
@ 2005-01-06  0:54           ` Adrian Hoe
  2005-01-06 10:26             ` Martin Krischik
  2005-01-06 19:07             ` Ludovic Brenta
  2005-01-06 19:17           ` Ludovic Brenta
  1 sibling, 2 replies; 31+ messages in thread
From: Adrian Hoe @ 2005-01-06  0:54 UTC (permalink / raw)



Florian Weimer wrote:
> * Ludovic Brenta:
>
> >> Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy
and
> >> 4.0 is still fighting with the tree-saa extentsion.
> >
> > I differ with this.  The quality of GCC 3.4 is similar to, but not
> > significantly better than that of GNAT 3.15p.  Also, 3.4 is much
> > slower and memory-hungry than 3.15p (it may or may not matter to
you
> > but it's a fact).
>
> But this comparison is not fair because you are backporting fixes to
> GNAT 3.15p.  No one is doing this for GNAT in GCC 3.4. 8-)
>
> Due to the NPTL problem, plain GNAT 3.15p is probably not so useful
> for many people with recent GNU/Linux distributions.

Could you elaborate further your last statement? Why do you think
gnat3.15p is not so useful with recent GNU/Linux distribution?

Also, does gnat3.15p work well with gcc3.3.3?

If I'm going to bootstrap gnat 3.15p with gnat/gcc3.3.3, wouldn't the
buggy 3.x affect the compilation? Has anyone tried to bootstrap
gnat3.15p with gnat/gcc3.x before?

Honestly, I have compiled thousands of Ada code (previously compiled
with gnat3.15p on Caldera and SuSE) with gnat/gcc 3.3.3 and had no
problems and they run well until this bug box appeared when I tried to
compile dgate.adb. I had no problem compiling GtkAda-2.2.1 at all. And
the GtkAda installed and works perfectly on my SuSE 9.1pro.

Another issue is that gnat3.15p has been out there for a long time and
seems no upgrade from gnat/libre. Do we consider gnat/gcc 3.x an
upgrade?

Adrian Hoe




^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05 21:22       ` Ludovic Brenta
  2005-01-05 21:47         ` Duncan Sands
  2005-01-05 22:22         ` Florian Weimer
@ 2005-01-06  1:54         ` Bobby D. Bryant
  2005-01-06 10:28         ` Martin Krischik
  3 siblings, 0 replies; 31+ messages in thread
From: Bobby D. Bryant @ 2005-01-06  1:54 UTC (permalink / raw)


On Wed, 05 Jan 2005, Ludovic Brenta <ludovic.brenta@insalien.org> wrote:

> Martin Krischik wrote:
>> Adrian Hoe wrote:
>>> Is 3.4 less buggy then 3.3.x as suggested in your website?
>> 
>> Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy and
>> 4.0 is still fighting with the tree-saa extentsion.
> 
> I differ with this.  The quality of GCC 3.4 is similar to, but not
> significantly better than that of GNAT 3.15p.

I find that I never get the "internal compiler error" blowups that were
the bane of my life under 3.15p.

-- 
Bobby Bryant
Austin, Texas



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-06  0:54           ` Adrian Hoe
@ 2005-01-06 10:26             ` Martin Krischik
  2005-01-06 19:07             ` Ludovic Brenta
  1 sibling, 0 replies; 31+ messages in thread
From: Martin Krischik @ 2005-01-06 10:26 UTC (permalink / raw)


Adrian Hoe wrote:


> If I'm going to bootstrap gnat 3.15p with gnat/gcc3.3.3, wouldn't the
> buggy 3.x affect the compilation? Has anyone tried to bootstrap
> gnat3.15p with gnat/gcc3.x before?

Bootstraping an older version with a newer version might not work.

> Honestly, I have compiled thousands of Ada code (previously compiled
> with gnat3.15p on Caldera and SuSE) with gnat/gcc 3.3.3 and had no
> problems and they run well until this bug box appeared when I tried to
> compile dgate.adb. I had no problem compiling GtkAda-2.2.1 at all. And
> the GtkAda installed and works perfectly on my SuSE 9.1pro.

I got lots of bug boxes with generic instaciations - namely the booch
components. Also: I have sepereate comiles for release and debug - often
one works while the other gives a bug box. 

With 3.15p I had a bug box for OS/2 debug while OS/2 release, Windows
Debug/Release and Linux Debug/Release where compiling fine.

With 3.4 I havn't seen one for a long time - well apart from the "limited
with" ;-) .

> Another issue is that gnat3.15p has been out there for a long time and
> seems no upgrade from gnat/libre. Do we consider gnat/gcc 3.x an
> upgrade?

And I fear we don't get another one. Wir RedHats incompatible 3.x version
and tree-saa 4.x, compiler development has speeded up. I have the distrinct
feeling that AdaCore has not time for public releases.

Martin 

-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05 21:22       ` Ludovic Brenta
                           ` (2 preceding siblings ...)
  2005-01-06  1:54         ` Bobby D. Bryant
@ 2005-01-06 10:28         ` Martin Krischik
  2005-01-06 20:22           ` Ludovic Brenta
  3 siblings, 1 reply; 31+ messages in thread
From: Martin Krischik @ 2005-01-06 10:28 UTC (permalink / raw)


Ludovic Brenta wrote:

> Martin Krischik wrote:
>> Adrian Hoe wrote:
>>> Is 3.4 less buggy then 3.3.x as suggested in your website?
>> 
>> Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy and
>> 4.0 is still fighting with the tree-saa extentsion.
> 
> I differ with this.  The quality of GCC 3.4 is similar to, but not
> significantly better than that of GNAT 3.15p.  Also, 3.4 is much
> slower and memory-hungry than 3.15p (it may or may not matter to you
> but it's a fact). More importantly, GCC 3.4 does not have ASIS or
> GLADE.

Compiling ASIS and GLADE for a newer version isn't that difficult - even
SuSE managed that for SuSE 9.2 - including x86_64 architecture. On the down
side SuSE only supplies 3.3.4 which is not that helpfull :-( .

Besides: GCC 3.4 has PolyORB which seems the better option anyway.

> The one area where GCC 3.4 is better than GNAT 3.15p is mixed-language
> development in Ada and C++ (Ada and C work nicely in 3.15p though).

Or creating DLL's for Windows. 
 
Martin
-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 16:32   ` Adrian Hoe
@ 2005-01-06 15:01     ` Martin Krischik
  0 siblings, 0 replies; 31+ messages in thread
From: Martin Krischik @ 2005-01-06 15:01 UTC (permalink / raw)


Adrian Hoe wrote:

> Hi Duncan,
> 
> So far, I've not encountered any problems with 3.3.3. But I do hear bad
> comments about it. Perhaps this bug is one of them and the first I
> encountered so far.
> 
> Considering to use 3.15p, can I overwrite gnat 3.3.3 with it?

NO! You need the compiler wich comes with SuSE for other things. Install the
Ada Compiler into /opt/ada and use something like this to
your /etc/profiled.d/ directory:

if [[ (${USER} != root) && (-z ${_ada_bash_} ) ]] ; then

        declare -r _ada_bash_=loaded

        echo "Set Ada Environment"

        PATH=/opt/ada/bin:${PATH}
        PATH=.:${PATH}

        # add other ada related init here.
fi

Pleas note the use of  (${USER} != root)! The root use should continue to
use the origninal compiler.

> Is there 
> any rpm for SuSE 9.1?  I just hate bootstrapping from source 

Bootstrapping the compiler with SuSE 9.1 is easy. Follow my instructions on
ada.krischik.com - or better use my build.gcc batch
(http://ada.krischik.com/build-gcc). Even works for 64 bit systems :-).

> and I can 
> always not getting shared library working.

Shared libs are done by (cut from my build.gcc):

                if (( ${?} == 0 )) ; then
                        make -C gcc gnatlib-shared
                \
                        2>&1 |  tee "../compile.gnat.${in_Config}.log";
                fi;

With Regards

Martin

-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-06  0:54           ` Adrian Hoe
  2005-01-06 10:26             ` Martin Krischik
@ 2005-01-06 19:07             ` Ludovic Brenta
  1 sibling, 0 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-06 19:07 UTC (permalink / raw)


"Adrian Hoe" writes:
> Florian Weimer wrote:
>> * Ludovic Brenta:
>>
>> >> Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy
> and
>> >> 4.0 is still fighting with the tree-saa extentsion.
>> >
>> > I differ with this.  The quality of GCC 3.4 is similar to, but not
>> > significantly better than that of GNAT 3.15p.  Also, 3.4 is much
>> > slower and memory-hungry than 3.15p (it may or may not matter to
> you
>> > but it's a fact).
>>
>> But this comparison is not fair because you are backporting fixes to
>> GNAT 3.15p.  No one is doing this for GNAT in GCC 3.4. 8-)
>>
>> Due to the NPTL problem, plain GNAT 3.15p is probably not so useful
>> for many people with recent GNU/Linux distributions.
>
> Could you elaborate further your last statement? Why do you think
> gnat3.15p is not so useful with recent GNU/Linux distribution?

This issue has been discussed at length here.  It is summarised in the
corresponding Debian bug report:

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=245312

The workaround is to declare the environment variable
LD_ASSUME_KERNEL=2.4.1

or any other value less than 2.6.  The problem is on linux >= 2.6 with
glibc >= 2.3, and on some 2.4 kernels provided by Red Hat.  The patch
that fixes this problem in GNAT 3.15p is quite small.

> Also, does gnat3.15p work well with gcc3.3.3?
>
> If I'm going to bootstrap gnat 3.15p with gnat/gcc3.3.3, wouldn't the
> buggy 3.x affect the compilation? Has anyone tried to bootstrap
> gnat3.15p with gnat/gcc3.x before?

I have done that without problems.  The bootstrapping has three
stages; the bootstrap compiler is used only in the first stage, to
build a non-optimised new compiler.  Then the new compiler recompiles
itself, with optimisations, two times (stages 2 and 3) and compares
the output.  If the two recompiles gave the same results, the
bootstrap is considered successful.

-- 
Ludovic Brenta.


This patch makes it possible to use the New POSIX Thread Library on
Linux >= 2.6 and glibc >= 2.3.  It also works on linux 2.4.  I
backported it from GCC 3.4.

I omitted irrelevant parts of this patch to keep it minimal.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05 22:22         ` Florian Weimer
  2005-01-06  0:54           ` Adrian Hoe
@ 2005-01-06 19:17           ` Ludovic Brenta
  1 sibling, 0 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-06 19:17 UTC (permalink / raw)


Florian Weimer writes:
> * Ludovic Brenta:
>
>>> Yes! 3.4 is currently the best option. 3.15 is old, 3.3 is buggy
>>> and 4.0 is still fighting with the tree-saa extentsion.
>>
>> I differ with this.  The quality of GCC 3.4 is similar to, but not
>> significantly better than that of GNAT 3.15p.  Also, 3.4 is much
>> slower and memory-hungry than 3.15p (it may or may not matter to
>> you but it's a fact).
>
> But this comparison is not fair because you are backporting fixes to
> GNAT 3.15p.  No one is doing this for GNAT in GCC 3.4. 8-)

Indeed.  Not even Ada Core does maintenance on the Ada front-end in
GCC 3.4; all their contributions to GCC go on the main line of
development (CVS HEAD); as a result, with every new release of GCC,
you get not only bug fixes but also new bugs coming from new and very
experimental features.  GCC 4.0 has many such new features, both in
the Ada front-end and in the back-ends.  So, I am not going to say
"GCC 4.0 is much better" until I see it :)

Note that I also maintain gnat-3.4 in Debian, and I could backport
some fixes from HEAD to it.  But ASIS and GLADE are roadblocks, and I
don't have enough time in the evening to maintain both gnat and
gnat-3.4 properly.

> Due to the NPTL problem, plain GNAT 3.15p is probably not so useful
> for many people with recent GNU/Linux distributions.

The patch to fix that problem is publicly available from the Debian
archive.  It is also small, self-contained, and documented.  Heck,
just so that nobody has an excuse not to apply it, I'll post it below
:)

-- 
Ludovic Brenta.

--------------------------------8<------------------------------------------
This patch makes it possible to use the New POSIX Thread Library on
Linux >= 2.6 and glibc >= 2.3.  It also works on linux 2.4.  I
backported it from GCC 3.4.

I omitted irrelevant parts of this patch to keep it minimal.

-- 
Ludovic Brenta.

diff -u -u -r1.5 -r1.6
--- ada/5iosinte.ads	24 Apr 2003 17:53:51 -0000	1.5
+++ ada/5iosinte.ads	1 May 2003 14:14:35 -0000	1.6
@@ -443,11 +448,8 @@
 
 private
 
-   type sigset_t is array (0 .. 31) of unsigned_long;
+   type sigset_t is array (0 .. 127) of unsigned_char;
    pragma Convention (C, sigset_t);
-   for sigset_t'Size use 1024;
-   --  This is for GNU libc version 2 but should be backward compatible with
-   --  other libc where sigset_t is smaller.
 
    type pid_t is new int;
 
@@ -476,7 +478,7 @@
       stackaddr     : System.Address;
       stacksize     : size_t;
    end record;
-   pragma Convention (C_Pass_By_Copy, pthread_attr_t);
+   pragma Convention (C, pthread_attr_t);
 
    type pthread_condattr_t is record
       dummy : int;
@@ -490,25 +492,22 @@
 
    type pthread_t is new unsigned_long;
 
-   type struct_pthread_queue is record
-      head : System.Address;
-      tail : System.Address;
+   type struct_pthread_fast_lock is record
+      status   : long;
+      spinlock : int;
    end record;
-   pragma Convention (C, struct_pthread_queue);
+   pragma Convention (C, struct_pthread_fast_lock);
 
    type pthread_mutex_t is record
-      m_spinlock : int;
+      m_reserved : int;
       m_count    : int;
       m_owner    : System.Address;
       m_kind     : int;
-      m_waiting  : struct_pthread_queue;
+      m_lock     : struct_pthread_fast_lock;
    end record;
    pragma Convention (C, pthread_mutex_t);
 
-   type pthread_cond_t is record
-      c_spinlock : int;
-      c_waiting  : struct_pthread_queue;
-   end record;
+   type pthread_cond_t is array (0 .. 47) of unsigned_char;
    pragma Convention (C, pthread_cond_t);
 
    type pthread_key_t is new unsigned;



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-06 10:28         ` Martin Krischik
@ 2005-01-06 20:22           ` Ludovic Brenta
  2005-01-06 21:29             ` Jerome Hugues
  2005-01-07 16:15             ` Martin Krischik
  0 siblings, 2 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-06 20:22 UTC (permalink / raw)


Martin Krischik writes:
> Compiling ASIS and GLADE for a newer version isn't that difficult -
> even SuSE managed that for SuSE 9.2 - including x86_64
> architecture. On the down side SuSE only supplies 3.3.4 which is not
> that helpfull :-( .

If that is true, I am interested.  But my understanding is that both
are coupled with the internals of GNAT (with good reason, of course,
considering what they do).  Several people on this newsgroup have been
harping on GCC 3.4, but I'd like reports about ASIS and GLADE for GCC
3.4.

As a distribution maintainer, I also have configuration management
issues in mind.  Ada Core is not doing any formal releases of ASIS or
GLADE for GCC 3.4.  If I were to roll my own snapshot of the CVS
repositories and distribute them, I would be taking quite a big
responsibility both to the users (who tend to trust Debian packages),
and to Debian (which has a reputation for quality).  CVS snapshots
would be okay for the "experimental" branch of Debian, but not, IMHO,
for "stable".  I'm willing to be persuaded otherwise by people willing
to contribute some time and energy.

This also applies to Duncan's remark about the snapshot of GCC at the
"pre-ssa" tag, with one more twist: gnat-3.4 is part of the larger
gcc-3.4 source package (complete with 8 language front-ends, several
libraries, and accompanying docs).  Providing yet another
experimental, not binary-compatible, gnat is not particularly
appealing to me.  The quality level of "pre-ssa" is completely
orthogonal to this.

More generally, it seems to me that many people on this newsgroup like
to take their own snapshot of this, patch it, and then mix it with
their neibour's snapshot of that.  This is called chaos, and it works
because the software produced is often excellent.  But the resulting
source packages are bound to require different versions of GNAT, and
the only way to make them agree on one compiler is to use force
(i.e. patch until the damn things will compile, because the upstream
authors won't do it for you).  As a distribution maintainer and as one
who has compiled many free Ada packages, I am extremely sensitive to
this issue.

> Besides: GCC 3.4 has PolyORB which seems the better option anyway.

This statement is not true.  GCC 3.4 does not "have" PolyORB, they are
two separate packages.  To illustrate this, the Libre site also
mentions GNAT 3.16a1 and 5.02a along with GCC 3.4 as being compatible
with PolyORB.  Other versions are not necessarily incompatible; they
are just untested.

However, PolyORB is slated to replace GLADE in the future.  Parts of
it are being merged into GCC 4.0, so in the future you will be able to
say "PolyORB requires GCC 4.0 to build, and GCC 4.0 has special
support for PolyORB".

Is anyone aware of a binary distribution of PolyORB?

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-06 20:22           ` Ludovic Brenta
@ 2005-01-06 21:29             ` Jerome Hugues
  2005-01-06 23:04               ` Ludovic Brenta
  2005-01-07 16:15             ` Martin Krischik
  1 sibling, 1 reply; 31+ messages in thread
From: Jerome Hugues @ 2005-01-06 21:29 UTC (permalink / raw)


>> Besides: GCC 3.4 has PolyORB which seems the better option anyway.
> 
> This statement is not true.  GCC 3.4 does not "have" PolyORB, they are
> two separate packages.  To illustrate this, the Libre site also
> mentions GNAT 3.16a1 and 5.02a along with GCC 3.4 as being compatible
> with PolyORB.  Other versions are not necessarily incompatible; they
> are just untested.

PolyORB does not support only Annex E. There is also a lot of efforts
put on the other personalities !

Besides, support for 3.16a1, 5.02a1 and GCC 3.4.0 concerns all
personalities, except Annex E (aka DSA). The integration of PolyORB
into GCC, to provide runtime support for Annex E, is in progress.

> However, PolyORB is slated to replace GLADE in the future.  Parts of
> it are being merged into GCC 4.0, so in the future you will be able to
> say "PolyORB requires GCC 4.0 to build, and GCC 4.0 has special
> support for PolyORB".

This should be also true for GNAT Pro and GAP, for some releases.

> Is anyone aware of a binary distribution of PolyORB?

You will find here some (really old) rpms of PolyORB 1.0p

http://www.prz.rzeszow.pl/ada/en/GNAT-3.15p_rpms_EN.html

I do not know any binary distribution of PolyORB, except this one. 

The polyorb-users@ mailing list may provide more information on
building POlyORB if you contemplate packaging it.

-- 
Jerome



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-06 21:29             ` Jerome Hugues
@ 2005-01-06 23:04               ` Ludovic Brenta
  2005-01-07  8:40                 ` Jerome Hugues
  0 siblings, 1 reply; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-06 23:04 UTC (permalink / raw)


Jerome Hugues writes:
> PolyORB does not support only Annex E. There is also a lot of
> efforts put on the other personalities !

Yes, I was aware of that.  In fact, it seemed to me that CORBA
received most of the attention.

> Besides, support for 3.16a1, 5.02a1 and GCC 3.4.0 concerns all
> personalities, except Annex E (aka DSA). The integration of PolyORB
> into GCC, to provide runtime support for Annex E, is in progress.

Is it correct to interpret this as: "PolyORB does not yet implement
the DSA, because this requires compiler support which is not yet
available in GNAT"?  Or is there a release of GNAT that does provide
the necessary support?

>> Is anyone aware of a binary distribution of PolyORB?
>
> You will find here some (really old) rpms of PolyORB 1.0p
>
> http://www.prz.rzeszow.pl/ada/en/GNAT-3.15p_rpms_EN.html
>
> I do not know any binary distribution of PolyORB, except this one. 

This collection of RPMs is truly amazing.  I'd never heard of it
before.  This web site will now be flooded with downloads.  Oleksandr,
if you read this: hats off to you!

I notice, in passing, that he also chose GNAT 3.15p as the common
compiler for all packages, even PolyORB.

> The mailing list may provide more information on
> building POlyORB if you contemplate packaging it.

I did consider packaging it but decided not to.  PolyORB is "generic
middleware" that needs to be "instanciated", and this is scary to me;
I would feel compelled to provide binaries for all possible
instanciations :) Also I do not have the time to maintain more
packages than I already do.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-06 23:04               ` Ludovic Brenta
@ 2005-01-07  8:40                 ` Jerome Hugues
  0 siblings, 0 replies; 31+ messages in thread
From: Jerome Hugues @ 2005-01-07  8:40 UTC (permalink / raw)


In article <87brc2ma6w.fsf@insalien.org>, Ludovic Brenta wrote:
> Jerome Hugues writes:

> Is it correct to interpret this as: "PolyORB does not yet implement
> the DSA, because this requires compiler support which is not yet
> available in GNAT"?  Or is there a release of GNAT that does provide
> the necessary support?

No, because you are too categoric: it is a work in progress. Most
functions are already implemented, yet some work remains to be done
before making any formal announce.

See for instance latest patches against GCC

http://gcc.gnu.org/ml/gcc-patches/2005-01/msg00089.html

-- 
Jerome





^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-06 20:22           ` Ludovic Brenta
  2005-01-06 21:29             ` Jerome Hugues
@ 2005-01-07 16:15             ` Martin Krischik
  1 sibling, 0 replies; 31+ messages in thread
From: Martin Krischik @ 2005-01-07 16:15 UTC (permalink / raw)


Ludovic Brenta wrote:

> Martin Krischik writes:
>> Compiling ASIS and GLADE for a newer version isn't that difficult -
>> even SuSE managed that for SuSE 9.2 - including x86_64
>> architecture. On the down side SuSE only supplies 3.3.4 which is not
>> that helpfull :-( .
> 
> If that is true, I am interested.

It is indeed (from SuSE 9.2 Professional/German/x86_64):
----
gnat-runtime - GNU Ada-Laufzeitbibliotheken


Dieses Paket enthï¿œlt die benï¿œtigten Shared Libraries zum Ausfï¿œhren von
Programmen, die mit dem GNU Ada-Compiler (GNAT) kompiliert wurden,
vorausgesetzt sie wurden zur Verwendung von Shared Libraries kompiliert. Es
enthï¿œlt weiterhin die Shared Libraries zur Implementation der Ada Semantic
Interface Specification (ASIS), der Distributed Systems Programming (GLADE)
sowie von Posix 1003.5 Binding (Florist). 
----
gnat-runtime-32bit - GNU Ada-Laufzeitbibliotheken


Dieses Paket enthï¿œlt die benï¿œtigten Shared Libraries zum Ausfï¿œhren von
Programmen, die mit dem GNU Ada-Compiler (GNAT) kompiliert wurden,
vorausgesetzt sie wurden zur Verwendung von Shared Libraries kompiliert. Es
enthï¿œlt weiterhin die Shared Libraries zur Implementation der Ada Semantic
Interface Specification (ASIS), der Distributed Systems Programming (GLADE)
sowie von Posix 1003.5 Binding (Florist). ----
----

> But my understanding is that both 
> are coupled with the internals of GNAT (with good reason, of course,
> considering what they do). 

They are indeed. But is is a simple matter of a copy or a symbolic link to
the original sources. The only real problem are the warning levels. AdaCore
uses -gnate and newer compilers have more warnings. You just have to
disable that.


> Several people on this newsgroup have been 
> harping on GCC 3.4, but I'd like reports about ASIS and GLADE for GCC
> 3.4.

ASIS: works fine with 3.4.3.
Florist compiles Ok.
GLADE compiles Ok. But some GCC versions have a broken -gnatze - so you
can't do anything with it.

> As a distribution maintainer, I also have configuration management
> issues in mind.  Ada Core is not doing any formal releases of ASIS or
> GLADE for GCC 3.4.  If I were to roll my own snapshot of the CVS  
> repositories and distribute them,

Only GLADE has a cvs snapshot:

:pserver:anoncvs@libre.act-europe.fr:/anoncvs/GLADE

For ASIS and Florist you need to patch the 3.15p sources. But that has been
done before.

> I would be taking quite a big 
> responsibility both to the users (who tend to trust Debian packages),
> and to Debian (which has a reputation for quality).  CVS snapshots
> would be okay for the "experimental" branch of Debian, but not, IMHO,
> for "stable".  I'm willing to be persuaded otherwise by people willing
> to contribute some time and energy.

I mentioned before that I did take a head start here:

http://gnat-asis.sourceforge.net/
http://gnat-florist.sourceforge.net/
http://gnat-glade.sourceforge.net/

I take on anyone who want to maintain something ;-) .

> More generally, it seems to me that many people on this newsgroup like
> to take their own snapshot of this, patch it, and then mix it with
> their neibour's snapshot of that.  This is called chaos, and it works
> because the software produced is often excellent.  But the resulting
> source packages are bound to require different versions of GNAT, and
> the only way to make them agree on one compiler is to use force
> (i.e. patch until the damn things will compile, because the upstream
> authors won't do it for you).  As a distribution maintainer and as one
> who has compiled many free Ada packages, I am extremely sensitive to
> this issue.

Shure. I just published my patches - but debian is different in that
resprect.

>> Besides: GCC 3.4 has PolyORB which seems the better option anyway.
> 
> This statement is not true.  GCC 3.4 does not "have" PolyORB, they are
> two separate packages.

Sorry, used the wrong wording.

> However, PolyORB is slated to replace GLADE in the future.  Parts of
> it are being merged into GCC 4.0, so in the future you will be able to
> say "PolyORB requires GCC 4.0 to build, and GCC 4.0 has special
> support for PolyORB".

Did not know that.
 
> Is anyone aware of a binary distribution of PolyORB?

No, PolyORB is source only. And currently DLL support is broken. And Windows
as well - some comandlines hit the 8192 character mark - does anybody know
a way around that? 

Apart from that PolyORB is quite cool. I tried ORBit as well but dropped it
very quickly. I rather use PolyORB and pragma Export (C,...) then ORBit's C
bindings.

With Regards

Martin
-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-04 15:58 A bug in gnat/gcc 3.3.3? Adrian Hoe
                   ` (2 preceding siblings ...)
  2005-01-04 19:16 ` Ludovic Brenta
@ 2005-01-07 16:22 ` Adrian Hoe
  2005-01-07 18:13   ` Ludovic Brenta
  2005-01-07 23:32   ` Ludovic Brenta
  3 siblings, 2 replies; 31+ messages in thread
From: Adrian Hoe @ 2005-01-07 16:22 UTC (permalink / raw)


> I tried to compile the dgate.adb in GtkAda-2.2.1 with gnat/gcc 3.3.3
> under SuSE Linux 9.1 Pro and I got an error:


After reading all these posts, I am tired of the chaos in the Ada
world. I love Ada so much but I hate the compiler (gnat) so much. I
failed to bootstrap a working gnat in Solaris 9. After lots of effort,
I finally got through. But then, I faced the problem of tasking due to
some kind of Solaris 9 thread architecture. Forced to switch back to
Solaris 8. (See my earlier post a few months ago.)

I think one of the problem contributing to the unpopularity of Ada is
the availablity of a fully functional compiler. What good a software is
provided free but contains a bug in it and user has to build themselve
from other source(s). Gnat is one good example.

Why 3.15p? Why 3.3.x? Why 3.4? Why PolyORB? Why this? Why that? Why
can't we just have one single standard? If gnat is going to advance
into 3.3.x, 3.4 and beyond, then make it work. Why still keep 3.15p?
And you can't bootstrap 3.15p from 3.3.3, for example.

I wonder what's happening at gnu/gcc. Why hadn't they tested the
compiler before rolling into public? I can't even find my problem in
"Known Issues" in gnat/gcc documentation.

The chaotic compiler standards will break the spirit of a newbie!

I think the Ada community should take the initiative to standardize
builds if gnu/gcc cannot manage this alone. This initiative will make
Ada more viable in serious development and as well as making learning
Ada more comfortable and hassle-free.

We all have a day time job with limited evening hours. If everyone
would contribute an hour a day, there will be a lot of man-hour per
day. I am willing to contriubte.


Adrian Hoe




^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-07 16:22 ` Adrian Hoe
@ 2005-01-07 18:13   ` Ludovic Brenta
  2005-01-07 23:32   ` Ludovic Brenta
  1 sibling, 0 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-07 18:13 UTC (permalink / raw)


Adrian Hoe writes:
> Why 3.15p? Why 3.3.x? Why 3.4? Why PolyORB? Why this? Why that? Why
> can't we just have one single standard? If gnat is going to advance
> into 3.3.x, 3.4 and beyond, then make it work. Why still keep 3.15p?
> And you can't bootstrap 3.15p from 3.3.3, for example.

Switch to Debian.  Seriously.  It provides the single standard that
you are seeking.  The standard is documented in the Debian Ada Policy,
and I have no trouble enforcing it, since I'm the one doing all the
work :)

Why keep 3.15p?  Because 3.4 has a serious regression (tasking on
powerpc), and because of ASIS and GLADE.  Now, Martin has done some
effort porting them both to GCC 3.4, and I am willing to consider
using them as time permits.  This will be done after Sarge is
released, because it is something of a big bang, as all packages must
be recompiled.

> I wonder what's happening at gnu/gcc. Why hadn't they tested the
> compiler before rolling into public? I can't even find my problem in
> "Known Issues" in gnat/gcc documentation.

Yes, they did test gnat-3.15p like they did every "p" release.  But
they did not catch your particular bug.  Is this bug known in the
Debian BTS, or in GCC's bugzilla?

> The chaotic compiler standards will break the spirit of a newbie!

That is true.  Newbies should use a binary distribution that supports
Ada well.

> I think the Ada community should take the initiative to standardize
> builds if gnu/gcc cannot manage this alone. This initiative will
> make Ada more viable in serious development and as well as making
> learning Ada more comfortable and hassle-free.

I do exactly that on Debian, on three architectures.  My goal when I
set out doing this was precisely to attract more newbies to Ada.
Debian is a distribution that encourages this kind of initiative, as
do others like Gentoo and FreeBSD.  Each of these distros has an Ada
maintainer who decides on the policy so that all binary packages are
compatible.  The reason why I chose Debian was because it is primarily
a binary distribution, whereas Gentoo and FreeBSD are primarily
source-based.  Choose whichever you prefer.

> We all have a day time job with limited evening hours. If everyone
> would contribute an hour a day, there will be a lot of man-hour per
> day. I am willing to contriubte.

Great.  Would you move to Debian and help package ASIS and GLADE for
gnat-3.4?  Or PolyORB?  Help is wanted and welcome.  You could also
try to provide packages for SuSE, but I'm not sure that the SuSE
people would let you take charge :)

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-07 16:22 ` Adrian Hoe
  2005-01-07 18:13   ` Ludovic Brenta
@ 2005-01-07 23:32   ` Ludovic Brenta
  1 sibling, 0 replies; 31+ messages in thread
From: Ludovic Brenta @ 2005-01-07 23:32 UTC (permalink / raw)


Adrian Hoe writes:
> And you can't bootstrap 3.15p from 3.3.3, for example.

Have you tried?  I think that you fill find this perfectly feasible;
GCC 3.3 is good enough for bootstrapping.

BTW, you will also find 3.15p to be between 2 and 4 times faster at
compiling than GCC 3.x.

-- 
Ludovic Brenta.



^ permalink raw reply	[flat|nested] 31+ messages in thread

* Re: A bug in gnat/gcc 3.3.3?
  2005-01-05  4:59     ` Bobby D. Bryant
@ 2005-01-31  4:45       ` Adrian Hoe
  0 siblings, 0 replies; 31+ messages in thread
From: Adrian Hoe @ 2005-01-31  4:45 UTC (permalink / raw)


Bobby D. Bryant wrote:
> On Wed, 05 Jan 2005, Adrian Hoe <AdrianHoe@nowhere.com> wrote:
> 
> 
>>Is 3.4 less buggy then 3.3.x as suggested in your website?
> 
> 
> FWIW, I've been using 3.4.1 for a couple of months and haven't had
> any problems with it.
> 
> I tried 3.4.3, but the upgrade kit I used (Gentoo ~x86) apparently did
> something to my glibc, so I reverted back to 3.4.1.  That probably isn't
> a reflection on 3.4.3 itself.
> 

Blastwave's gcc/gnat 3.4.2 for Solaris/SPARC is superb. Haven't ran into 
any problems at all. Compiled some Ada code for SPARC which did not 
compile previously, they work beautifully.

Best regards,
-- 
Adrian Hoe




^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2005-01-31  4:45 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-04 15:58 A bug in gnat/gcc 3.3.3? Adrian Hoe
2005-01-04 16:13 ` Duncan Sands
2005-01-04 16:32   ` Adrian Hoe
2005-01-06 15:01     ` Martin Krischik
2005-01-04 18:01 ` Martin Krischik
2005-01-05  4:45   ` Adrian Hoe
2005-01-05  4:59     ` Bobby D. Bryant
2005-01-31  4:45       ` Adrian Hoe
2005-01-05  8:44     ` Martin Krischik
2005-01-05 21:22       ` Ludovic Brenta
2005-01-05 21:47         ` Duncan Sands
2005-01-05 22:22         ` Florian Weimer
2005-01-06  0:54           ` Adrian Hoe
2005-01-06 10:26             ` Martin Krischik
2005-01-06 19:07             ` Ludovic Brenta
2005-01-06 19:17           ` Ludovic Brenta
2005-01-06  1:54         ` Bobby D. Bryant
2005-01-06 10:28         ` Martin Krischik
2005-01-06 20:22           ` Ludovic Brenta
2005-01-06 21:29             ` Jerome Hugues
2005-01-06 23:04               ` Ludovic Brenta
2005-01-07  8:40                 ` Jerome Hugues
2005-01-07 16:15             ` Martin Krischik
2005-01-05 12:20     ` Pascal Obry
2005-01-05 21:21       ` Ludovic Brenta
2005-01-04 19:16 ` Ludovic Brenta
2005-01-05  4:25   ` Adrian Hoe
2005-01-05 21:19     ` Ludovic Brenta
2005-01-07 16:22 ` Adrian Hoe
2005-01-07 18:13   ` Ludovic Brenta
2005-01-07 23:32   ` Ludovic Brenta

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox