2017-06-07 2 views
0

Donc, je cours Mac OS X Yosemite 10.10.5. J'ai besoin d'utiliser OCaml 3.08.3 pour exécuter someone else's code (le code ne fonctionnera pas avec la dernière version d'OCaml ...), et j'ai téléchargé le fichier .dmg here. L'installation semblait être bien, mais chaque fois que je lance la commande « OCaml » dans le Terminal, je reçoisOCaml téléchargé, obtenir l'erreur "Type de processeur défectueux dans l'exécutable"

-bash: /usr/local/bin/ocaml: /usr/local/bin/ocamlrun: bad interpreter: Bad CPU type in executable 

Quelqu'un sait ce qui se passe? J'apprécierais grandement toute aide.

Répondre

3

La version que vous avez téléchargée ne fonctionne que pour Mac OS X 10.3 (Panther). Cela pourrait fonctionner pour d'autres versions, mais ce n'est pas garanti. Dans MacOS, les fichiers binaires compilés pour une version ne sont souvent pas compatibles avec les autres versions.

Si vous avez besoin d'une version d'OCaml pour laquelle il n'y a pas de distribution binaire, vous pouvez toujours la créer vous-même, soit manuellement (de façon difficile), soit via le système OPAM.

D'autres solutions utiliseraient Docker ou une machine virtuelle.

Mise à jour

En outre, le code que vous essayez de compiler n'a pas vraiment besoin d'exactement 3,08. Il compile parfaitement sur n'importe quelle version d'un compilateur, jusqu'à 4.04. Le problème est que dans un système de construction, un indicateur d'avertissement fatal est activé pour que tous les avertissements soient traduits en erreurs (une très mauvaise pratique de distribution de logiciels, je voudrais dire). Les bonnes nouvelles sont qu'il peut être facilement réparé, il suffit d'ouvrir Makefile dans un éditeur de texte, et de supprimer toutes les occurrences de la chaîne suivante -warn-error A.

+0

Wow, votre suggestion a tout réglé! Merci beaucoup! –

+0

Peut-être pas le meilleur endroit pour poser, mais une petite question (je n'ai jamais utilisé OCaml auparavant): quand je cours le code (disons "./ecc

+1

Il suffit de le rediriger './ecc result.cliques' – ivg