new problem: libjava.dylib: image not found -- but it is there

John Rose John.Rose at Sun.COM
Tue Jan 26 23:09:19 PST 2010


On Jan 26, 2010, at 8:52 PM, John Rose wrote:

> this is what happens in the end

Oops...  That was because I was doing incremental rebuilds.  Actually, those makefile changes seem to do the trick:

> Here are my makefile changes so far (relative to a $davinci installation).  It is pretty crude and needs cleanup as well as correction.
>   http://homepage.mac.com/rose00/work/osxpaths.zip

With a real build, the linker options in the makefile changes do seem to cover the needed inter-library references without embedding build directory pathnames:

$ DYLD_PRINT_LIBRARIES= build/bsd-i586/j2re-image/bin/java -Xinternalversion
dyld: loaded: /Users/jrose/Projects/davinci/sources/build/bsd-i586/j2re-image/bin/java
dyld: loaded: /usr/lib/libSystem.B.dylib
dyld: loaded: /usr/lib/system/libmathCommon.A.dylib
dyld: loaded: /Users/jrose/Projects/davinci/sources/build/bsd-i586/j2re-image/lib/i386/server/libjvm.dylib
dyld: loaded: /usr/lib/libstdc++.6.dylib
dyld: loaded: /Users/jrose/Projects/davinci/sources/build/bsd-i586/j2re-image/lib/i386/libverify.dylib
dyld: loaded: /Users/jrose/Projects/davinci/sources/build/bsd-i586/j2re-image/lib/i386/libjava.dylib
OpenJDK Server VM (17.0-b07) for bsd-x86 JRE (1.7.0-internal-jrose_2010_01_26_16_15-b00), built on Jan 26 2010 16:26:30 by "jrose" with gcc 4.0.1 (Apple Inc. build 5493)

$ otool -L build/bsd-i586/j2re-image/{bin/java,lib/i386/{libjava.dylib,server/libjvm.dylib}}
build/bsd-i586/j2re-image/bin/java:
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 103.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0)
build/bsd-i586/j2re-image/lib/i386/libjava.dylib:
	@rpath/libjava.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libjvm.dylib (compatibility version 0.0.0, current version 0.0.0)
	@rpath/libverify.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 103.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0)
build/bsd-i586/j2re-image/lib/i386/server/libjvm.dylib:
	@rpath/libjvm.dylib (compatibility version 0.0.0, current version 0.0.0)
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.0.0)
	/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
	/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 103.0.0)

There may be too many linker options:  too many -rpath options (two per link line) and an excess of -install_name options (they were nowhere, now they are everywhere).

-- John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/bsd-port-dev/attachments/20100126/4f206179/attachment.html 


More information about the bsd-port-dev mailing list