IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Applications et environnements graphiques Discussion :

Installer Gnat sous Debian sans être root


Sujet :

Applications et environnements graphiques

  1. #1
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut Installer Gnat sous Debian sans être root
    Hi all,

    je programmais mes cgi en C, et je décide de migrer les codes vers Ada. Seulement, sur mon serveur d'herbergement, je n'ai évidement pas de compte root (et inutile de proposer aux admins de l'installer, ils sont sourds même pour les questions normales... Cegetel, que je vous déconseille fortement). Donc j'ai télécharger une archive d'installation, que j'ai décompressé sous un repertoire auquel j'ai un acces lecture/écriture.

    J'ai écrit un petit programme hello-world en Ada. J'essai de le compiler avec gnat make... ko, il ne trouve pas gnatmake, et je ne sais pas comment changer la variable path. Pas grave, j'invoque directement ./gnatmake, ko aussi. J'essai d'invoquer directement ./gnat1... ko, il me me dit qu'il ne trouve pas system.ads. Pas grave, je copie system.ads dans le repertoire courant. Et là maintenant, il ma dit que Text_IO n'est pas un package standard.

    Je fais comment maintenant ?
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  2. #2
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Bonjour,

    Pourrais-tu indiquer quelle archive tu as téléchargé et installé ?

    Pour changer la variable PATH, c'est simple il suffit d'exécuter PATH=$PATH:$HOME"/bin" par exemple. En fait il n'y a pas d'opérateur de concaténation, il suffit juste de tout coller à la suite.

    Et pour finir je crois que ta question serait mieux dans le forum Linux.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  3. #3
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Merci Celelibi

    Je vais voir comme ça pour path, mais j'ai l'impression que l'environnement utilisé pour l'execution des programme, n'est pas le même que pour le shell (il faudra peut-être que je passe par la commande env alors, je l'ai découvete par hasard)

    Mais je ne comprens pas, tu me dis que je dois poster dans le forum Linux... mais c'est pas le forum Linux ici ? (Linux & developement pour Linux).

    En fait, avec gcc, il y a toujours un truc du genre xxx1... (gcc1, ou cpp1), et ici c'est gnat1. Ce truc a l'air fondemental, et il ne sait pas ou trouver les librairie stantard. Mais si j'essai de le lancer avec -h ou --help, ou sans rien, il refuse desespérement de me donner la moindre aide. Il faudrait en fait que je sache si on peut utiliser une variable d'environnement, ou si on peut lui donner le chemin d'un fichier de configuration quelqu'onque.

    L'archive que j'ai téléchargé, c'est celle de Slackware (j'avais éssayé avec un archive rpm, mais sans succé). J'aime mieux les archives slackare, elle sont plus simple, plus accessible et plus légère, et elle sont déjà organisées en repertoire.

    Merci encore pour ta réponse
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  4. #4
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    En fait tu avais posté dans "Autres Langages et Outils", mais un modo l'a déplacé au bon endroit.

    Pour que la modification de la variable $PATH soit prise en compte par les futures applications lancés il faut faire :Tu peux aussi mettre la modification de la variable PATH ainsi que l'export dans ton fichier .bashrc (ou .bash_profile) pour que cette modification reste au prochain redémarrage du shell.

    Sinon tu peux aussi ajouter/modifier une variable d'environnement pour un seul programme de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MAVAR=trucmachin leprogramme --argument


    Tu sais, les packages rpm ou tgz (ceux de slackware) sont faits pour être installés sur le système tout entier en tant que root, et pas pour une "installation individuelle".

    Je pense que tu devrais plutôt chercher à compiler gnat à partir des sources, comme ça tu pourras choisir le répertoire d'installation ; ça se fait en général avec la commnde ./configure --prefix=$HOME


    D'ailleurs je me demande pourquoi tu veux installer un compilateur. En général on cherche plus à mettre des programme déjà compilé plutôt que des compilateurs. :p
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  5. #5
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Hello,

    je comprends que tu me trouve bizzare de vouloir installer un compilateur,parce que c'est sure que c'est les binaires qui m'interesse. Si je fait comme ça, c'est parce que je suis sous Windows, et que je ne peux donc pas importé des exe Windows sur un serveur sous Linux

    et comme mon pc est trop petit, je ne peux pas installer linux sur mon pc, et donc le seule moyen pour moi de compiler des programmes Ada pour Linux, c'est d'intaller un compilateur sur le serveur, dans mes repertoires. J'ai 100M d'espace sur le serveur, donc je peux me le permettre. Je me connecte en telnet ssh... je trouve ce truc vraiment marrant et amusant

    Je faisait déjà ça avant, quand mes cgi étaient en C : j'envoyais les sources par FTP, et je me connectais en ssh pour compiler et installer. Mais je ne veux plus coder en C (je me suis juré de ne plus mettre le nez dans des codes C, sauf pour aider et répondre à des questions sur les forums).

    Merci encore pour toutes les infos aux sujet du shell.. je vais essayer de mettre un .bashrc sur mon home (ou le modifier s'il y est déjà).

    Pour ce qui est de gnat1, j'ai trouvé un page man sur le web, s'y rapportant. Première mauvaise surprise, gnat1 ne reconnait pas la plupart des options standard pour un front-end, tel que pourtant décrit dans cette page man sur gnat1. Il semble quand même reconnaitre -I (pour lui dire où sont les librairies Ada), mais quand j'utilise cette option, le programme se termine immédiatement, avec ce seul message : « Killed » (par qui ? par quoi ? il le fait tout seul ?). Mais si je copie system.ads dans le même repertoire (i.e. dans le repertoire de gnat1), il le trouve, sans être killed (mais alors il ne reconnais pas les autres unités, même si elle sont copiées dans le repertoire, alors que cette stratégie marche avec system.ads, ça ne marche pas avec les autres unités).

    Voilà en résumé.

    Il faudrait trouver quelqu'un qui à l'habitude d'utiliser gnat sous linux.

    En tous cas, encore un grand merci pour ta gentillesse Celelibi, parce je n'en dirai pas tant de la plupart des fanas de linux (.... souvent moqueurs, etc... pardon de dire ça, c'est le vécu qui parle)

    Sinon, si ça ne marche pas, tant pis, je serai encore contraint et forcé contre mon grés une fois de plus d'utiliser un C dont je ne veux plus (parfois je me dis que le C, c'est encore plus collant que microsoft... et je me demande lequel de ces deux monopoles est le pire.... )
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  6. #6
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Et bien pourquoi ne pas booter sur une petite knoppix ou autre livecd pour faire tes compilations (et les débuggages qui vont s'en suivre) ?

    Bien que l'ayant utilisé, je connais pas trop le compilateur gnat, et d'ailleurs, qu'est-ce-que t'as contre le C ?
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

  7. #7
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Citation Envoyé par Celelibi
    et d'ailleurs, qu'est-ce-que t'as contre le C ?
    <flame_ou_pas>Quand même, Ada est d'un autre niveau que le C ! </flame_ou_pas>

    Citation Envoyé par Celelibi
    Et bien pourquoi ne pas booter sur une petite knoppix ou autre livecd pour faire tes compilations (et les débuggages qui vont s'en suivre) ?
    + beaucoup
    Sinon, ne serait-il pas possible de sortir Cygwin pour lequel Gnat est dispo et de faire une cross compilation (là je suis moins certain) ?

    Ai trouvé ça : Ici
    Peut-être en settant (néologisme inside) ADA_INCLUDE_PATH ?

  8. #8
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Citation Envoyé par Celelibi
    Bien que l'ayant utilisé, je connais pas trop le compilateur gnat, et d'ailleurs, qu'est-ce-que t'as contre le C ?
    Celelibi, si je n'aime pas le C, je n'en ai pas pour autant une dent contre toi, donc soit rassuré(e). J'ai mes raisons, mais je n'ai pas l'envie ni le temps de m'en justifier... et ce n'est pas le lieu. N'empêche qu'entre parenthèse, sur ton site, tu as quand même tenté d'introduire Ada si je ne m'abuse...

    Citation Envoyé par Sivrît
    + beaucoup
    Sinon, ne serait-il pas possible de sortir Cygwin pour lequel Gnat est dispo et de faire une cross compilation (là je suis moins certain) ?
    La distribution gnat est basé sur une architecture à la mingw (si je ne me trompe). J'ai vérifié les options de gcc disponnible, et je ne peut pas faire de cross-compilation. J'ai cherché si l'assembler peut produire le format objet pour Linux : nada. Et le processus de compilation ne semble pas passer par du code C intermédiaire (Gnat ne compile pas en C, comme beaucoup le croie à tort). Il faudrait que je vois si je peux récuperer des fichiers assembler, et les compiler/lier sous Linux. J'avais déjà essayé en important les fichier objet, espérant que le format des fichiers objet serait le même (vu que les processeurs cible sont compatibles), mais le lieur sous linux me dit qu'il ne reconnais pas le format des fichiers objets. C'est vrai qu'ayant pour cible un processeur compatible avec celui du serveur, il devrait quand même y avoir moyen de faire des fichiers objets compatible.

    Citation Envoyé par Sivrît
    Ai trouvé ça : Ici
    Peut-être en settant (néologisme inside) ADA_INCLUDE_PATH ?
    Merci pour cette info, je n'avais pas trouvé cette page (juste une autre similaire). Malheureusement, appliqué ces indications n'aboutit à aucun résultat : gnat1 s'arrête toujours en affichant un pathétique « Killed ». Il semberait d'aprés ce que j'ai put en savoir, que gnat1 pouvait s'arrêter de cette manière, s'il est utilisé dans un environement gcc antérieur à la version 3.2.3 mais sur mon serveur j'ai la 3.3.3. Peut-être un bug ? Pourtant gnat fonctionne bien avec gcc 2.8.1 sous windows.

    Je suis déçu que cette migration n'avance pas... j'espère trouver une solution bientôt.

    Bonne soiré à toutes et tuites
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  9. #9
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    A l'heure actuelle, je n'ai toujours pas de solution. Je fait remonter une fois, mais je n'insisterai pas s'il n'y a pas d'autres propositions de solutions.

    J'ai essayé plusieurs version du binaire « gnat1 », qui se terminent toutes par un laconique « Killed » renvoyé sur la console, avant même que la moindre compilation n'ait eu lieu. Je ne sais même pas s'il s'agit d'une faute d'accés mémoire, d'une faute d'opcode invalide, d'une faute d'alignement de donné, ou de quoi-que ce soit d'autre. E tout cas, c'est bien dommage pour un système Ada, que de ce terminer de façon aussi opaque.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  10. #10
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Il y a peut-être une solution simple. Ce n'est pas une solution pour installer Gnat sans être root, mais plutôt une solution pour permettre au driver gcc de trouver ses fichiers systèmes : executable gnat1, librairies ada, etc.. Gcc reconnait une option, -B, qui permet justement de donner le chemin de ces fichiers. Il suffirait dans un premier temps, d'ajouter le chemin de gnat dans mon path. Comme on peut transmettre à Gnat, des paramètres qui sont retransmis à Gcc, alors je pourrais peut-être passer cette option -B à gnat, pour qu'il la passe à gcc. Pour ne pas avoir à taper à chaque fois cette option et sa valeur, je pourrais créer un alias bash pour la commande gnat, qui incluerait l'option de manière transparente.

    Donc avec ceci, je peux installer gnat (en fait copier les fichiers de gnat) dans mon repertoire sur le serveur, et utiliser gnat comme s'il avait été installer normalement dans les repertoires de gcc, par l'intermédiaire de cette option qui fera la liaison entre les deux. Cette une option qui n'est jamais utilisé (parce qu'elle n'est pas utile dans les conditions normales d'utilisation de gcc)... comme elle n'est jamais utilisé, je n'en avais jamais entendu parler, et je l'ai découverte aujourd'hui par hasard en lisant la doc de gcc.

    J'essaierai demain, et je donnerai des nouvelles.
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  11. #11
    Inactif Avatar de Hibou57
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    852
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 852
    Points : 493
    Points
    493
    Par défaut
    Je ne viens toujours pas marquer le topic comme résolu

    J'ai essayé, l'option -B fonctionne bien pour indiquer à GCC l'emplacement de gnat1. Mais ensuite, il y avait un problème avec les librairies Ada. J'ai voulu les indiquer avec la variable d'environnement CPATH, mais elle ne semblait pas être reconnue. J'ai alors essayé d'indiquer l'emplacement des librairies Ada avec l'option -I (i majuscule), et là... plantage de gcc qui me dit qu'en fait c'est gnat1 qui a planté. Pour en avoir le coeur net, je lance alors directement gnat1 pour un test... pour seul message et seul explication : un laconique «Killed».

    Ca ne change pas, Linux est toujours incompatible avec Linux, et les message d'erreur sont toujours aussi verbeux et donnent une aide toujours aussi précieuse.

    Je pensais aujourd'hui peut-être ouvrire un compte sur SourceForge.net... juste histoire d'avoir accès à un compilateur Ada quelque part sur un serveur Linux. Mais d'abord je ne suis même pas sure qu'ils aient Gnat, et ensuite, il faudra que je cré un projet factice juste pour avoir accès à un compilateur Gnat sous Linux... (et là j'ai pas d'idées)

    C'est une bonne idée ou pas ?
    ------------------------------------------------------------
    Sur le web, c'est la liberté qui est gratuite, mais bien évidement pas la consomation ... et encore moins la consomation à outrance
    ------------------------------------------------------------
    Language shapes the way we think, and determines what we can think about [ B. Lee Whorf ] ... mais ce n'est pas tout à fait vrai à 100%...
    ------------------------------------------------------------
    Pascal (FreePascal?) - Ada (Gnat-3.15p)
    XSLT (XSLTProc) - CGI binaires (Ada/C) [ Clavier Arabe ]
    ------------------------------------------------------------

  12. #12
    Membre éprouvé
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Points : 1 122
    Points
    1 122
    Par défaut
    Citation Envoyé par Hibou57
    Ca ne change pas, Linux est toujours incompatible avec Linux, et les message d'erreur sont toujours aussi verbeux et donnent une aide toujours aussi précieuse.
    C'est le genre de phrase parfaite pour lancer un troll.


    Pour ce qui est du "Killed", un processus se kill rarement tout seul. Étant donné que le système sur lequel tu essaye de compiler semble être un système commun à plusieurs usagers il ne serait pas étonnant de voir le noyau patché par grsecurity (qui intègre PaX). Que te donne la commande uname -a ?

    Si il s'avère que le noyau est PaXé, il serait fort probable que le binaire gnat1 nécessite un chpax pour fonctionner correctement.
    Les vaches ne peuvent PAS voler, quoi qu'elles aient pu vous raconter.

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/09/2013, 15h52
  2. Installation OOo2 sous Debian Sarge
    Par troumad dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 06/06/2006, 10h56
  3. Problème installation noyau sous Debian
    Par nicodeme dans le forum Debian
    Réponses: 4
    Dernier message: 07/01/2006, 21h54
  4. Installer php5 sous Debian Sarge
    Par o_live dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 23/11/2005, 09h45
  5. [Kylix] Installer Kylix 3 sous Debian
    Par jfcocu dans le forum EDI
    Réponses: 3
    Dernier message: 02/10/2005, 18h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo