从源代码构建时出错

时间:2011-07-26 16:09:28

标签: compiler-errors opa

我有32位架构,所以我必须从源代码构建opa。

配置工作正常:

./configure -ocamlopt /opt/opa/bin/ocamlopt.opt -ocamlfind /opt/opa/bin/ocamlfind

Checking your OS... Linux
Checking your architecture... ix86
Checking ocamlopt... /opt/opa/bin/ocamlopt.opt
Checking ocamlbuild... /opt/opa/bin/ocamlbuild
Checking ocamldir... /opt/opa/lib/ocaml
Checking ocaml version... 3.12.0
Checking your ocaml setup... 3.12.0, Unix 32bit
Checking for camlp4... /opt/opa/bin/camlp4o
Checking for perl 5... found
Checking for camlidl... /opt/opa/bin/camlidl
Checking libnatpmp... /opt/opa/lib/ocaml/libnatpmp.a, OK
Checking miniupnpc... /opt/opa/lib/ocaml/libminiupnpc.a, OK
Checking for ocamlfind... /opt/opa/bin/ocamlfind
Checking for ssl... ocamlfind:/opt/opa/lib/ocaml/ssl, OK
Checking for cryptokit... +cryptokit, OK
Checking for camlzip... +camlzip, OK
Checking for graph... +ocamlgraph, OK
Checking for ulex... +ulex, OK

Congrats, you're all set. Installation will be done in:
/usr/local

回报:

  

Ocamlbuild plugin generation
     

_build / myocamlbuild -no-plugin -j 6 -tag debug pplib / ppml.native   ocamlbase.top libbase / ocamlbase数据库/ database_server.native   jslang / jsstat.native database / database_tool.native   opatop / opatop.native passlib / opatrack.sh qmlcompilers / qmljs_exe.native   compilerlib / opadep.sh opabsl / opabslgen.bypass tools / odep.native   libbase / testfilepos.native opabsl / serverLib.cmi tools / odeplink.native   protocols / genproto.native libbase / bslServerLib.ml   opalang / opa2opa.native protocols / mlidl.native   tools / jschecker / compiler.jar tools / ofile.native   protocols / wsdl2ml.native dissemination / spawn.sh opa / main.native   bash_completion opadoc / opadoc.native pplib / ppopa.native   pplib / ppjs.native libbase / gen_platform teerex / trx_ocaml.native   teerex / trx_interpreter.native libbsl / bslregister.native   libbsl / bslbrowser.native libbsl / bslbrowser passlib / passdesign.native   OPA-packages.stamp

+ /opt/opa/bin/ocamldep.opt -pp '/opt/opa/bin/camlp4o -I +ulex pa_ulex.cma pr_o.cmo'   -modules libbase/indexer.ml > libbase/indexer.ml.depends
Camlp4: Uncaught exception: DynLoader.Error ("pa_ulex.cma", "file not found in path")

Preprocessing error on file libbase/indexer.ml
Command exited with code 2.
Compilation unsuccessful after building 208 targets (204 cached) in 00:00:04.
make: *** [all] Erreur 10

2 个答案:

答案 0 :(得分:4)

很抱歉,OPA暂时不支持32位架构。 我们正在努力。

您可以阅读我们在博客上发布的这篇文章,我们回答了这个问题(和其他人): http://blog.opalang.org/2011/07/readers-questions-1.html

  

问:缺少32位和Windows版本的编译器

     答:是的,我们在这里感到内疚。我们正在研究32位版本和   希望在几周内做好准备。 Windows版本是   稍微有点棘手,但我们确实有一个可用的Windows版本和我们   毫无疑问会再次拥有它。我们可以使用一些帮助   办法。现在Opa是开源的。有志愿者吗?

保持联系!

答案 1 :(得分:2)

我为32位Ubuntu 10.10编译了Opa。在构建完成之前,必须从Debian'Wheezy'(测试)安装一堆pkgs。所需的套餐:

    camlp4_3.12.0-7_i386.deb
    camlp4-extra_3.12.0-7_i386.deb
    libcryptokit-ocaml_1.3-14+b2_i386.deb
    libcryptokit-ocaml-dev_1.3-14+b2_i386.deb
    libfindlib-ocaml_1.2.7+debian-1_i386.deb
    libfindlib-ocaml-dev_1.2.7+debian-1_i386.deb
    libocamlgraph-ocaml-dev_1.7-1+b2_i386.deb
    libssl-ocaml_0.4.5-1_i386.deb
    libssl-ocaml-dev_0.4.5-1_i386.deb
    libzip-ocaml_1.04-6+b2_i386.deb
    libzip-ocaml-dev_1.04-6+b2_i386.deb
    ocaml_3.12.0-7_i386.deb
    ocaml-base_3.12.0-7_i386.deb
    ocaml-base-nox_3.12.0-7_i386.deb
    ocaml-findlib_1.2.7+debian-1_i386.deb
    ocaml-interp_3.12.0-7_i386.deb
    ocaml-nox_3.12.0-7_i386.deb
    ocaml-ulex_1.1-2+b1_i386.deb

将这些全部放在dir中并从那里运行:dpkg --install --force-depends --auto-deconfigure * .deb

一个人也应该跑   sudo apt-get purge ocaml ocaml-interp ocaml-nox-interp ocaml-nox   (或类似的......来自记忆)   ..从系统中清除ocaml 3.11,以便通过上面的.deb文件安装3.12。

注意:'texttimer.opa'的编译需要FOREVER(至少在我的原子上网本上)..我认为它是挂起的或者其他东西但是大约15分钟后就完成了。让它运行。

到目前为止我只尝试过hello_opa.opa,但看起来很有希望!

[第二天早上] 我在我的工作机器上为amd64安装了预编译的.deb,只是为了比较 - 重新编译了同样的hello Chat应用程序,它就像在我的32位Ubuntu上一样。但是,两个应用程序都没有显示任何图像资源 - 教程提到将“opa-logo.png”和“user.png”添加到资源目录中,然后编译接收这些资源,但生成的应用程序显示没有图片。我怀疑它与我的32位版本有关,但显然不是。

任何人都知道为什么聊天应用程序不显示图像? CSS确实似乎引用了这两个PNG。我只是从google图像中抓取随机PNG来使用,但这无关紧要。

相关问题