comp.lang.ada
 help / color / mirror / Atom feed
* ANN: Simple Components for Ada v4.20
@ 2017-03-12  8:39 Dmitry A. Kazakov
  2017-03-12 11:49 ` Björn Lundin
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry A. Kazakov @ 2017-03-12  8:39 UTC (permalink / raw)


The current version provides implementations of smart pointers, directed 
graphs, sets, maps, B-trees, stacks, tables, string editing, unbounded 
arrays, expression analyzers, lock-free data structures, synchronization 
primitives (events, race condition free pulse events, arrays of events, 
reentrant mutexes, deadlock-free arrays of mutexes), pseudo-random 
non-repeating numbers, symmetric encoding and decoding, IEEE 754 
representations support, multiple connections server/client designing 
tools. The library is kept conform to the Ada 95, Ada 2005, Ada 2012 
language standards.

    http://www.dmitry-kazakov.de/ada/components.htm

Changes to the previous version:

- Modbus TCP client bug fixed. The bug prevented receiving large 
responses, more than 60 words, e.g. to FC3 (read holding registers).

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-12  8:39 ANN: Simple Components for Ada v4.20 Dmitry A. Kazakov
@ 2017-03-12 11:49 ` Björn Lundin
  2017-03-12 13:16   ` Dmitry A. Kazakov
  0 siblings, 1 reply; 12+ messages in thread
From: Björn Lundin @ 2017-03-12 11:49 UTC (permalink / raw)


On 2017-03-12 09:39, Dmitry A. Kazakov wrote:
> The current version provides implementations of smart pointers, directed
...

Dmitry,
There seems to be some kind of corruption/incompability in the tarball.
Below for download on a rasbian, but I got the same for an x64 debian 8
as well.

I downloaded 4.19 the other day and it gives the same error.


pi@raspberrypi ~/tmp $ wget
http://www.dmitry-kazakov.de/ada/components_4_20.tgz
--2017-03-12 12:26:17--
http://www.dmitry-kazakov.de/ada/components_4_20.tgz
Resolving www.dmitry-kazakov.de (www.dmitry-kazakov.de)...
81.169.145.72, 2a01:238:20a:202:1072::
Connecting to www.dmitry-kazakov.de
(www.dmitry-kazakov.de)|81.169.145.72|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 3063478 (2.9M) [text/plain]
Saving to: ‘components_4_20.tgz’

components_4_20.tgz
100%[========================================================================>]
  2.92M   728KB/s   in 4.3s

2017-03-12 12:26:22 (692 KB/s) - ‘components_4_20.tgz’ saved
[3063478/3063478]


pi@raspberrypi ~/tmp $ md5sum components_4_20.tgz
f05cbe5fbf9a59fb11cd1cd0140ea814  components_4_20.tgz


pi@raspberrypi ~/tmp $ tar xvzf components_4_20.tgz

./test_strings_edit/test_strings_edit.adb
./test_strings_edit/test_string_streams.adb
./test_strings_edit/UnicodeData.txt
./strings_edit_3_2.lst
tar: A lone zero block at 33580

-- 



--
Björn


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-12 11:49 ` Björn Lundin
@ 2017-03-12 13:16   ` Dmitry A. Kazakov
  2017-03-13  8:42     ` slos
  2017-03-13  9:09     ` G.B.
  0 siblings, 2 replies; 12+ messages in thread
From: Dmitry A. Kazakov @ 2017-03-12 13:16 UTC (permalink / raw)


On 2017-03-12 12:49, Björn Lundin wrote:
> On 2017-03-12 09:39, Dmitry A. Kazakov wrote:
>> The current version provides implementations of smart pointers, directed
> ...
>
> There seems to be some kind of corruption/incompability in the tarball.
> Below for download on a rasbian, but I got the same for an x64 debian 8
> as well.

That looks like an incompatibility introduced in the newer tar versions. 
I extracted files using other tools and compared results they are same.

I researched the issue a bit. The new tar has a different method of 
recognizing the file end. There is a switch to "fix" the issue -i:

    tar -xivf components_4_20.tgz

and there is no message anymore.

I am going upgrade tar.exe in my tool-chain to msys2. The version I am 
using is the latest GNU version and that is year 2003. (:-))

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-12 13:16   ` Dmitry A. Kazakov
@ 2017-03-13  8:42     ` slos
  2017-03-13  9:20       ` Dmitry A. Kazakov
  2017-03-13  9:09     ` G.B.
  1 sibling, 1 reply; 12+ messages in thread
From: slos @ 2017-03-13  8:42 UTC (permalink / raw)


Le dimanche 12 mars 2017 14:16:54 UTC+1, Dmitry A. Kazakov a écrit :
> On 2017-03-12 12:49, Björn Lundin wrote:
> > On 2017-03-12 09:39, Dmitry A. Kazakov wrote:
> >> The current version provides implementations of smart pointers, directed
> > ...
> >
> > There seems to be some kind of corruption/incompability in the tarball.
> > Below for download on a rasbian, but I got the same for an x64 debian 8
> > as well.
> 
> That looks like an incompatibility introduced in the newer tar versions. 
> I extracted files using other tools and compared results they are same.
> 
> I researched the issue a bit. The new tar has a different method of 
> recognizing the file end. There is a switch to "fix" the issue -i:
> 
>     tar -xivf components_4_20.tgz
> 
> and there is no message anymore.
> 
> I am going upgrade tar.exe in my tool-chain to msys2. The version I am 
> using is the latest GNU version and that is year 2003. (:-))
> 
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

Hello Dmitry,

Björn and I have a little problem with Simple Components on the Raspberry Pi :
https://sourceforge.net/p/gnoga/mailman/message/35718432/

Maybe you have an idea of what's wrong with it ?

Or maybe you could direct us where we should look at ?

Thank you for your hard work. It is really impressive.

BR,
Stéphane


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-12 13:16   ` Dmitry A. Kazakov
  2017-03-13  8:42     ` slos
@ 2017-03-13  9:09     ` G.B.
  2017-03-13  9:52       ` Dmitry A. Kazakov
  1 sibling, 1 reply; 12+ messages in thread
From: G.B. @ 2017-03-13  9:09 UTC (permalink / raw)


On 12/03/2017 14:16, Dmitry A. Kazakov wrote:

> I am going upgrade tar.exe in my tool-chain to msys2. The version I am using is the latest GNU version and that is year 2003. (:-))

Does Windows, or Microsoft, still offer the pax tool?
It used to produce portable archives.


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-13  8:42     ` slos
@ 2017-03-13  9:20       ` Dmitry A. Kazakov
  2017-03-13 10:17         ` slos
  2017-03-13 10:44         ` slos
  0 siblings, 2 replies; 12+ messages in thread
From: Dmitry A. Kazakov @ 2017-03-13  9:20 UTC (permalink / raw)


On 13/03/2017 09:42, slos wrote:

> Björn and I have a little problem with Simple Components on the Raspberry Pi :
> https://sourceforge.net/p/gnoga/mailman/message/35718432/
>
> Maybe you have an idea of what's wrong with it ?
>
> Or maybe you could direct us where we should look at ?

The first check, when you build from sources, is the Atomic_Access 
scenario for your target. It is "Pragma-atomic" vs. "GCC-built-ins" vs. 
"GCC-long-offsets". On a 32-bit target that does not support pragma 
Atomic for 64-bit objects but nevertheless has Storage_Offset 64 bit 
long, it must be "GCC-long-offsets".

If you don't use original project file, you must take the sources from 
the corresponding subdirectory of ./atomic-access.

P.S. Sorry if that looks complicated. ARM should really have mandated 
pragma Atomic working for all scalar types, at least for all types 
declared in the package System and its children.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-13  9:09     ` G.B.
@ 2017-03-13  9:52       ` Dmitry A. Kazakov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry A. Kazakov @ 2017-03-13  9:52 UTC (permalink / raw)


On 13/03/2017 10:09, G.B. wrote:
> On 12/03/2017 14:16, Dmitry A. Kazakov wrote:
>
>> I am going upgrade tar.exe in my tool-chain to msys2. The version I am
>> using is the latest GNU version and that is year 2003. (:-))
>
> Does Windows, or Microsoft, still offer the pax tool?
> It used to produce portable archives.

I never heard about it. The GNU source was a natural candidate for tar 
and gzip. Unfortunately it has not been updated for more than a decade. 
msys2 does the job. One drawback is that msys2 versions are dynamically 
linked, so one would have to carry a few DLLs with. GNU builds were 
statically linked.

Another rather big and ugly issue is that msys2 and mingw guys 
maliciously drop Windows XP support.

This consequently applies to GNAT. I guess that the new version of 
GtkAda (and thus of GPS) will no more run under Windows XP. I cannot 
tell the effect on all applications built with GNAT, but be ready! (:-()

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-13  9:20       ` Dmitry A. Kazakov
@ 2017-03-13 10:17         ` slos
  2017-03-13 10:50           ` Dmitry A. Kazakov
  2017-03-13 10:44         ` slos
  1 sibling, 1 reply; 12+ messages in thread
From: slos @ 2017-03-13 10:17 UTC (permalink / raw)


Le lundi 13 mars 2017 10:20:40 UTC+1, Dmitry A. Kazakov a écrit :
> On 13/03/2017 09:42, slos wrote:
> 
> > Björn and I have a little problem with Simple Components on the Raspberry Pi :
> > https://sourceforge.net/p/gnoga/mailman/message/35718432/
> >
> > Maybe you have an idea of what's wrong with it ?
> >
> > Or maybe you could direct us where we should look at ?
> 
> The first check, when you build from sources, is the Atomic_Access 
> scenario for your target. It is "Pragma-atomic" vs. "GCC-built-ins" vs. 
> "GCC-long-offsets". On a 32-bit target that does not support pragma 
> Atomic for 64-bit objects but nevertheless has Storage_Offset 64 bit 
> long, it must be "GCC-long-offsets".
> 
> If you don't use original project file, you must take the sources from 
> the corresponding subdirectory of ./atomic-access.
> 
> P.S. Sorry if that looks complicated. ARM should really have mandated 
> pragma Atomic working for all scalar types, at least for all types 
> declared in the package System and its children.
> 
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

Thanks for your fast answer.

I've never bothered about this option "GCC-long-offsets" and, as it is the default, always used that on all platforms I have built Gnoga and Simple Components.

The Raspberry Pi Model 1 B / B+ uses this chip :
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/index.html

Could you tell please if "GCC-long-offsets" is the right choice ?

Thanks again for your kind support.

BR,
Stéphane


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-13  9:20       ` Dmitry A. Kazakov
  2017-03-13 10:17         ` slos
@ 2017-03-13 10:44         ` slos
  1 sibling, 0 replies; 12+ messages in thread
From: slos @ 2017-03-13 10:44 UTC (permalink / raw)


Le lundi 13 mars 2017 10:20:40 UTC+1, Dmitry A. Kazakov a écrit :
> On 13/03/2017 09:42, slos wrote:
> 
> > Björn and I have a little problem with Simple Components on the Raspberry Pi :
> > https://sourceforge.net/p/gnoga/mailman/message/35718432/
> >
> > Maybe you have an idea of what's wrong with it ?
> >
> > Or maybe you could direct us where we should look at ?
> 
> The first check, when you build from sources, is the Atomic_Access 
> scenario for your target. It is "Pragma-atomic" vs. "GCC-built-ins" vs. 
> "GCC-long-offsets". On a 32-bit target that does not support pragma 
> Atomic for 64-bit objects but nevertheless has Storage_Offset 64 bit 
> long, it must be "GCC-long-offsets".
> 
> If you don't use original project file, you must take the sources from 
> the corresponding subdirectory of ./atomic-access.
> 
> P.S. Sorry if that looks complicated. ARM should really have mandated 
> pragma Atomic working for all scalar types, at least for all types 
> declared in the package System and its children.
> 
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

Ok ! It runs fine with "Pragma-atomic" !

Thank you Dmitry !

BR,
Stéphane

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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-13 10:17         ` slos
@ 2017-03-13 10:50           ` Dmitry A. Kazakov
  2017-03-13 14:09             ` slos
  0 siblings, 1 reply; 12+ messages in thread
From: Dmitry A. Kazakov @ 2017-03-13 10:50 UTC (permalink / raw)


On 13/03/2017 11:17, slos wrote:

> The Raspberry Pi Model 1 B / B+ uses this chip :
> http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/index.html

Is it RPI 1, i.e. without hardware float?

Where did you get the compiler for it?

> Could you tell please if "GCC-long-offsets" is the right choice ?

That looks OK.

Can you work out a small test to reproduce the problem?

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-13 10:50           ` Dmitry A. Kazakov
@ 2017-03-13 14:09             ` slos
  2017-03-13 15:22               ` Dmitry A. Kazakov
  0 siblings, 1 reply; 12+ messages in thread
From: slos @ 2017-03-13 14:09 UTC (permalink / raw)


Le lundi 13 mars 2017 11:50:25 UTC+1, Dmitry A. Kazakov a écrit :
> On 13/03/2017 11:17, slos wrote:
> 
> > The Raspberry Pi Model 1 B / B+ uses this chip :
> > http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/index.html
> 
> Is it RPI 1, i.e. without hardware float?
> 
> Where did you get the compiler for it?
> 
> > Could you tell please if "GCC-long-offsets" is the right choice ?
> 
> That looks OK.
> 
> Can you work out a small test to reproduce the problem?
> 
> -- 
> Regards,
> Dmitry A. Kazakov
> http://www.dmitry-kazakov.de

> Is it RPI 1, i.e. without hardware float?

The page :
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2835/README.md

leads to :
http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0301h/index.html

and so tells that there is indeed a VFP :
http://infocenter.arm.com/help/topic/com.arm.doc.ddi0301h/Cegdejjh.html

> Where did you get the compiler for it?
Well, it runs raspbian and so it has gnat and gnat-gps using synaptic packet manager or apt-get...

> > Could you tell please if "GCC-long-offsets" is the right choice ?
> 
> That looks OK.
But it seems not.

> Can you work out a small test to reproduce the problem?
Your test_http_server looks small enough. It runs fine with "Pragma-atomic" and not with "GCC-long-offsets".

I have reinstalled Gnoga / Simple Components using "Pragma-atomic" and I will soon be able to tell if it works like that or not.

And the result is OK !

Thanks for your help.

BR,
Stéphane


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

* Re: ANN: Simple Components for Ada v4.20
  2017-03-13 14:09             ` slos
@ 2017-03-13 15:22               ` Dmitry A. Kazakov
  0 siblings, 0 replies; 12+ messages in thread
From: Dmitry A. Kazakov @ 2017-03-13 15:22 UTC (permalink / raw)


On 13/03/2017 15:09, slos wrote:
>>> Could you tell please if "GCC-long-offsets" is the right choice ?
>>
>> That looks OK.
> But it seems not.

In that case System.Storage_Offset should be 32 bit.

On RPI 2 it is 64-bit. I have no boot image for RPI 3 in ARM64 mode to 
verify, but most probably pragma Atomic must there. For the former it is 
GCC-long-offsets.

-- 
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de


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

end of thread, other threads:[~2017-03-13 15:22 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-12  8:39 ANN: Simple Components for Ada v4.20 Dmitry A. Kazakov
2017-03-12 11:49 ` Björn Lundin
2017-03-12 13:16   ` Dmitry A. Kazakov
2017-03-13  8:42     ` slos
2017-03-13  9:20       ` Dmitry A. Kazakov
2017-03-13 10:17         ` slos
2017-03-13 10:50           ` Dmitry A. Kazakov
2017-03-13 14:09             ` slos
2017-03-13 15:22               ` Dmitry A. Kazakov
2017-03-13 10:44         ` slos
2017-03-13  9:09     ` G.B.
2017-03-13  9:52       ` Dmitry A. Kazakov

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