[Ada][gnat-9][debian 11.7] Erreur : access before ellaboration

Bonjour,
J’ai ce petit problème ; Lequel surviens parce que j’ai écrit ceci :

generic
   Glossary_Filename : String;
   Width_Line :Word_Range;
   Max_Words : Lexical_Range;
   Samples_Max : Positive;
   Network_Filename : String;   

package El.Hander is
   pragma prellaborate_body (El.Hander);
   
   type Word_Type is new Lexical_Range range 0..Max_words;
   
   function Nb_Binary_Digits(Count : in integer) return Natural;      
   Word_Size : constant Word_Size_Range := Nb_Binary_Digits(Max_Words);

Sauriez vous s’il s’agit d’une erreur de ma part ? Car le programme compile sur debian 9.13 et 10.13.
S’il vous plaît !
Merci

Si vous savez pas ? Ne vous inquiétez pas, j’ai simplement déplacer la fonction Nb_Binary_Digits dans la bibliothèque El.

Le programme compile en fait sur Gnat-9 mais à l’exécution l’erreur access before ellaboration est levé ; Je sais plus par quelle exception ; A l’éxécution.

Comme l’attribut size ne passe pas nom plus, mais à la compilation… Gnat 9 dit « range check failed ». Voilà, c’est déplacé.

Vraiment pas de chance effectivement, la poisse :

                gnat
buster   (10) ->  8
bullseye (11) -> 10
bookworm (12) -> 12

Pardon, mais je vois pas le fond de ton propos !

@anon30990328 visiblement c’est de la programmation sous ADA. Comme ce langage n’est pas le plus fréquent et que son nom est court, il aurait été bon de l’inclure dans le titre pour pouvoir par exemple l’identifier facilement parmi les autres . Si je veux connaître les messages déjà publiés relatifs à ADA, ça devient au fil du temps et en l’état actuel plus difficile.

Ce que veut dire @Verner c’est que puisque tu utilises Gnat-9, ta version de Debian doit être antérieure à la version 11 connue sous le nom de Bullseye. Quel rapport avec ta question ? Et bien préciser l’environnement tout comme le langage utilisé facilitent la lisibilité incitant au passage à plus de participation, à plus de pertinence, en d’autres termes à un accroissement de la qualité des échanges.

Rien ne t’empêche d’éditer tes questions et d’améliorer leur lisibilité. Attention toutefois à tenir compte des réponses déjà transmises de manière à ce qu’elles restent cohérentes avec les questions modifiées.

On écrit « Ada » et c’est déjà dans le titre du sujet.

Je n’en connais pas encore la profondeur, mais parfois, en touchant le fond, ça peut rebondir, par exemple en comprenant la provenance de gnat-9 non fourni par Debian.
Retour de:

apt policy emacs gnat

Le sujet actuel:

Je crains que ce problème ne soit compréhensible uniquement par un utilisateur Ada (probabilité statistiquement extrêmement faible de trouver résolution sur un forum Debian).

@anon30990328, Oui Ada apparaît dans le titre, mais seulement maintenant ! Mieux vaut tard que jamais. J’apprends aussi qu’il s’agit d’un contexte Emacs. C’est peut être là le point de départ ou un élément essentiel pour se repérer, pour tenter de partir d’un contexte similaire facilitant les choses.

Ada est dans le titre depuis la création du sujet.

gnat-9 fait parti de la distribution debian, au moins depuis debian 11.7.

Le problème énoncé dans ce sujet est solvé.
J’ai déplacé la fonction évoqué à la levé de l’exception.
Merci de votre compréhension.

Pas surpris que ton problème n’ait rien à voir avec la version de gnat, mais effectivement, n’étant pas sur Bullseye, je me suis fait piéger par Debian – gnat

gnat-9 introduit en 2019 reste disponible dans Bullseye, et le changelog de gnat-9 est en fait celui de gcc-9 [ gcc-9_changelog ]

Package: gnat-9
Source: gcc-9

gnat-10 est le gnat stable par défaut depuis 2020, ce qui aurait laissé le temps de trouver de potentiels bugs relatifs ou non à ‹ ada › .
gnat-12 est la version gnat de bookworm qui passe en stable dans quelques jours.

Comment ça ?
Mon programme compile et tourne sur debian 9.13 et ne tourne pas sur debian 11.7.
Si c’est pas un problème de version, d’où celà vient - il ?
Aurais je joué à un jeu en vous soumettant le problème ?

Comme tu tourne autours du pos depuis que tu passe ici ; Sans t’interresser à la structure du programme faisant l’object d’observation à cause d’une execption levé ; Je t’invite à faire marche arriere concernant l’intérêt que tu as à participer à ce sujet.
Il semble de plus que tu n’écrive pas avec Ada, langage de programmation nommé Ada, s’écrivant « Ada ».
Bonne continuation néanmoins.

Ce qui m’intéressait était juste ça, et qui aurait fait gagner du temps, qui pour toi n’a aucune utilité, mais pour Debian en a une essentielle.

apt policy emacs gnat

Si tu confonds Debian 9 avec gnat-9, dialogue de sourd relativement au titre de ton sujet ( debian 11.7 )
Aucune importance finalement, du moment que tu te comprends, c’est l’essentiel.

Je comprends certaine chose !
Bonnes journées !