This is the full error, it's the same with or without LD_LIBRARY_PATH/LD_PRELOAD_PATH.
Adding it here instead of discord to have a bit more visibility in case anyone else runs into it and has a solution.
```bash
begin
set -lx LD_LIBRARY_PATH ~/.esy/3___________________________________________________________________/i/esy_harfbuzz-1.9.1005-d51f90c5/lib/
esy
end
info esy 0.5.6 (using package.json)
ocamlopt examples/Examples.exe (exit 2)
(cd /home/thomas/Workspace/githubclones/revery/_esy/default/store/b/revery-1bfae152/default && /home/thomas/.esy/3___________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/bin/ocamlopt.opt -w -40 -g -o examples/Examples.exe -I /home/thomas/.esy/3___________________________________________________________________/i/brisk__s__brisk_reconciler-ddbe1db5/lib/brisk-reconciler -I /home/thomas/.esy/3___________________________________________________________________/i/flex-1.2.2-52e7dd3a/lib/flex -I /home/thomas/.esy/3___________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/threads -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__color-opam__c__0.2.0-0c648511/lib/color -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__gg-opam__c__0.9.3-ef9752b5/lib/gg -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__js__of__ocaml-81777d9a/lib/js_of_ocaml -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__lwt-opam__c__4.2.1-dacd8237/lib/lwt -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__lwt-opam__c__4.2.1-dacd8237/lib/lwt/unix -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__mmap-opam__c__1.1.0-7f09e795/lib/mmap -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__ocamlfind-opam__c__1.8.0-32d00fdd/lib/bytes -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__result-opam__c__1.4-54571ab5/lib/result -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__seq-opam__c__base-37652505/lib/seq -I /home/thomas/.esy/3___________________________________________________________________/i/opam__s__uchar-opam__c__0.0.2-a0257ecf/lib/uchar -I /home/thomas/.esy/3___________________________________________________________________/i/reason_fontkit-2.4.1-a560efa2/lib/fontkit -I /home/thomas/.esy/3___________________________________________________________________/i/reason_gl_matrix-0.9.9304-91577a71/lib/reglm -I /home/thomas/.esy/3___________________________________________________________________/i/reason_glfw-3.2.1024-afa84f19/lib/reglfw -I /home/thomas/.esy/3___________________________________________________________________/i/reason_native__s__console-0.0.3-263af140/lib/console/lib -I /home/thomas/.esy/3___________________________________________________________________/i/rebez-1832be32/lib/rebez/lib -I examples/stubs -I src -I src/Core -I src/Draw -I src/Geometry -I src/Math -I src/Native -I src/Shaders -I src/UI -I src/UI_Components -I src/UI_Hooks -I src/UI_Primitives /home/thomas/.esy/3___________________________________________________________________/i/opam__s__result-opam__c__1.4-54571ab5/lib/result/result.cmxa /home/thomas/.esy/3___________________________________________________________________/i/opam__s__lwt-opam__c__4.2.1-dacd8237/lib/lwt/lwt.cmxa /home/thomas/.esy/3___________________________________________________________________/i/opam__s__js__of__ocaml-81777d9a/lib/js_of_ocaml/js_of_ocaml.cmxa examples/stubs/ExampleStubs.cmxa /home/thomas/.esy/3___________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/str.cmxa /home/thomas/.esy/3___________________________________________________________________/i/reason_native__s__console-0.0.3-263af140/lib/console/lib/Console.cmxa /home/thomas/.esy/3___________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/unix.cmxa /home/thomas/.esy/3___________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/bigarray.cmxa /home/thomas/.esy/3___________________________________________________________________/i/opam__s__mmap-opam__c__1.1.0-7f09e795/lib/mmap/mmap.cmxa /home/thomas/.esy/3___________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/threads/threads.cmxa /home/thomas/.esy/3___________________________________________________________________/i/opam__s__lwt-opam__c__4.2.1-dacd8237/lib/lwt/unix/lwt_unix.cmxa /home/thomas/.esy/3___________________________________________________________________/i/reason_gl_matrix-0.9.9304-91577a71/lib/reglm/reglm.cmxa /home/thomas/.esy/3___________________________________________________________________/i/reason_glfw-3.2.1024-afa84f19/lib/reglfw/reglfw.cmxa /home/thomas/.esy/3___________________________________________________________________/i/opam__s__gg-opam__c__0.9.3-ef9752b5/lib/gg/gg.cmxa /home/thomas/.esy/3___________________________________________________________________/i/opam__s__color-opam__c__0.2.0-0c648511/lib/color/color.cmxa /home/thomas/.esy/3___________________________________________________________________/i/flex-1.2.2-52e7dd3a/lib/flex/Flex.cmxa /home/thomas/.esy/3___________________________________________________________________/i/reason_fontkit-2.4.1-a560efa2/lib/fontkit/fontkit.cmxa src/Core/Revery_Core.cmxa /home/thomas/.esy/3___________________________________________________________________/i/brisk__s__brisk_reconciler-ddbe1db5/lib/brisk-reconciler/brisk_reconciler.cmxa /home/thomas/.esy/3___________________________________________________________________/i/rebez-1832be32/lib/rebez/lib/Rebez.cmxa src/Shaders/Revery_Shaders.cmxa src/Geometry/Revery_Geometry.cmxa src/Math/Revery_Math.cmxa src/Draw/Revery_Draw.cmxa src/UI/Revery_UI.cmxa src/UI_Primitives/Revery_UI_Primitives.cmxa src/UI_Hooks/Revery_UI_Hooks.cmxa src/UI_Components/Revery_UI_Components.cmxa src/Native/Revery_Native.cmxa src/Revery.cmxa examples/.Examples.eobjs/native/AnalogClock.cmx examples/.Examples.eobjs/native/Border.cmx examples/.Examples.eobjs/native/Boxshadow.cmx examples/.Examples.eobjs/native/Calculator.cmx examples/.Examples.eobjs/native/CheckboxExample.cmx examples/.Examples.eobjs/native/DefaultButton.cmx examples/.Examples.eobjs/native/DropdownExample.cmx examples/.Examples.eobjs/native/Flexbox.cmx examples/.Examples.eobjs/native/FocusExample.cmx examples/.Examples.eobjs/native/GameOfLife.cmx examples/.Examples.eobjs/native/Hello.cmx examples/.Examples.eobjs/native/HoverExample.cmx examples/.Examples.eobjs/native/InputExample.cmx examples/.Examples.eobjs/native/Native.cmx examples/.Examples.eobjs/native/OpenGLExample.cmx examples/.Examples.eobjs/native/RadioButtonExample.cmx examples/.Examples.eobjs/native/ScreenCapture.cmx examples/.Examples.eobjs/native/ScrollView.cmx examples/.Examples.eobjs/native/Slider.cmx examples/.Examples.eobjs/native/Stopwatch.cmx examples/.Examples.eobjs/native/TextExample.cmx examples/.Examples.eobjs/native/TodoExample.cmx examples/.Examples.eobjs/native/TreeView.cmx examples/.Examples.eobjs/native/Examples.cmx)
/usr/bin/ld: /usr/lib/libpangoft2-1.0.so.0: undefined reference to hb_ot_layout_script_select_language'
/usr/bin/ld: /usr/lib/libpangoft2-1.0.so.0: undefined reference tohb_ot_tags_from_script_and_language'
/usr/bin/ld: /usr/lib/libpango-1.0.so: undefined reference to `hb_buffer_set_invisible_glyph'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
error: command failed: 'dune' 'build' '-p' 'Revery' '-j4' (exited with 1)
esy-build-package: exiting with errors above...
error: build failed with exit code: 1
esy: exiting due to errors above
Extra info: I can build reason-fontkit without any problems (which has a dependency on harfbuzz)
Deleting ~/.esy and _esy also don't help
Hey @tcoopman ! Sorry about the build issue - these harfbuzz version issues are rough.
That's very interesting that reason-fontkit builds successfully. I suspect the cause is the additional GTK 3 dependency Revery needs on Linux.
The error messages here:
/usr/bin/ld: /usr/lib/libpangoft2-1.0.so.0: undefined reference to `hb_ot_layout_script_select_language'
/usr/bin/ld: /usr/lib/libpangoft2-1.0.so.0: undefined reference to `hb_ot_tags_from_script_and_language'
/usr/bin/ld: /usr/lib/libpango-1.0.so: undefined reference to `hb_buffer_set_invisible_glyph'
These APIs are harfbuzz v.2.0.0 APIs - so for some reason libpango is expecting harfbuzz version 2.0 or greater, but the installed version must be lower.
Is there an easy way to check the installed version of a library via pacman? If so, we could compare my Arch environment (which is working) to see the installed version of the following libs:
harfbuzzlibpangolibpangoft2Might give some clues where the mismatch is...
> pacman -Qn harfbuzz pango
harfbuzz 2.5.3-1
pango 1:1.44.3-1
Looks this was fixed in #28 - thanks @tcoopman !
I'm getting a similar error on Fedora 31. Here's the log:
info building revery@github:revery-ui/revery#3f1655e@d41d8cd9
error: build failed with exit code: 1
build log:
# esy-build-package: building: revery@github:revery-ui/revery#3f1655e
# esy-build-package: pwd: /home/samthomas/.esy/source/i/revery__fd45badc
# esy-build-package: running: 'dune' 'build' '-p' 'Revery' '-j4'
ocamlopt examples/Examples.exe (exit 2)
(cd /home/samthomas/.esy/3________________________________________________________________/b/revery-82fe766a/default && /home/samthomas/.esy/3________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/bin/ocamlopt.opt -w -40 -g -o examples/Examples.exe -I /home/samthomas/.esy/3________________________________________________________________/i/brisk_reconciler-0.0.2-e338f935/lib/brisk-reconciler -I /home/samthomas/.esy/3________________________________________________________________/i/flex-1.2.2-d810c829/lib/flex -I /home/samthomas/.esy/3________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/threads -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__astring-opam__c__0.8.3-ca84dc6c/lib/astring -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__fpath-opam__c__0.7.2-2654e354/lib/fpath -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__js__of__ocaml-0a40274f/lib/js_of_ocaml -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__lwt-opam__c__4.3.1-dae10fc6/lib/lwt -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__lwt-opam__c__4.3.1-dae10fc6/lib/lwt/unix -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__mmap-opam__c__1.1.0-93bf2394/lib/mmap -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__ocamlfind-opam__c__1.8.0-36de42ff/lib/bytes -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__ocplib_endian-opam__c__1.0-3d395223/lib/ocplib-endian -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__result-opam__c__1.4-d6631412/lib/result -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__seq-opam__c__base-37652505/lib/seq -I /home/samthomas/.esy/3________________________________________________________________/i/opam__s__uchar-opam__c__0.0.2-761d274b/lib/uchar -I /home/samthomas/.esy/3________________________________________________________________/i/reason_font_manager-2.0.1-3edb9075/lib/reason-font-manager -I /home/samthomas/.esy/3________________________________________________________________/i/reason_fontkit-2.7.0-3a2b64f7/lib/fontkit -I /home/samthomas/.esy/3________________________________________________________________/i/reason_gl_matrix-0.9.9305-6d5529f7/lib/reglm -I /home/samthomas/.esy/3________________________________________________________________/i/reason_native__s__console-0.0.3-d636718f/lib/console/lib -I /home/samthomas/.esy/3________________________________________________________________/i/reason_sdl2-2.10.3004-28f66fba/lib/sdl2 -I /home/samthomas/.esy/3________________________________________________________________/i/rebez-9cac720f/lib/rebez/lib -I /home/samthomas/.esy/3________________________________________________________________/i/rench-1724e8ac/lib/Rench -I examples/stubs -I src -I src/Core -I src/Draw -I src/Font -I src/Geometry -I src/Math -I src/Native -I src/Shaders -I src/UI -I src/UI_Components -I src/UI_Hooks -I src/UI_Primitives /home/samthomas/.esy/3________________________________________________________________/i/opam__s__result-opam__c__1.4-d6631412/lib/result/result.cmxa /home/samthomas/.esy/3________________________________________________________________/i/opam__s__lwt-opam__c__4.3.1-dae10fc6/lib/lwt/lwt.cmxa /home/samthomas/.esy/3________________________________________________________________/i/opam__s__js__of__ocaml-0a40274f/lib/js_of_ocaml/js_of_ocaml.cmxa examples/stubs/ExampleStubs.cmxa /home/samthomas/.esy/3________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/str.cmxa /home/samthomas/.esy/3________________________________________________________________/i/reason_native__s__console-0.0.3-d636718f/lib/console/lib/Console.cmxa /home/samthomas/.esy/3________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/unix.cmxa /home/samthomas/.esy/3________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/bigarray.cmxa /home/samthomas/.esy/3________________________________________________________________/i/opam__s__mmap-opam__c__1.1.0-93bf2394/lib/mmap/mmap.cmxa /home/samthomas/.esy/3________________________________________________________________/i/opam__s__ocplib_endian-opam__c__1.0-3d395223/lib/ocplib-endian/bigstring.cmxa /home/samthomas/.esy/3________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/threads/threads.cmxa /home/samthomas/.esy/3________________________________________________________________/i/opam__s__lwt-opam__c__4.3.1-dae10fc6/lib/lwt/unix/lwt_unix.cmxa /home/samthomas/.esy/3________________________________________________________________/i/reason_gl_matrix-0.9.9305-6d5529f7/lib/reglm/reglm.cmxa /home/samthomas/.esy/3________________________________________________________________/i/reason_sdl2-2.10.3004-28f66fba/lib/sdl2/sdl2.cmxa /home/samthomas/.esy/3________________________________________________________________/i/flex-1.2.2-d810c829/lib/flex/Flex.cmxa /home/samthomas/.esy/3________________________________________________________________/i/reason_fontkit-2.7.0-3a2b64f7/lib/fontkit/fontkit.cmxa /home/samthomas/.esy/3________________________________________________________________/i/opam__s__astring-opam__c__0.8.3-ca84dc6c/lib/astring/astring.cmxa /home/samthomas/.esy/3________________________________________________________________/i/opam__s__fpath-opam__c__0.7.2-2654e354/lib/fpath/fpath.cmxa /home/samthomas/.esy/3________________________________________________________________/i/rench-1724e8ac/lib/Rench/Rench.cmxa src/Core/Revery_Core.cmxa /home/samthomas/.esy/3________________________________________________________________/i/reason_font_manager-2.0.1-3edb9075/lib/reason-font-manager/FontManager.cmxa /home/samthomas/.esy/3________________________________________________________________/i/rebez-9cac720f/lib/rebez/lib/Rebez.cmxa src/Shaders/Revery_Shaders.cmxa src/Geometry/Revery_Geometry.cmxa src/Math/Revery_Math.cmxa src/Font/Revery_Font.cmxa /home/samthomas/.esy/3________________________________________________________________/i/brisk_reconciler-0.0.2-e338f935/lib/brisk-reconciler/brisk_reconciler.cmxa src/Draw/Revery_Draw.cmxa src/UI/Revery_UI.cmxa src/UI_Primitives/Revery_UI_Primitives.cmxa src/UI_Hooks/Revery_UI_Hooks.cmxa src/UI_Components/Revery_UI_Components.cmxa src/Native/Revery_Native.cmxa src/Revery.cmxa examples/.Examples.eobjs/native/AnalogClock.cmx examples/.Examples.eobjs/native/Border.cmx examples/.Examples.eobjs/native/Boxshadow.cmx examples/.Examples.eobjs/native/Calculator.cmx examples/.Examples.eobjs/native/CheckboxExample.cmx examples/.Examples.eobjs/native/DefaultButton.cmx examples/.Examples.eobjs/native/DropdownExample.cmx examples/.Examples.eobjs/native/Flexbox.cmx examples/.Examples.eobjs/native/FocusExample.cmx examples/.Examples.eobjs/native/FontsExample.cmx examples/.Examples.eobjs/native/GameOfLife.cmx examples/.Examples.eobjs/native/Hello.cmx examples/.Examples.eobjs/native/HoverExample.cmx examples/.Examples.eobjs/native/InputExample.cmx examples/.Examples.eobjs/native/Native.cmx examples/.Examples.eobjs/native/OpenGLExample.cmx examples/.Examples.eobjs/native/RadioButtonExample.cmx examples/.Examples.eobjs/native/ScreenCapture.cmx examples/.Examples.eobjs/native/ScrollView.cmx examples/.Examples.eobjs/native/Slider.cmx examples/.Examples.eobjs/native/Stopwatch.cmx examples/.Examples.eobjs/native/TextExample.cmx examples/.Examples.eobjs/native/TodoExample.cmx examples/.Examples.eobjs/native/TreeView.cmx examples/.Examples.eobjs/native/ZoomExample.cmx examples/.Examples.eobjs/native/Examples.cmx)
/usr/bin/ld: /usr/lib64/libpangoft2-1.0.so.0: undefined reference to `hb_ot_layout_script_select_language'
/usr/bin/ld: /usr/lib64/libpangoft2-1.0.so.0: undefined reference to `hb_ot_var_named_instance_get_design_coords'
/usr/bin/ld: /usr/lib64/libpangoft2-1.0.so.0: undefined reference to `hb_ot_tags_from_script_and_language'
/usr/bin/ld: /usr/lib64/libpangoft2-1.0.so.0: undefined reference to `hb_ot_var_get_axis_infos'
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/9/../../../../lib64/libpango-1.0.so: undefined reference to `hb_buffer_set_invisible_glyph'
/usr/bin/ld: /usr/lib64/libpangoft2-1.0.so.0: undefined reference to `hb_ot_metrics_get_position'
collect2: error: ld returned 1 exit status
File "caml_startup", line 1:
Error: Error during linking
error: command failed: 'dune' 'build' '-p' 'Revery' '-j4' (exited with 1)
esy-build-package: exiting with errors above...
building revery@github:revery-ui/revery#3f1655e
esy: exiting due to errors above
I have pango version 1.44.6 and harfbuzz 2.6.1. Any ideas?
Same issue on openSUSE TW.
@sgpthomas @Hentioe can check #666 (it may be a duplicate)
@Et7f3 , thanks!
adding "esy-harfbuzz": "github:Et7f3/esy-harfbuzz#4309597b403374fe65868e8971c114555c96c6e4" to resolutions helped!
Most helpful comment
I'm getting a similar error on Fedora 31. Here's the log:
I have pango version 1.44.6 and harfbuzz 2.6.1. Any ideas?