What does this error mean?
What do I need to do to resolve it?
I'm trying to run a java based module for node.js (specifically, xslt4node) on Mac OS El Captain but every time I get this error. Everything seems to work OK for windows users. The full error is below:
dyld: lazy symbol binding failed: Symbol not found: _JNI_CreateJavaVM Referenced from: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node Expected in: flat namespace
dyld: Symbol not found: _JNI_CreateJavaVM Referenced from: /projects/main-project/node_modules/java/build/Release/nodejavabridge_bindings.node Expected in: flat namespace
I found Undefined symbols for architecture x86_64: JNI_CreateJavaVM OS-X Xcode which is the closest I could find that explains my exact problem, but I'm not using xcode for development, I'm on a node.js platform.
Has anyone else seen this before? What does it mean?
So far I have tried:
- Changing Java versions
- Deleting and rebuilding
node_moudles - Adding JVM capabilities
<string>JNI</string> - Uninstalling Java, per documentation here: https://www.java.com/en/download/help/mac_uninstall_java.xml running those commands does nothing:
user:~ kawnah$ sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane user:~ kawnah$ sudo rm -fr ~/Library/Application\ Support/Java user:~ kawnah$ java -version java version "9.0.1" Java(TM) SE Runtime Environment (build 9.0.1+11) Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
- Trying different version of node (7.10.0)
- Completely uninstalling node/npm, and reinstalling
dyldis the dynamic linking utility in mac osx,JNIis a java technology that allows java to interact with native applications. The error means it can't find this function fromJNIinterface .. So it may be a clue for you to search. as I have no mac to dig deep - Shady Atef