ocsigen-start icon indicating copy to clipboard operation
ocsigen-start copied to clipboard

make test.byte fails on MacOS

Open deril opened this issue 6 years ago • 10 comments

When I try to run a server using make test.byte the error ocsigenserver: ocsigen:main: Fatal - Error in configuration file: Error while parsing configuration file: Eliom: while loading /Users/myuser/.opam/4.06.1/lib/safepass/safepass.cma: error loading shared library: dllsafepass_stubs.so: dlopen(dllsafepass_stubs.so, 10): image not found appears macos 10.13 eliom 6.3.0

deril avatar Jul 05 '18 20:07 deril

Same here. make test.opt completed successfully, although then you find a JS error

myapp_.js:3280 Uncaught TypeError: s.charCodeAt is not a function
    at StringReader.read32u (myapp_.js:3280)
    at myapp_.js:3323
    at caml_call3 (myapp_.js:5129)
    at unwrap (myapp_.js:80542)
    at unwrap_js (myapp_.js:80551)
    at _dQs_ (myapp_.js:86720)
    at caml_call1 (myapp_.js:5125)
    at case$1 (myapp_.js:53315)
    at caml_call3 (myapp_.js:5129)
    at get_request_data (myapp_.js:86722)

That has been logged already here #521

nielmond avatar Nov 17 '18 03:11 nielmond

I am having the same error as deril. Is there a way to manually pull newer version of eliom?

renovatorruler avatar Nov 25 '18 15:11 renovatorruler

Hi, I try to run Ocsigen Start on MacOS and I had to do this:

  • use gmake instead of regular make
  • export DYLD_LIBRARY_PATH=~/.opam/4.07.0/lib/stublibs/:$DYLD_LIBRARY_PATH
  • brew install mysql-client

Does it help?

balat avatar Jan 25 '19 16:01 balat

@balat These instructions are not solving the issue for me. Anything else to try?

dboris avatar Mar 25 '19 17:03 dboris

@dboris Do you have exactly the same error message as @deril ? Can you confirm that variable $DYLD_LIBRARY_PATH is set the the right directory?

balat avatar Mar 26 '19 11:03 balat

@balat Yes to both questions.

dboris avatar Mar 26 '19 16:03 dboris

Can you check that the missing dll is present in the path specified in DYLD_LIBRARY_PATH?

If yes, try to run the ocsigenserver command directly without make (something like ocsigenserver -c configfile)

For some reason I don't understand, $DYLD_LIBRARY_PATH sometimes seems not to be taken into account by make ...

balat avatar Mar 27 '19 11:03 balat

@balat The dll is present in the path. Running ocsigenserver command directly works.

dboris avatar Mar 27 '19 15:03 dboris

Ok that's a workaround then. If someone finds a better solution, please post it here so that we can fix it for everyone.

Also shouldn't $DYLD_LIBRARY_PATH be set by opam on MAcOS?

balat avatar Mar 28 '19 09:03 balat

@balat This thread explains why DYLD_LIBRARY_PATH is not respected on macOS, and includes a workaround which works for me: https://github.com/rbenv/rbenv/issues/962#issuecomment-275858404

dboris avatar May 03 '19 17:05 dboris