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

Caml Discussion :

[OCaml]Compiler en code natif: problème


Sujet :

Caml

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut [OCaml]Compiler en code natif: problème
    Bonjour,
    J'ai voulu compiler un programme en code natif avec ocamlopt.
    Le fichier source était tout simple et s'appelait test.ml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_string("Bonjour !");;
    Dans le console, je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ocamlopt -o test.exe test.ml
    Et ça m'affiche ceci :
    Nom de commande ou de fichier incorrect
    File "caml_startup", line1, characters 0-1:
    Error: I/O error: as -o "C:\DOCUME~1\Standard\LOCALS~1\Temp\camlstartup23319f.o"
    "C:\DOCUME~1\Standard\LOCALS~1\Temp\camlstartuppcecbb9.s": Ivalid argument
    Y-a-t-il un moyen de trouver d'où vient cette erreur?
    Ou bien un autre moyen de compiler en code natif ?

    Merci !

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  2. #2
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Pour commencer, enlève les parenthèses autour des arguments, et remplace-les par des espaces.

    Ensuite, ne nomme jamais un programme test. Je ne pense pas que la source du problème soit celle-là, car tu es sur Windows ; sous Unix, la commande test existe déjà.

    Deuxièmement, as-tu installé un compilateur C ? du genre Visual C++ ou un autre si tu es sur MinGW ou Cygwin...
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Bonjour,
    J'ai ocaml pour MinGW, et j'ai MinGW .

    Ensuite, j'ai créé un autre fichier source qui contient ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print_string "Bonjour !" ;;
    et qui s'appelle bonjour.ml .

    Ensuite, quand je veux compiler, ça me met cette erreurs :
    Nom de commande ou de fichier incorrect
    File "caml_startup", line 1, characters 0-1:
    Error I/O error: as -o "C:\DOCUME~1\Standard\LOCALS~1\Temp\camlstartupfdcb32.o"
    "C:\DOCUME~1\Standard\LOCALS~1\Temp\camlstartupdcff91.s": Invalid argument
    Voila ...
    Joyeux noël !

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  4. #4
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Essaye avec...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    print_endline "Bonjour !"
    ;;
    T'as fait comment pour installer OCaml ? Tu n'aurais pas "écrasé" une ancienne installation, c'est-à-dire installer sans avoir désinstallé avant ?
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Bonjour,
    Le résultat est le même, l'erreur ne change pas avec le bout de code que tu m'as donné .

    Non, je n'ai pas écrasé d'anciennes versions de OCaml.
    Pour installer OCaml, j'ai utilisé l'installeur pour windows, et je crois que j'ai tout laissé ce qu'il y avait par défaut.

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  6. #6
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Je n'ai jamais rencontré cette erreur avec MinGW 5.1.3, donc ça va pas être facile à diagnostiquer.
    J'ai ocaml pour MinGW, et j'ai MinGW.
    C'est l'installation que je recommande.
    Testes les outils MinGW à l'aide de la ligne de commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gcc --help
    as --help
    ld --help
    J'entrevois trois possibilités :
    1. le répertoire "C:\DOCUME~1\Standard\LOCALS~1\Temp" n'existe pas
    2. tu es loggué sur un compte qui ne te donne pas accès au répertoire "C:\Program Files" et/ou au répertoire "C:\DOCUME~1\Standard\LOCALS~1\Temp"
    3. si ça n'est ni l'un ni l'autre alors désinstalle MinGW et réinstalle une version plus ancienne (MinGW 5.1.3) ou avec un autre installateur
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Bonjour,
    Quand je tape :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    gcc --help
    as --help
    ld --help
    il y a une liste de commande qui s'affiche, et ça ne signale aucune erreur.
    Et aussi, je n'ai pas MinGW 5.1.3 mais MinGW 4.1.0.

    Je suis aller voir, et il me semble que
    "C:\DOCUME~1\Standard\LOCALS~1\Temp"
    n'existe pas...

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  8. #8
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Je suis aller voir, et il me semble que
    "C:\DOCUME~1\Standard\LOCALS~1\Temp"
    n'existe pas...
    Tu n'es pas un habitué des comptes utilisateurs et des répertoires Windows, n'est-ce-pas ?
    Si le répertoire existe c'est sous un autre nom (oui je sais c'est débile), normalement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    C:\Documents and Settings\Standard\Local Settings\Temp
    Standard est le nom d'un compte utilisateur.
    Ton nom d'utilisateur à toi est affiché en haut du menu démarrer.

    L'erreur n'a rien probablement rien à voir avec Objective Caml :
    • il faut installer MingGW pour tous les utilisateurs
    • dans le cas contraire il faut être loggué avec le compte utilisateur qui a permis l'installation
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Bonjour,
    Nous n'avons qu'un seul compte utilisateur : c'est Standard.
    Je pense aussi que MinGW est installé pour tous les utilisateurs.

    Aussi, le dossier Local Settings était caché, je ne le trouvait pas ....

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  10. #10
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Essaye d'installer la version de MinGW recommandée sur le site OCaml. Si ta version est trop vieille, il se peut que tu aies des problèmes.

    As-tu bien suivi les procédures d'installation que l'on trouve sur les sites de référence, OCaml et MinGW ?

    Malheureusement, je n'ai jamais utilisé MinGW, donc je ne peux pas t'aider plus ou mieux, pour l'instant.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  11. #11
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Il y a quelque chose que je ne comprends pas:
    sur cette page du site d'ocaml, ils disent de ne pas télécharger MinGW sur www.mingw.org sur le site d'OCaml, ils disent :
    Do *not* install the Mingw/MSYS development tools from www.mingw.org:
    these are not compatible with this Caml port
    Je crois qu'ils expliquent qu'ils ne sont pas compatible avec OCaml.

    Dans ce cas, où doit-on télécharger MinWG ?

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  12. #12
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Moi j'ai utilisé deux versions de MinGW, 4.1.0 (sous Windows98se) et 5.1.3 (sous XP-pro), mais en fait j'ai comme le mauvais présentiment selon lequel tu serais en fait sous Vista.

    Tout ce que je peux faire c'est:
    1. t'encourager à réinstaller MinGW 5.1.4
    2. tester un helloworld.c histoire de vérifier que MinGW est bien installé
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  13. #13
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    Non, je ne suis pas sou Vista !
    Je suis sou Windows 2000.

    Par contre, à l'installation de MinGW 5.1.4 , ça me met cette erreur :
    Error : failure reading from tarball.

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  14. #14
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Ne lis même pas la doc de l'INRIA, ça ne sert à rien, ceux qui l'écrivent n'utilisent pas Windows, et ils ont bien raison vu que même avec MinGW/Cygwin le pingouin n'arrive pas à passer par la fenêtre.

    Il te reste encore à essayer MinGW 5.1.3.
    En cas d'échec tu peux te rabattre sur Cygwin, ça marche mieux pour certains.
    Et même si ça marche ne compte pas trop utiliser LablGL & LablGTK
    Mais pour des applications console c'est ok.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  15. #15
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    J'ai lancé l'installation de MinGW 5.1.3 , mais à un moment, ça me dit :
    Your connection appears to have dropped out. Reconnect your dial up or check your IE proxy settings
    Le début, il me semble que ça dit que ma connection marche plus, où quelque chose comme ça, mais après, je ne comprends pas ...

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  16. #16
    Membre éprouvé
    Avatar de InOCamlWeTrust
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 1 036
    Points : 1 284
    Points
    1 284
    Par défaut
    Essaye Cygwin, ou si tu trouves une version de Visual C++, tu peux même installer la version Windows classique (pour faire de la compilation native).

    En effet, si tu ne cherches pas à faire de la compilation native, la version Win32 suffit.
    When Colt produced the first practical repeating handgun, it gave rise to the saying God created men, but Colt made them equal.

  17. #17
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    J'avais déjà essayé d'installer la version express de Visual C++ , ça ne marchait pas

    Avec Cygwin, on produit du code natif ?

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  18. #18
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    Le début, il me semble que ça dit que ma connection marche plus
    L'installateur MinGW est un peu particulier: il faut une connexion internet active pour qu'il télécharge les logiciels à installer, tu ne peux pas faire l'installation off-line.

    Avec Cygwin, on produit du code natif ?
    Oui, mais l'inconvénient d'un exécutable natif produit par Cygwin c'est qu'il necéssite une dll alors qu'un exécutable natif produit par MinGW est complètement autonome.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 71
    Points : 30
    Points
    30
    Par défaut
    C'est bizarre, je suis tout le temps connecté à internet, et quand j'ai essayé d'installer MinGW, j'étais conencté normalement ...

    Pensez à , lisez les !
    Fujitsu Siemens AMILO DEKSTOP Li 3745, Intel Core 2 Quad, 4 GO RAM, 640GO DD, nVidia GeForce GT120(1gb), Windows Vista Home Prenium, Ubuntu 9.04

  20. #20
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2008
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2008
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    je ne m'y connais pas trop (je ne vois pas ce qu'est le mode natif), mais quand je compile je lance dans un fichier .bat :

    ocamlc -c fichier.exe fichier.ml

    et je récupère le fichier.exe, fichier.cmi et fichier.cmo

Discussions similaires

  1. compiler en code natif
    Par vb159753 dans le forum Visual Studio
    Réponses: 2
    Dernier message: 17/02/2011, 22h03
  2. Problème pour compiler le code source de Derby
    Par subzero82 dans le forum Général Java
    Réponses: 1
    Dernier message: 11/03/2009, 10h33
  3. Réponses: 4
    Dernier message: 01/06/2008, 18h23
  4. Réponses: 3
    Dernier message: 27/04/2007, 17h30
  5. problème de compilation de code c sur linux
    Par bejaouijamil dans le forum C
    Réponses: 11
    Dernier message: 10/01/2007, 15h36

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