2011-07-26 74 views
3

我有一個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-插件-j 6 -tag調試pplib/ppml.native ocamlbase.top libbase/ocamlbase數據庫/ database_server.native jslang/jsstat.native數據庫/ database_to ol.native opatop/opatop.native passlib/opatrack.sh qmlcompilers/qmljs_exe.native compilerlib/opadep.sh opabsl/opabslgen.bypass工具/ odep.native libbase/testfilepos.native opabsl/serverLib.cmi工具/ odeplink。本地 協議/ genproto.native libbase/bslServerLib.ml opalang/opa2opa.native協議/ mlidl.native 工具/ jschecker/compiler.jar工具/ ofile.native 協議/ wsdl2ml.native傳播/ spawn.sh OPA /主.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 

回答

4

很抱歉,但OPA不支持32位架構的時刻。 我們正在努力。

您可以閱讀這篇文章,我們張貼在我們的博客,我們回答了這個問題(及其他): http://blog.opalang.org/2011/07/readers-questions-1.html

問:編譯器的32位的缺失與Windows版本

A:是的,我們在這裏有罪。我們正在研究32位版本,並希望在幾周內完成它。 Windows版本是 略微更棘手,但我們確實有一個工作的Windows版本,我們 將毫無疑問再次。我們可以使用一些幫助,通過 的方式。現在Opa是開源的。任何志願者?

保持聯繫!

+0

我能夠在32位Linux機器上從源代碼構建。我沒有安裝OCaml 3.12,所以我運行:依賴/ installation_helper.sh --help,如README中建議的那樣安裝依賴項。 – aneccodeal

+0

aneccodeal:我也使用了installation_helper.sh,但我在「make」期間出現了這個錯誤... – deep

2

我得到了Opa編譯爲32位Ubuntu 10.10。在構建完成之前,必須從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 

把這些所有的目錄,並且運行:dpkg的--install --force-取決於--auto-解除配置* .deb文件

人們還應該運行 須藤APT-清除ocaml ocaml-interp ocaml-nox-interp ocaml-nox (或類似的東西......從內存中) ..從系統中清除ocaml 3.11,所以3.12可以通過上面的.deb文件安裝。

注意:'texttimer.opa'的編譯需要FOREVER(至少在我的原子上網本上)..我認爲這是掛了或什麼,但約15分鐘後完成。讓它運行。

我只嘗試過hello_opa.opa,但它看起來很有前途!

[第二天早上] 我在我的工作機器上安裝了amd64的預編譯.deb,以便進行比較 - 重新編譯相同的hello Chat應用程序,它的工作原理與我的32位Ubuntu相同。但是,這兩個應用程序都不顯示任何圖像資源 - 本教程提到將「opa-logo.png」和「user.png」添加到資源目錄,編譯選擇了這些資源,但結果應用程序顯示no圖片。我懷疑這是與我的32位版本有關,但顯然不是。

任何人都知道爲什麼聊天應用程序不顯示圖像? CSS似乎參考了這兩個PNG。我只是從谷歌圖片中隨機選取PNG來使用,但這並不重要。

+0

+1這很有幫助,謝謝Russtopia – Anthony