revery-ui/revery

Having problem with building revery-quick-start project on Mac

piyush1104 opened this issue · 7 comments

  • Operating System: MacOS Catalina (10.15.7)
  • Revery Version: #ac848c4
  • OCaml version: 4.9.0
  • Native, Bytecode, or JS build: ??
     esy install 
     esy build
  • Actual Result: When trying to do esy build, it is failing while building revery-ui with the exception Not_found. Here is the log -
...
info building revery@github:revery-ui/revery#ac848c4@d41d8cd9
error: build failed with exit code: 1
  build log:
    # esy-build-package: building: revery@github:revery-ui/revery#ac848c4
    # esy-build-package: pwd: /Users/piyushbansal/.esy/source/i/revery__5c5d55b8
    # esy-build-package: running: 'dune' 'build' '-p' 'reason-harfbuzz,reason-skia,reason-sdl2,Revery'
        discover packages/reason-sdl2/src/c_flags.sexp,packages/reason-sdl2/src/c_library_flags.sexp,packages/reason-sdl2/src/cxx_flags.sexp,packages/reason-sdl2/src/flags.sexp
    SDL2 Library Folder Path: /Users/piyushbansal/.esy/3___________________________________________________________/i/esy_sdl2-2.0.10008-de4f481b/lib
        discover packages/reason-harfbuzz/src/c_flags.sexp,packages/reason-harfbuzz/src/cxx_flags.sexp,packages/reason-harfbuzz/src/flags.sexp (exit 2)
    (cd /Users/piyushbansal/.esy/3/b/revery-557dc8a3/default/packages/reason-harfbuzz/src && config/discover.exe)
    Fatal error: exception Not_found
      ocamlmklib src/Native/libRevery_Native_stubs.a
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(ReveryGtk.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(ReveryGtk_Widget.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(dialog_gtk.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(dialog_win32.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(icon_win32.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(locale_win32.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(shell_gtk.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(shell_win32.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(ReveryGtk.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(ReveryGtk_Widget.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(dialog_gtk.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(dialog_win32.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(icon_win32.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(locale_win32.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(shell_gtk.o) has no symbols
    /Library/Developer/CommandLineTools/usr/bin/ranlib: file: src/Native/libRevery_Native_stubs.a(shell_win32.o) has no symbols
             gcc packages/reason-skia/src/wrapped/c/c_stubs.o
    c_stubs.c:30:53: warning: incompatible pointer types passing 'void *(void *, const char *)' to parameter of type 'gr_gl_get_proc' (aka 'void (*(*)(void *, const char *))(void)') [-Wincompatible-pointer-types]
                gr_glinterface_assemble_gl_interface(0, reason_skia_sdl2_get);
                                                        ^~~~~~~~~~~~~~~~~~~~
    /Users/piyushbansal/.esy/3___________________________________________________________/i/esy_skia-d35022e2/include/c/gr_context.h:40:97: note: passing argument to parameter 'get' here
    SK_C_API const gr_glinterface_t* gr_glinterface_assemble_gl_interface(void* ctx, gr_gl_get_proc get);
                                                                                                    ^
    c_stubs.c:29:23: warning: initializing 'gr_glinterface_t *' (aka 'struct gr_glinterface_t *') with an expression of type 'const gr_glinterface_t *' (aka 'const struct gr_glinterface_t *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
        gr_glinterface_t *interface =
                          ^
    c_stubs.c:36:55: warning: incompatible pointer types passing 'void *(void *, const char *)' to parameter of type 'gr_gl_get_proc' (aka 'void (*(*)(void *, const char *))(void)') [-Wincompatible-pointer-types]
                gr_glinterface_assemble_gles_interface(0, reason_skia_sdl2_get);
                                                          ^~~~~~~~~~~~~~~~~~~~
    /Users/piyushbansal/.esy/3___________________________________________________________/i/esy_skia-d35022e2/include/c/gr_context.h:41:99: note: passing argument to parameter 'get' here
    SK_C_API const gr_glinterface_t* gr_glinterface_assemble_gles_interface(void* ctx, gr_gl_get_proc get);
                                                                                                      ^
    c_stubs.c:35:23: warning: initializing 'gr_glinterface_t *' (aka 'struct gr_glinterface_t *') with an expression of type 'const gr_glinterface_t *' (aka 'const struct gr_glinterface_t *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
        gr_glinterface_t *interface =
                          ^
    4 warnings generated.
          ocamlc packages/reason-skia/src/wrapped/bindings/.SkiaWrappedBindings.objs/byte/skiaWrappedBindings__Skia_generated_type_stubs.{cmi,cmo,cmt}
    File "packages/reason-skia/src/wrapped/bindings/skia_generated_type_stubs.ml", line 91, characters 4-63:
    91 |   | Struct ({ tag = "sk_fontmetrics_t"} as s'), "fMaxCharWidth" ->
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Warning 11: this match case is unused.
    File "packages/reason-skia/src/wrapped/bindings/skia_generated_type_stubs.ml", line 94, characters 4-63:
    94 |   | Struct ({ tag = "sk_fontmetrics_t"} as s'), "fAvgCharWidth" ->
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Warning 11: this match case is unused.
    File "packages/reason-skia/src/wrapped/bindings/skia_generated_type_stubs.ml", line 155, characters 4-78:
    155 |   | Ctypes_static.Primitive Cstubs_internals.Int64_t, "RGB_V_SK_PIXELGEOMETRY" ->
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Warning 11: this match case is unused.
        ocamlopt packages/reason-skia/src/wrapped/bindings/.SkiaWrappedBindings.objs/native/skiaWrappedBindings__Skia_generated_type_stubs.{cmx,o}
    File "packages/reason-skia/src/wrapped/bindings/skia_generated_type_stubs.ml", line 91, characters 4-63:
    91 |   | Struct ({ tag = "sk_fontmetrics_t"} as s'), "fMaxCharWidth" ->
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Warning 11: this match case is unused.
    File "packages/reason-skia/src/wrapped/bindings/skia_generated_type_stubs.ml", line 94, characters 4-63:
    94 |   | Struct ({ tag = "sk_fontmetrics_t"} as s'), "fAvgCharWidth" ->
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Warning 11: this match case is unused.
    File "packages/reason-skia/src/wrapped/bindings/skia_generated_type_stubs.ml", line 155, characters 4-78:
    155 |   | Ctypes_static.Primitive Cstubs_internals.Int64_t, "RGB_V_SK_PIXELGEOMETRY" ->
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    Warning 11: this match case is unused.
          ocamlc packages/reason-skia/src/wrapped/lib/.SkiaWrapped.objs/byte/skiaWrapped__Skia_generated_stubs.{cmi,cmo,cmt}
    File "packages/reason-skia/src/wrapped/lib/skia_generated_stubs.ml", lines 1620-1621, characters 2-26:
    1620 | ..Function (CI.Pointer _, Returns (CI.Primitive CI.Bool)),
    1621 |   "sk_paint_is_autohinted"...
    Warning 11: this match case is unused.
          ocamlc packages/reason-skia/src/wrapped/lib/skia_generated_stubs.o
    skia_generated_stubs.c:51:10: warning: initializing 'void *' with an expression of type 'const void *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
       void* x18 = sk_data_get_data(x17);
             ^     ~~~~~~~~~~~~~~~~~~~~~
    skia_generated_stubs.c:70:10: warning: initializing 'char *' with an expression of type 'const char *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
       char* x31 = sk_string_get_c_str(x30);
             ^     ~~~~~~~~~~~~~~~~~~~~~~~~
    skia_generated_stubs.c:149:17: warning: incompatible pointer types initializing 'sk_stream_t *' (aka 'struct sk_stream_t *') with an expression of type 'sk_stream_asset_t *' (aka 'struct sk_stream_asset_t *') [-Wincompatible-pointer-types]
       sk_stream_t* x85 = sk_typeface_open_stream(x83, x84);
                    ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    skia_generated_stubs.c:187:62: warning: passing 'char **' to parameter of type 'const char **' discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
       sk_fontmgr_match_family_style_character(x104, x105, x106, x107, x108,
                                                                 ^~~~
    /Users/piyushbansal/.esy/3___________________________________________________________/i/esy_skia-d35022e2/include/c/sk_typeface.h:49:140: note: passing argument to parameter 'bcp47' here
    SK_C_API sk_typeface_t* sk_fontmgr_match_family_style_character(sk_fontmgr_t*, const char* familyName, sk_fontstyle_t* style, const char** bcp47, int bcp47Count, int32_t character);
                                                                                                                                               ^
    skia_generated_stubs.c:1144:22: warning: initializing 'gr_glinterface_t *' (aka 'struct gr_glinterface_t *') with an expression of type 'const gr_glinterface_t *' (aka 'const struct gr_glinterface_t *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
       gr_glinterface_t* x1042 = gr_glinterface_create_native_interface();
                         ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    skia_generated_stubs.c:1585:23: warning: initializing 'sk_surfaceprops_t *' (aka 'struct sk_surfaceprops_t *') with an expression of type 'const sk_surfaceprops_t *' (aka 'const struct sk_surfaceprops_t *') discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]
       sk_surfaceprops_t* x1430 = sk_surface_get_props(x1429);
                          ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
    6 warnings generated.
        ocamlopt packages/reason-skia/src/wrapped/lib/.SkiaWrapped.objs/native/skiaWrapped__Skia_generated_stubs.{cmx,o}
    File "packages/reason-skia/src/wrapped/lib/skia_generated_stubs.ml", lines 1620-1621, characters 2-26:
    1620 | ..Function (CI.Pointer _, Returns (CI.Primitive CI.Bool)),
    1621 |   "sk_paint_is_autohinted"...
    Warning 11: this match case is unused.
    error: command failed: 'dune' 'build' '-p' 'reason-harfbuzz,reason-skia,reason-sdl2,Revery' (exited with 1)
    esy-build-package: exiting with errors above...

  building revery@github:revery-ui/revery#ac848c4
esy: exiting due to errors above
  • Expected Result: The build process should have worked fine.

  • Additional Information:

I was not able to install esy_harfbuzz package because it was giving me permission denied error-

error: Permission denied
  installing @revery/esy-harfbuzz@2.6.8001
esy: exiting due to errors above

So I gave 777 to the whole revery__s__esy_harfbuzz__2.6.8001__e8df4ff9 folder. Then I tricked esy to use this folder for installation by compressing into .tgz format. Then I created the folder _esyinstall and copied the compressed file here. After that I ran -

esy install --cache-tarballs-path=./_esyinstall

I don't know whether the build is failing is because of this or not.

  • Search terms used: Fatal Error: exception Not_found, Build failing on Mac

Hi @piyush1104 -- what version of esy are you using?

I am currently using nightly build of esy with version 0.6.8 . But earlier I have also tried with 0.6.7 (only harfbuzz problem that I faced, after that I moved to nightly version).

esy 0.6.8 is still in beta, so I would first recommend trying to install 0.6.7, and running the following commands (to basically start from scratch):

  • rm -rf ~/.esy
  • rm -rf ./_esy
  • esy i
  • esy run

revery-quick-start is fairly outdated, so I would recommend just trying to run the examples from this repo

I have also tried building the oni2 project. But that also failed with same error.
Right now, I am trying to build both revery-quick-start and oni2 projects with esy 0.6.7.

@zbaylin It failed with the same errors with esy 0.6.7. I think this error has been reported before on mac laptops. I saw some comments on Discord, but I was not able to find any resolution in the responses.

Having the same problem on Pop! OS 20.10

Et7f3 commented

OCAMLRUNPARAM=b esy we should be able to see with find failed.