I'm running the ES 184.108.40.206 on Mono 3.2.7 on top of OSX 10.8.5. When I run the example query, I get the following message:
The projection faulted due to 'js1'
In the error log, I can see the following stacktrace:
at (wrapper managed-to-native) EventStore.Projections.Core.v8.Js1:CompilePrelude (string,string,EventStore.Projections.Core.v8.Js1/LoadModuleDelegate,EventStore.Projections.C
at EventStore.Projections.Core.v8.PreludeScript.CompileScript (System.String script, System.String fileName) [0x00000] in :0
at EventStore.Projections.Core.v8.PreludeScript..ctor (System.String script, System.String fileName, System.Func2 getModuleSourceAndFileName, System.Action2 cancelCallbackF
actory, System.Action1 logger) [0x00000] in <filename unknown>:0
at EventStore.Projections.Core.Services.v8.V8ProjectionStateHandler..ctor (System.String preludeName, System.String querySource, System.Func2 getModuleSource, System.Action
1 logger, System.Action2 cancelCallbackFactory) [0x00000] in :0
at EventStore.Projections.Core.Services.v8.DefaultV8ProjectionStateHandler..ctor (System.String query, System.Action1 logger, System.Action2 cancelCallbackFactory) [0x00000
] in :0
at EventStore.Projections.Core.Services.Management.ProjectionStateHandlerFactory.Create (System.String factoryType, System.String source, System.Action2 cancelCallbackFactor
y, System.Action1 logger) [0x00000] in :0
at EventStore.Projections.Core.Services.Management.ManagedProjection+c__AnonStoreyE.<>m__16 () [0x00000] in :0
2 getModuleSourceAndFileName, System.Action
1 logger) [0x00000] in <filename unknown>:0
at EventStore.Projections.Core.Services.v8.V8ProjectionStateHandler..ctor (System.String preludeName, System.String querySource, System.Func
1 logger, System.Action
1 logger, System.Action
Google is speechless wrt this error message. Any hints would be greatly appreciated
I thought I were on the google groups. Take a look here and here.
In the ES home dir, I have libjs1.so and libv8.so but there are no .dylib versions. Should they be there?
I also tried exporting LD_LIBRARY_PATH and DYLD_LIBRARY_PATH but to no avail.
I downloaded the 2.0.1 binaries, btw. Maybe for OSX, I need to build it from source? Will try now.
thanks for the pointers. I managed to build v8 and js1 from source but I'm ultimately getting a similar error:
The projection subsystem failed to load a libjs1.so/js1.dll/... or one of its dependencies. The original error message is: js1'
Sounds to me like ES still can't find the js1 library but since my knowledge about shared library handling is limited, I might be missing something obvious here. I tried everything I could think of using install_name_tool.
Any other thoughts are greatly appreciated.
I'll try to spend some time today modifying build.sh to work correctly with MacOS
meanwhile, I decided to give my original approach another try (run ES in VM) and finally succeeded with the help of this: http://praglowski.com/2013/12/18/setup-eventstore-with-vagrant/
thx for the prompt help!
@poohsen The build script on dev branch now works for MacOS as well. The only prerequisite is having Mono available on PATH - that can be a bit more difficult than it sounds since there are no binary distributions of 64 bit Mono for MacOS! Will look into static linking as well.