problem with latest updates
Stephen Bannasch
stephen.bannasch at deanbrook.org
Mon Mar 7 12:59:14 PST 2011
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
More information about the bsd-port-dev
mailing list