Ошибка при сборке из источника - PullRequest
3 голосов
/ 26 июля 2011

У меня 32-битная архитектура, поэтому я должен собрать опа из источника.

Настройка отлично работает:

./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 / 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 протоколы / genproto.native libbase / bslServerLib.ml opalang / opa2opa.native протоколы / mlidl.native tools / jschecker / compiler.jar tools / ofile.native протоколы / wsdl2ml.native распространение / 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 оп-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 ]

4 голосов
/ 26 июля 2011

Извините, но OPA на данный момент не поддерживает 32-битную архитектуру. Мы работаем над этим.

Вы можете прочитать эту статью, которую мы разместили в нашем блоге, мы ответили на этот вопрос (и другие): http://blog.opalang.org/2011/07/readers-questions-1.html

В: Отсутствие 32-битной и Windows-версии компилятора

A: Да, мы здесь виноваты. Мы работаем над 32-битной версией и надеюсь, что это будет готово через пару недель. Версия для Windows немного сложнее, но у нас была рабочая версия для Windows, и мы будет снова без сомнения. Мы могли бы использовать некоторую помощь, путь. Теперь, когда Опа с открытым исходным кодом. Есть волонтеры?

Оставайтесь на связи!

2 голосов
/ 25 октября 2011

Я получил Opa, скомпилированную для 32-битной Ubuntu 10.10.Перед завершением сборки пришлось установить несколько пакетов pkgs из Debian 'Wheezy' (тестирование).Требуемые пакеты:

    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-deconfigure * .deb

Также нужно запуститьsudo apt-get purge ocaml ocaml-interp ocaml-nox-interp ocaml-nox (или что-то в этом роде ... из памяти) .. чтобы удалить ocaml 3.11 из системы, чтобы можно было установить 3.12 через вышеуказанные файлы .deb.

ПРИМЕЧАНИЕ: компиляция 'texttimer.opa' занимает FOREVER (по крайней мере, на моем атомном нетбуке) .. Я думал, что он завис или что-то в этом роде, но примерно через 15 минут он закончился.Пусть он запустится.

Пока я пробовал hello_opa.opa, но он выглядит многообещающе!

[на следующее утро] Я установил скомпилированный файл .deb для amd64 на свою рабочую машину, чтобысравните - перекомпилируйте то же самое приложение чата hello, и оно работает так же, как на моем 32-битном Ubuntu.Тем не менее, оба приложения не отображают какие-либо ресурсы изображений - в учебнике упоминается добавление «opa-logo.png» и «user.png» в каталог ресурсов, и компиляция обнаруживает их, но в результате приложение не показываетизображений.Я подозревал, что это как-то связано с моей 32-битной сборкой, но, видимо, нет.

Кто-нибудь знает, почему изображения не отображаются в приложении чата?CSS действительно ссылается на эти два PNG.Я просто взял случайные PNG-изображения из изображений Google, чтобы использовать их, но это не должно иметь значения.

...