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

Creating a 'release' build with js_of_ocaml? #108

Open
michaelboulton opened this issue May 18, 2019 · 1 comment
Open

Creating a 'release' build with js_of_ocaml? #108

michaelboulton opened this issue May 18, 2019 · 1 comment

Comments

@michaelboulton
Copy link

I was trying to reduce the JS bundle size in Revery by creating a 'release' build but it seems like this library doesn't play nicely when trying to compile it in release mode - Just cloning this repository and trying to run esy dune build --profile release Gives me this error (seemingly when it's compiling it to bytecode):

$ esy dune build  --profile release
      ocamlc bin_js/test_glfw.bc (exit 2)
(cd /home/michael/code/reason-glfw/_esy/default/store/b/reason_glfw-222626f5/default && /home/michael/.esy/3__________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/bin/ocamlc.opt -w -40 -g -o bin_js/test_glfw.bc -I /home/michael/.esy/3__________________________________________________________________/i/opam__s__js__of__ocaml-opam__c__3.3.0-259f2db1/lib/js_of_ocaml -I /home/michael/.esy/3__________________________________________________________________/i/opam__s__lwt-opam__c__4.2.0-6f67c2ec/lib/lwt -I /home/michael/.esy/3__________________________________________________________________/i/opam__s__ocamlfind-opam__c__1.8.0-32d00fdd/lib/bytes -I /home/michael/.esy/3__________________________________________________________________/i/opam__s__result-opam__c__1.3-abf03bc2/lib/result -I /home/michael/.esy/3__________________________________________________________________/i/opam__s__seq-opam__c__base-37652505/lib/seq -I /home/michael/.esy/3__________________________________________________________________/i/opam__s__uchar-opam__c__0.0.2-a0257ecf/lib/uchar -I /home/michael/.esy/3__________________________________________________________________/i/reason_gl_matrix-0.9.9304-c8ab5514/lib/reglm -I examples -I src /home/michael/.esy/3__________________________________________________________________/i/opam__s__result-opam__c__1.3-abf03bc2/lib/result/result.cma /home/michael/.esy/3__________________________________________________________________/i/opam__s__lwt-opam__c__4.2.0-6f67c2ec/lib/lwt/lwt.cma /home/michael/.esy/3__________________________________________________________________/i/opam__s__js__of__ocaml-opam__c__3.3.0-259f2db1/lib/js_of_ocaml/js_of_ocaml.cma /home/michael/.esy/3__________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/unix.cma /home/michael/.esy/3__________________________________________________________________/i/ocaml-4.7.1004-a6ae015e/lib/ocaml/bigarray.cma /home/michael/.esy/3__________________________________________________________________/i/reason_gl_matrix-0.9.9304-c8ab5514/lib/reglm/reglm.cma src/reglfw.cma examples/EsyGlfwExamples.cma bin_js/.test_glfw.eobjs/byte/test_glfw.cmo)
File "_none_", line 1:
Error: Error on dynamically loaded library: ./src/dllreglfw_stubs.so: ./src/dllreglfw_stubs.so: undefined symbol: glfwGetProcAddress

(That last line is Error: Error on dynamically loaded library: ./src/dllreglfw_stubs.so: ./src/dllreglfw_stubs.so: undefined symbol: glfwGetProcAddress)

This also happens in the revery-quick-start repo when running esy dune build --profile release ./App.bc.js

Is this a known issue? If so, is there some other way to build a 'release' version?

(For reference this is mainly a problem when trying to build something with Revery because without 'release' mode the final JS bundle ends up being huge, even when run through something like the closure compiler)

@WhoAteDaCake
Copy link

WhoAteDaCake commented Jul 21, 2019

Error: Error on dynamically loaded library: ./src/dllreglfw_stubs.so: ./src/dllreglfw_stubs.so: undefined symbol: glfwGetProcAddress

I am getting the exact same error when trying to build revery within a clean docker image.

EDIT:
Just released that I tried to build it on a server with no GPU (facepalm)

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

2 participants