From: Gautier write-only on
Hello,
I have the pleasure to announce the first release of the Generic Image
Decoder.

The Generic Image Decoder (GID) is an Ada package for decoding a broad
variety of image formats, from any data stream, to any kind of medium,
be it an in-memory bitmap, a GUI object, some other stream, arrays of
floating-point initial data for scientific calculations, a browser
element, a device,...
Animations are supported.

Currently supported formats are: BMP, GIF, JPEG, PNG, TGA.

URL: http://gen-img-dec.sf.net/

Enjoy
Gautier
From: deadlyhead on
On Jun 26, 2:49 am, Gautier write-only <gautier_niou...(a)hotmail.com>
wrote:
> Hello,
> I have the pleasure to announce the first release of the Generic Image
> Decoder.
>
> The Generic Image Decoder (GID) is an Ada package for decoding a broad
> variety of image formats, from any data stream, to any kind of medium,
> be it an in-memory bitmap, a GUI object, some other stream, arrays of
> floating-point initial data for scientific calculations, a browser
> element, a device,...
> Animations are supported.
>
> Currently supported formats are: BMP, GIF, JPEG, PNG, TGA.
>
> URL:http://gen-img-dec.sf.net/
>
> Enjoy
> Gautier

Quite excellent.

No bindings, eh? I'm impressed. Is it mostly translations? For
instance, did you translate the libpng for the PNG encoding?

I'll try it out soon.

--deadlyhead
From: Gautier write-only on
On 26 juin, 18:56, deadlyhead <deadlyh...(a)gmail.com> wrote:

> Quite excellent.

Thanks - but try it first ;-)

> No bindings, eh?  I'm impressed.  Is it mostly translations?  For
> instance, did you translate the libpng for the PNG encoding?

JPEG is mostly translated from NanoJPEG; the rest has been written
from scratch, with a good part of re-use from other Ada sources.
For instance the PNG decompression is taken from the Zip-Ada sources;
the GIF decompression is a contribution.

> I'll try it out soon.

I'd be glad to have some feedbacks.

G.
From: deadlyhead on
On Jun 26, 1:47 pm, Gautier write-only <gautier_niou...(a)hotmail.com>
wrote:
> I'd be glad to have some feedbacks.
>
> G.

A quick note.

I just tried compiling this package with a GNAT compiler built from
the gcc 4.4.2 sources and the GNU binutils package and got the classic
`cannot find libaddr2line.a' error. I understand that this library
comes with the binutils supplied by AdaCore with their binaries and
sources, but I prefer to build my compilers from the actual GNU
sources if at all possible.

Searching comp.lang.ada, I've come to understand that in more recent
GNAT versions (later than GNAT 2009?), and hopefully more recent GCCs
(i.e. gcc 4.5.0), GNAT no longer needs libaddr2line[1]. I'm compiling
a new gcc right now. Hopefully this will fix the problem. I'll let
you know.

-- deadlyhead

[1] http://groups.google.com/group/comp.lang.ada/msg/b9e4af2e1e4b55b6
From: Simon Wright on
deadlyhead <deadlyhead(a)gmail.com> writes:

> Searching comp.lang.ada, I've come to understand that in more recent
> GNAT versions (later than GNAT 2009?), and hopefully more recent GCCs
> (i.e. gcc 4.5.0), GNAT no longer needs libaddr2line[1]. I'm compiling
> a new gcc right now. Hopefully this will fix the problem. I'll let
> you know.

On Mac OS X, GCC 4.5.0's GNAT.Traceback.Symbolic says

-- Version used on unimplemented targets

-- Run-time symbolic traceback is currently supported on the
-- following targets:

-- HP-UX
-- IRIX
-- GNU/Linux x86
-- AIX
-- Solaris sparc
-- Tru64
-- OpenVMS/Alpha
-- Windows NT/XP/Vista

-- This version is used on all other targets, it generates a warning
-- at compile time if it is with'ed, and the bodies generate
-- messages saying that the functions are not implemented.

The working version (g-trasym.adb) in the 4.5.0 sources includes

package body GNAT.Traceback.Symbolic is

pragma Linker_Options ("-laddr2line");
pragma Linker_Options ("-lbfd");
pragma Linker_Options ("-liberty");

and hasn't changed on trunk.

Maybe GNAT GPL 2010 will have the promised change ...


Anyway, you should be able to find where GNAT.Traceback.Symbolic is
referenced, usually in the main program, and revert to plain (hex)
tracebacks.