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