Sam Pullara identified part of the problem: Darwin doesn't have ldd -- it also doesn't have readelf
These changes fix part of the problem: [jdk]$ hg diff diff --git a/make/common/shared/Defs-utils.gmk b/make/common/shared/Defs-utils.gmk --- a/make/common/shared/Defs-utils.gmk +++ b/make/common/shared/Defs-utils.gmk @@ -233,6 +233,8 @@ NAWK = $(UTILS_USR_BIN_PATH)awk UNZIPSFX = $(UTILS_USR_BIN_PATH)unzipsfx ZIPEXE = $(UTILS_USR_BIN_PATH)zip + LDD = $(UTILS_USR_BIN_PATH)otool -L + READELF = $(UTILS_USR_BIN_PATH)otool -l else UNZIP = $(UTILS_DEVTOOL_PATH)unzip endif But nm on the mac doesn't use the options '-D' or '--defined-only So lines 180-2 in make/common/shared/Defs-bsd.gmk b/make/common/shared/Defs-bsd.gmk don't work: if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then $(ECHO) "WARNING: File was not built with a mapfile: $1"; \ fi && \ These hard-coded changes for Darwin fix the problem: diff --git a/make/common/shared/Defs-bsd.gmk b/make/common/shared/Defs-bsd.gmk --- a/make/common/shared/Defs-bsd.gmk +++ b/make/common/shared/Defs-bsd.gmk @@ -180,7 +180,7 @@ define binary_file_verification # binary_file ( \ $(ECHO) "Checking for mapfile use in: $1" && \ - if [ "`$(NM) -D -g --defined-only $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \ + if [ "`$(NM) -gU $1 | $(EGREP) 'SUNWprivate'`" = "" ] ; then \ $(ECHO) "WARNING: File was not built with a mapfile: $1"; \ fi && \ $(ECHO) "Library loads for: $1" && \ But the build fails shortly after checking for runpaths in libjsig.dylib /bin/cp /Users/stephen/dev/java/src/bsd/build/bsd-amd64/hotspot/import/jre/lib/amd64/libjsig.dylib /Users/stephen/dev/java/src/bsd/build/bsd-amd64/lib/amd64/libjsig.dylib Checking for mapfile use in: /Users/stephen/dev/java/src/bsd/build/bsd-amd64/lib/amd64/libjsig.dylib WARNING: File was not built with a mapfile: /Users/stephen/dev/java/src/bsd/build/bsd-amd64/lib/amd64/libjsig.dylib Library loads for: /Users/stephen/dev/java/src/bsd/build/bsd-amd64/lib/amd64/libjsig.dylib /Users/stephen/dev/java/src/bsd/build/bsd-amd64/lib/amd64/libjsig.dylib: libjsig.dylib (compatibility version 0.0.0, current version 0.0.0) /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current version 625.0.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.1) RUNPATH for: /Users/stephen/dev/java/src/bsd/build/bsd-amd64/lib/amd64/libjsig.dylib make[4]: *** [/Users/stephen/dev/java/src/bsd/build/bsd-amd64/lib/amd64/libjsig.dylib] Error 1 make[3]: *** [all] Error 1 make[2]: *** [all] Error 1 make[1]: *** [jdk-build] Error 2