[Linux] Programmation en Ada 2006 ?

Résolu
Bonjour,

Je viens d'isntaller la dernière version du langage de programmation Ada : version 2006:

1) Téléchargement
- https://www.adacore.com/community
- https://www.adacore.com/community

2) Installation :
/usr/local/Ada_2006

bin/  lib/  libexec/  share/

 /bin 
addr2line*  gcov*       gnatchop*     gnatlink*    gnatpp*    gps_exe*
cbrowser*   gdb*        gnatclean*    gnatls*      gnatprep*
cpp*        gnat*       gnatelim*     gnatmake*    gnatstub*
dbimp*      gnatbind*   gnatfind*     gnatmem*     gnatxref*
gcc*        gnatbl*     gnathtml.pl*  gnatmetric*  gprmake*
gccbug*     gnatcheck*  gnatkr*       gnatname*    gps*

/lib
gcc/  libffi-2.00-beta.so*  libffi.la*  libgcc_s.so*   python2.3/
gps/  libffi.a                  libffi.so*  libgcc_s.so.1

libexec
gcc/
i686-pc-linux-gnu/
3.4.6/
as*  cc1*  collect2*  gnat1*  install-tools/  ld*

dans install-tools/  :       fixincl*    fixinc.sh*   mkheaders*

share/
doc/  examples/  gps/  themes/


3) Codage
-- ********************************************************
-- Nom Prog : ADA01_01.adb
-- Type : Application
-- Sujet : Modele de procedure
--
-- Auteur :
-- Version : 1.3
-- Creation : 17/09/2004
-- Dern. Modif : 04/10/2006
--
-- Compilateur : GNAT 3.12p - GNAT 2006
-- Remarques : Environnement Linux Debian 3.1 release 2
-- ********************************************************

-- Paquetage(s) utilise(s)
with Ada.Text_Io;
use Ada.Text_Io;
procedure Ada01_01 is
-- partie declarative
-- Variables, Procedure, Fonctions, ...
begin
-- Debut du corps de la procedure
-- Message de debut d'execution
Put_Line ("Debut - Execution ADA01_01");
New_Line;
Put_Line ("Modele de procedure GNAT 3.12p");
Put_Line (" Windows 9x / Me / NT / XP / Vista - Linux RedHat / Debian / Ubuntu / Mandriva / ...");
Put_Line ("------------------------------------------------------------------------------------");
New_Line;
-- Procedure proprement dite
-- Message de fin d'execution
New_Line;
Put_Line ("Fin - Execution ADA01_01");
end Ada01_01;


4) Compilation du code source
gnat
GNAT GPL 2006 (20060522-34)
Copyright 1996-2006, Free Software Foundation, Inc.

List of available commands

gnat bind               gnatbind
gnat chop               gnatchop
gnat clean              gnatclean
gnat compile            gnatmake -f -u -c
gnat check              gnatcheck
gnat elim               gnatelim
gnat find               gnatfind
gnat krunch             gnatkr
gnat link               gnatlink
gnat list               gnatls
gnat make               gnatmake
gnat metric             gnatmetric
gnat name               gnatname
gnat preprocess         gnatprep
gnat pretty             gnatpp
gnat setup
gnat stub               gnatstub
gnat xref               gnatxref

Commands find, list, metric, pretty, stub and xref accept project file switches -vPx, -Pprj and -Xnam=val

gnatmake Ada01_01.adb
fatal error, run-time library not installed correctly
cannot locate file system.ads
gnatmake: *** make failed.


D'avance merci.
--
L'Open source et Linux sont l'avenir de l'informatique ;-)

6 réponses

  1. Contributeur
    Bonjour,

    Je n'ai pas réussi à compiler la source, pourtant j'ai suivi les étapes d'installation classique sous Linux ?
    0
    1. Contributeur
      Bonjour,

      Y-a-t-il quelqu'un qui connait la manip ?
      D'avance merci
      0
      1. Modérateur
        Sous ma Debian Etch
        johand@horus:~/src/ada$ gnat
        GNAT 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)
        Copyright 1996-2005 Free Software Foundation, Inc.
        <cut/>
        johand@horus:~/src/ada$ gnat make ADA01_01
        gcc-4.0 -c ADA01_01.adb
        ADA01_01.adb:18:11: warning: file name does not match unit name, should be "ada01_01.adb"
        gnatbind -x ADA01_01.ali
        gnatlink ADA01_01.ali
        johand@horus:~/src/ada$ rm ADA01_01 ADA01_01.ali ADA01_01.o
        johand@horus:~/src/ada$ gnatmake ADA01_01
        gcc-4.0 -c ADA01_01.adb
        ADA01_01.adb:18:11: warning: file name does not match unit name, should be "ada01_01.adb"
        gnatbind -x ADA01_01.ali
        gnatlink ADA01_01.ali
        
        johand@horus:~/src/ada$ ./ADA01_01
        Debut - Execution ADA01_01
        
        Modele de procedure GNAT 3.12p
         Windows 9x / Me / NT / XP / Vista - Linux RedHat / Debian / Ubuntu / Mandriva / ...
        ------------------------------------------------------------------------------------
        
        
        Fin - Execution ADA01_01
        

        L'invocation de gnat semble incorrecte.
        gnatmake executable
        gnat make executable
        avec comme source executable.adb

        Il faut lire la documentation de manière plus aprofondie...

        Johan
        0
        1. Contributeur
          Merci pour ton aide.

          Je vais réinstaller Ada 2006 dans /urs/local/Ada_2006
          Ajouter dans la variable d'environnement /home/.bachrc

          # Environnement Ada 2006
          export ADA_HOME=/usr/local/Ada_2006
          export PATH=$PATH:$ADA_HOME/bin
          0
          1. Contributeur
            Bonjour,

            /home/**/Desktop/Ada
            Mode console:
            gnat make Ada01_01.adb
            gcc -c Ada01_01.adb
            Ada01_01.adb:18:11: warning: file name does not match unit name, should be "ada01_01.adb"
            gnatbind -x Ada01_01.ali
            gnatlink Ada01_01.ali


            Résultat: Réussi
            Ada01_01* Ada01_01.adb Ada01_01.ali Ada01_01.o
            0
            1. Modérateur
              Ah, voilà.
              Renomme ton unit/fichier (avec cohésion), et tu n'auras plus de warning ;)
              Ceci-dit, je te vois poster souvent, être très curieux sur un tas de sujets,
              Ada n'étant pas très récurent sur CCM..., il suffit d'avoir une bonne habitude de Unix(Gnu en particulier) pour résoudre ce genre de problème.

              Sans rentrer dans le mode troll, je suis sous Debian (etch). Que du bonheur...
              Quelle est ta distribution?
              A bientôt.

              Johan
              0
              1. Modérateur
                Salut,

                Quelle est ta distribution?

                Ce n'est pas un secret ;)
                profil Arno59

                lami20j
                0