2011-08-05 3 views
2

J'avais envie de me salir les mains avec Opa, mais j'avais vraiment ressenti l'absence de REPL, qui est mon arme de choix pour faire face à une nouvelle langue. Et voilà, le Blog d'Opa a mentionné un outil appelé opatop qui semblait être juste cela, mais il ne semble pas être inclus les distributions standard Mac ou Ubuntu.Opa build failure sous OS X Lion

Je trekked vers GitHub, a saisi la source, et a commencé à construire, mais je me fais la même erreur mentionné here:

+ /opt/local/bin/ocamlopt.opt dynlink.cmxa unix.cmxa str.cmxa nums.cmxa -g threads.cmxa -thread -I +zip zip.cmxa -I +ocamlgraph graph.cmxa -I /opt/local/lib/ocaml/ulex ulexing.cmxa buildinfos.cmxa libbase.cmxa compilerlib.cmxa libtrx.cmxa opacapi.cmxa passlib.cmxa libqmlcompil.cmxa jslang.cmxa ocamllang.cmxa libbsl.cmxa libbsl/bslregister.cmx opalang.cmxa -o libbsl/bslregister.native 
File "_none_", line 1, characters 0-1: 
Error: Cannot find file dynlink.cmxa 
Command exited with code 2. 

Je sais à peu près rien sur le développement OCaml, mais il ressemble à d'autres Les fichiers ayant la même extension dans le répertoire de bibliothèque correspondant sont des "fichiers de bibliothèque native OCaml". Étant donné que, est-ce juste une bibliothèque qui n'était pas incluse dans la distribution d'OCaml avec laquelle j'ai fini? Le Mantis bug référencé dans le lien ci-dessus donne l'impression qu'il peut y avoir des hypothèses contradictoires sur les environnements de construction au travail.

Peu importe, quelqu'un peut-il offrir des conseils?

Merci!

Répondre

2

OCaml ne se construit pas avec Dynlink natif pour Lion encore, si dynlink.cmxa n'existe pas dans l'installation par défaut.

Le patch suivant vous permettra de le construire. Dans le répertoire src OCaml, patch -p1 < PATH/TO/PATCH et réinstallez OCaml selon le cas.

Ceci est pour OCaml 3.12.1

--- a/configure 2011-07-04 14:15:01.000000000 -0700 
+++ b/configure 2011-08-26 10:18:42.000000000 -0700 
@@ -619,9 +619,9 @@ 
    case "$host" in 
    *-*-cygwin*)     natdynlink=true;; 
    i[3456]86-*-linux*)   natdynlink=true;; 
    x86_64-*-linux*)    natdynlink=true;; 
- i[3456]86-*-darwin10.*) 
+ i[3456]86-*-darwin1[01].*) 
     if test $arch64 == true; then 
     natdynlink=true 
     fi;; 
    i[3456]86-*-darwin[89]*)  natdynlink=true;; 
1

J'ai étudié la construction d'Opa sous OS X Lion et ai poussé 2 patchs sur l'opalang en attendant l'approbation pour résoudre les problèmes principaux.

Ainsi, lorsque les correctifs seront disponibles, ceci est mes pas (comme je me souviens) pour faire fonctionner Opa sous Lion:

d'abord, installer les outils nécessaires:

  • Installer OS X Lion
  • Installation Xcode 4
  • installer MacPorts
  • installer wget (macports)
  • Installer coreutils (MACP Orts)
  • Installer md5sha1sum (macports)
  • (je pense que c'est tout ...)

compilez Opa de la source:

  • clone git https://github.com/MLstate/opalang.git
  • cd opalang
  • dépendances/installation_helper.sh --prefix ~/Opa
  • changez votre PATH dans votre ~/.profile: export PATH = ~/Opa/bin: $ PATH
  • re source de votre .bashrc: source de ~/.profile
  • ./configure --prefix ~/Opa
  • make all install
  • Votre nouveau compilateur opa devrait être dans ~/Opa/bin :)
+0

Tout cela est ce que je ne (modulo certains ports supplémentaires installés et les choix sur l'emplacement d'installation), donc je vais Hâte d'entendre que vos patches ont été acceptés ! :) – dfreeman

+0

Mes commits semblent avoir été poussés :) – Fred

+0

Malheureusement, je vois toujours la même erreur: Impossible de trouver le fichier dynlink.cmxa – dfreeman