Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

new build failure on archlinux in libpangoft2 #527

Closed
tcoopman opened this issue Jul 30, 2019 · 8 comments
Closed

new build failure on archlinux in libpangoft2 #527

tcoopman opened this issue Jul 30, 2019 · 8 comments

Comments

@tcoopman
Copy link
Contributor

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.

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 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'
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
@tcoopman
Copy link
Contributor Author

tcoopman commented Jul 31, 2019

Extra info: I can build reason-fontkit without any problems (which has a dependency on harfbuzz)

Deleting ~/.esy and _esy also don't help

@bryphe
Copy link
Member

bryphe commented Aug 7, 2019

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:

  • harfbuzz
  • libpango
  • libpangoft2

Might give some clues where the mismatch is...

@tcoopman
Copy link
Contributor Author

tcoopman commented Aug 7, 2019

> pacman -Qn harfbuzz pango
harfbuzz 2.5.3-1
pango 1:1.44.3-1

@bryphe
Copy link
Member

bryphe commented Oct 1, 2019

Looks this was fixed in #28 - thanks @tcoopman !

@bryphe bryphe closed this as completed Oct 1, 2019
@sgpthomas
Copy link

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?

@Hentioe
Copy link

Hentioe commented Dec 14, 2019

Same issue on openSUSE TW.

@Et7f3
Copy link
Member

Et7f3 commented Dec 14, 2019

@sgpthomas @Hentioe can check #666 (it may be a duplicate)

@antonpresn
Copy link

@Et7f3 , thanks!
adding "esy-harfbuzz": "github:Et7f3/esy-harfbuzz#4309597b403374fe65868e8971c114555c96c6e4" to resolutions helped!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants