revery-ui / revery

:zap: Native, high-performance, cross-platform desktop apps - built with Reason!

Home Page:https://www.outrunlabs.com/revery/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ubuntu 18.10 / 19.04: @opam/ocamlfind@opam:1.8.1 build failed

jericdeleon opened this issue · comments

Tried to follow the Building and Installing steps using a plain vagrant box with generic/ubuntu1810, encountered different issues. Tried it again on a generic/ubuntu1904 box, same issues.

  • Steps to reproduce:

    1. Using a generic/ubuntu1810 or generic/ubuntu1810 vagrant box (or any Ubuntu 18.10 / 19.04 machine), follow the building and installing instructions
      • I had to give it at least 2GB of ram to build esy-harfbuzz
      • I should note that I tried building hello-reason from Esy's Getting Started Guide, and the same machine was able to build this hello-reason project despite it requiring the same version of ocamlfind (@opam/ocamlfind@opam:1.8.1@ff07b0f9)
  • Operating System: Ubuntu 18.10 / Ubuntu 19.04

  • Dependency Versions:

vagrant@ubuntu1810:~/revery$ sudo apt install build-essential cmake ragel clang libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev libglu1-mesa-dev mesa-utils mesa-utils-extra ragel libgtk-3-dev nasm m4 libpng-dev libbz2-dev xorg-dev libglu1-mesa-dev libharfbuzz-dev libfontconfig1-dev
Reading package lists... Done
Building dependency tree
Reading state information... Done
build-essential is already the newest version (12.5ubuntu2).
cmake is already the newest version (3.12.1-1).
libfontconfig1-dev is already the newest version (2.13.0-5ubuntu3).
libglu1-mesa-dev is already the newest version (9.0.0-2.1build1).
libharfbuzz-dev is already the newest version (1.8.8-2).
libxcursor-dev is already the newest version (1:1.1.15-1).
libxi-dev is already the newest version (2:1.7.9-1).
libxinerama-dev is already the newest version (2:1.1.4-1).
libxrandr-dev is already the newest version (2:1.5.1-1).
m4 is already the newest version (1.4.18-1ubuntu1).
xorg-dev is already the newest version (1:7.7+19ubuntu8).
clang is already the newest version (1:7.0-43ubuntu1).
mesa-utils is already the newest version (8.4.0-1).
mesa-utils-extra is already the newest version (8.4.0-1).
nasm is already the newest version (2.13.03-2).
ragel is already the newest version (6.10-1).
libbz2-dev is already the newest version (1.0.6-9ubuntu0.18.10.1).
libgl1-mesa-dev is already the newest version (18.2.8-0ubuntu0~18.10.2).
libgtk-3-dev is already the newest version (3.24.4-0ubuntu1.1).
libpng-dev is already the newest version (1.6.34-2ubuntu0.1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
  • Expected Result: esy build will complete successfully.
  • Actual Result: esy build fails with the ff:
vagrant@ubuntu1810:~/revery$ esy build
info esy build 0.6.7 (using package.json)
info building @opam/ocamlbuild@opam:0.14.0@6ac75d03
info building @opam/ocamlfind@opam:1.8.1@ff07b0f9
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: @opam/ocamlfind@opam:1.8.1
    # esy-build-package: pwd: /home/vagrant/.esy/3/b/opam__s__ocamlfind-opam__c__1.8.1-d095496f
    # esy-build-package: running: 'bash' '-c' 'true'
    # esy-build-package: running: './configure' '-bindir' '/home/vagrant/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1
.8.1-d095496f/bin' '-sitelib' '/home/vagrant/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1.8.1-d095496f/lib' '-mandir'
 '/home/vagrant/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1.8.1-d095496f/man' '-config' '/home/vagrant/.esy/3_______
___________________________________________________________/s/opam__s__ocamlfind-opam__c__1.8.1-d095496f/lib/findlib.conf' '-no-custom' '-no-topfind'
    Welcome to findlib version 1.8.1
    Configuring core...
    Checking for #remove_directory...
    Testing threading model...
    systhread_supported: true
    Testing DLLs...
    Testing whether ppxopt can be supported...
    Checking for ocamlc -opaque...
    Configuring libraries...
    native dynlink: found
    labltk: not present
    ocamlbuild: not present
    camlp4: not present (normal since OCaml-4.02)
    compiler-libs: found
    dbm: not present (normal since OCaml-4.00)
    num: not present (normal since OCaml-4.06)
    bytes: found, installing fake library
    spacetime: found
    graphics: not found
    Configuration for dynlink written to site-lib-src/dynlink/META
    Configuration for str written to site-lib-src/str/META
    Configuration for threads written to site-lib-src/threads/META
    Configuration for unix written to site-lib-src/unix/META
    Configuration for stdlib written to site-lib-src/stdlib/META
    Configuration for bigarray written to site-lib-src/bigarray/META
    Configuration for ocamldoc written to site-lib-src/ocamldoc/META
    Configuration for compiler-libs written to site-lib-src/compiler-libs/META
    Configuration for bytes written to site-lib-src/bytes/META
    Configuration for raw_spacetime written to site-lib-src/raw_spacetime/META
    Detecting compiler arguments: (extractor built) FAILED (see the file ocargs.log for details)
    error: command failed: './configure' '-bindir' '/home/vagrant/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1.8.1-d0
95496f/bin' '-sitelib' '/home/vagrant/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1.8.1-d095496f/lib' '-mandir' '/home
/vagrant/.esy/3__________________________________________________________________/s/opam__s__ocamlfind-opam__c__1.8.1-d095496f/man' '-config' '/home/vagrant/.esy/3______________
____________________________________________________/s/opam__s__ocamlfind-opam__c__1.8.1-d095496f/lib/findlib.conf' '-no-custom' '-no-topfind' (exited with 1)
    esy-build-package: exiting with errors above...

  building @opam/ocamlfind@opam:1.8.1
esy: exiting due to errors above

Its possible we need to update the build dependencies again. I did a round of updates to the Fedora ones a few weeks ago, as someone was hitting issues there, but it may be that the Ubuntu ones are now also out of date (and we are being saved by the pre-installed deps in the CI).

    Detecting compiler arguments: (extractor built) FAILED (see the file ocargs.log for details)

Can you post the content of ocargs.log mentioned?

I just came across this as well. Most likely it's caused by this bug: esy/esy#1171

There's a couple ways to work around this:

  1. Pin the OCaml dependency to 4.10.0
  2. Install and use @esy-nightly/esy instead. Unfortunately that will trigger another bug in esy-harfbuzz, being addressed here: revery-ui/esy-harfbuzz#6

@marcinkoziej Reran on a new VM, this is the only ocargs.log file I could find on the system afterwards:

.esy/3/b/opam__s__ocamlfind-opam__c__1.8.1-c62bd863/ocargs.log

ocamlc -o extract_args str.cma extract_args.ml
tools/extract_args/extract_args: 2: tools/extract_args/extract_args: Syntax error: word unexpected (expecting ")")

Closing due to age.