opa:无法编译 hello 聊天演示(另一个错误)

问题描述 投票:0回答:2

我知道还有另一篇关于此问题的文章,但是,我有一个与 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) 并安装了所有依赖项(以下文档)。我已经从 .deb 包安装了 opa (opa_1.0s3.5+build687_amd64.stable.deb)。

我也尝试从源代码构建它,配置步骤抱怨缺少一些依赖项。也许这就是解决问题的关键?

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)

配置脚本声明缺失的软件包都安装在我的系统中。

dependencies chat sample opa
2个回答
2
投票

关于从源代码编译Opa,这是我几个月前做出的答案:

  • git克隆https://github.com/MLstate/opalang.git
  • cd 欧帕朗
  • dependencies/installation_helper.sh --prefix ~/Opa
  • 更改 ~/.profile 中的 PATH :export PATH=~/Opa/bin:$PATH
  • 重新获取 .bashrc 的源代码:source ~/.profile
  • ./配置-前缀~/Opa
  • 全部安装
  • 你的新 opa 编译器应该位于 ~/Opa/bin :)

1
投票

Giacomo,您引用的示例来自即将推出的 Opa S4 版本的文档。它使用将在该版本中引入的 Opa 新语法。如果您想编译它,则需要使用 S4 的预览版,即按照此处的说明进行操作(即您需要 Opa build 1024 或更高版本并使用

--parser js-like
选项进行编译)。希望有帮助。

附注您已安装的版本(S3.5 内置 687 包括 S4 的预览版)。

© www.soinside.com 2019 - 2024. All rights reserved.