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

[OSX] dyld: lazy symbol binding failed: Symbol not found: _JVM_FindClassFromCaller #57

Closed
erikhakansson opened this issue Feb 8, 2015 · 10 comments

Comments

@erikhakansson
Copy link

When using JDK8u25 with installer-light-jdk8u5.52 I get the following error:

dyld: lazy symbol binding failed: Symbol not found: _JVM_FindClassFromCaller
  Referenced from: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libjava.dylib
JAVA_OPTS already set in environment; overriding default settings with values: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:50272,suspend=y,server=n -javaagent:/Users/xxx/Library/Caches/IntelliJIdea14/groovyHotSwap/gragent.jar -Xms2048m -Xmx2048m -XX:MaxPermSize=512m -javaagent:/Library/Java/Agents/hotswap-agent.jar -XXaltjvm=dcevm 
  Expected in: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/dcevm/libjvm.dylib

dyld: Symbol not found: _JVM_FindClassFromCaller
=========================================================================
  Referenced from: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libjava.dylib

  Expected in: /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/dcevm/libjvm.dylib

This might have to do with the version difference, but on OSX Maverick, JDK8u5 is uninstallable due to a bug in the installer, and there's no release of DCEVM for newer builds yet.

@erikhakansson
Copy link
Author

This seems to be the relevant change in the JDK:
http://hg.openjdk.java.net/bsd-port/jdk8/jdk/rev/cb621c3e79a1

@erikhakansson
Copy link
Author

I managed to build a DCEVM targeting a JDK8u25 and it works perfectly! So it would be nice if some new binaries could be released. I suspect this is not an OSX issue so most new JDK8 releases might need new binaries.

@FearlessHyena
Copy link

hi Erik, I'm in the same boat and would like to use it with JDK8u30. Could you share what you had to do to make a build? Is it as simple as adding an entry in the gradle.properties for the new jdk (hotspotTag=jdk8u30-b99 for e.g.) and just building it?

@erikhakansson
Copy link
Author

Yeah, that's what I did. I had some problems due to incompatibilites with Clang though. The compiler will complain about unknown flags. Simply go into the Makefile and remove those flags at the relevant places.

@erikhakansson
Copy link
Author

Or build it with GCC, either on your Mac or on another computer, and just lift the compiled binary over.

@FearlessHyena
Copy link

ah got it i'll try that. thanks for the information guys

@skybber
Copy link
Contributor

skybber commented Feb 17, 2015

There is a new fix for new versions >jdk8u20. You shoud uncomment

#hotspotTag=jdk8u5-b13

in gradle.properties before build

@FearlessHyena
Copy link

great thanks @skybber. this one right?

#hotspotTag=jdk8u31-b13

i'll check it out

@virtual-machinist
Copy link

#hotspotTag=jdk8u31-b13

Compilation failed with wrong argument format error until I manually commented out /hotspot/src/share/vm/prims/jvmtiRedefineClasses2.cpp:1540. Tests with Oracle JDK 1.8u31 ran successfully.

@idubrov
Copy link
Contributor

idubrov commented Jun 25, 2015

8u45 build is available.

@idubrov idubrov closed this as completed Jun 25, 2015
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

5 participants