opa: невозможно скомпилировать демо hello chat (другая ошибка) - PullRequest
2 голосов
/ 10 декабря 2011

Я знаю, что есть еще один пост по этому поводу, но у меня ошибка, отличная от Opa не скомпилирует hello_web.opa .

При попытке скомпилировать hello_chat.opa семпл 3. Здравствуйте, чат , я получаю следующую ошибку:

In hello_chat.opa [1:29-1:29 | global chars=29-29]
Syntax error at line 1, column 29
The error may be in the following citation, usually in the red part (starting at ?) or just before:
<<type message = {string author?,string text}

room = Network.network(message) (Network.cloud("room"))

do function start() {
 >>
Hint: expected "'" or "..." or ":" or ";" or "_" or "}" or "~" or '_' or <spacing> or <value identifier> or ['0'-'9'] or ['A'-'Z'] or ['a'-'z']
(while parsing <record type fields> starting at line 1, column 16)
Error
Syntax error

Я использую Ubuntu 64 (v11.04) и установил ВСЕ зависимости (следуя документации). Я установил opa из пакета .deb (opa_1.0s3.5 + build687_amd64.stable.deb).

Я также пытался собрать его из исходного кода, шаг настройки жалуется на отсутствие некоторых deps. Может быть, это ключ к решению проблемы?

giacomo@linuxlap:~/src/opalang$ ./configure
Checking your OS... Linux
Checking your architecture... x86_64
Checking ocamlopt... /usr/local/bin/ocamlopt
Checking ocamlbuild... /usr/local/bin/ocamlbuild
Checking ocamldir... /usr/local/lib/ocaml
Checking ocaml version... 3.12.1
Checking your ocaml setup... 3.12.1, Unix 64bit
Checking for camlp4... /usr/local/bin/camlp4o
Checking for perl 5... found
Checking for java... found
Checking for camlidl... Disabled
Checking for ocamlfind... Not found (but optional)
Checking for ssl... Not found
Checking for cryptokit... Not found
Checking for camlzip... Not found
Checking for graph... Not found
Checking for ulex... Not found

Not configured. You need the following libraries installed:
  - ocaml_ssl (might be found in package libssl-ocaml-dev)
  - cryptokit (might be found in package libcryptokit-ocaml-dev)
  - camlzip (might be found in package libzip-ocaml-dev)
  - ocamlgraph (might be found in package libocamlgraph-ocaml-dev)
  - ulex (might be found in package ocaml-ulex)

В моей системе ВСЕ установлены пакеты, которые настраивают пропущенные утверждения сценариев.

Ответы [ 2 ]

2 голосов
/ 10 декабря 2011

о компиляции Opa из источника, это ответ, который я сделал несколько месяцев назад:

  • мерзавец клон https://github.com/MLstate/opalang.git
  • CD Opalang
  • зависимости / Installation_helper.sh --prefix ~ / Opa
  • измените ваш PATH в вашем ~ / .profile: экспортируйте PATH = ~ / Opa / bin: $ PATH
  • повторно отправьте ваш .bashrc: source ~ / .profile
  • . / Configure -prefix ~ / Opa
  • сделать все установки
  • Ваш новый опа-компилятор должен быть в ~ / Opa / bin:)
1 голос
/ 10 декабря 2011

Giacomo, пример, на который вы ссылаетесь, взят из документации к готовящемуся релизу Opa S4. Он использует новый синтаксис Opa, который будет представлен в этом выпуске. Если вы хотите скомпилировать его, вам нужно будет использовать предварительный просмотр S4, то есть следуйте инструкциям здесь (т. Е. Вам нужен Opa build 1024 или выше и скомпилируйте с опцией --parser js-like). Надеюсь, это поможет.

P.S. версия, которую вы установили (S3.5 build 687 * не включает предварительный просмотр S4).

...