make test.byte fails on MacOS
deril opened this issue · 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
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
I am having the same error as deril. Is there a way to manually pull newer version of eliom?
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?
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 The dll is present in the path. Running ocsigenserver command directly works.
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 This thread explains why DYLD_LIBRARY_PATH is not respected on macOS, and includes a workaround which works for me:
rbenv/rbenv#962 (comment)