Date: Tue, 06 Nov 2012 19:51:07 -0500 From: Jung-uk Kim <jkim@FreeBSD.org> To: Dave Hayes <dave@jetcafe.org> Cc: freebsd-java@freebsd.org Subject: Re: openjdk6 also requires nmake? Message-ID: <5099B07B.7040803@FreeBSD.org> In-Reply-To: <5091E40D.2020605@jetcafe.org> References: <5091E40D.2020605@jetcafe.org>
next in thread | previous in thread | raw e-mail | index | archive | help
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2012-10-31 22:53:01 -0400, Dave Hayes wrote: > # cd /usr/ports/java/openjdk6 # make install clean ... cd > ./hotspot/make && \ gmake > JDK_TOPDIR=/usr/ports/java/openjdk6/work/jdk > JDK_MAKE_SHARED_DIR=/usr/ports/java/openjdk6/work/jdk/make/common/shared > EXTERNALSANITYCONTROL=true TARGET_CLASS_VERSION=5 MILESTONE=fcs > BUILD_NUMBER=b26 JDK_BUILD_NUMBER=b26 FULL_VERSION=1.6.0_32-b26 > PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.6.0_32 > JDK_MKTG_VERSION=6u32 JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=6 > JDK_MICRO_VERSION=0 ARCH_DATA_MODEL=64 > COOKED_JDK_UPDATE_VERSION=320 COOKED_BUILD_NUMBER=26 > ANT_HOME="/usr/ports/java/openjdk6/work/apache-ant-1.8.4" > ALT_OUTPUTDIR=/usr/ports/java/openjdk6/work/build/bsd-amd64/hotspot/outputdir > ALT_EXPORT_PATH=/usr/ports/java/openjdk6/work/build/bsd-amd64/hotspot/import > ALT_SLASH_JAVA=/NOT-SET ALT_BOOTDIR=/usr/local/bootstrap-openjdk > ALT_LANGTOOLS_DIST=/usr/ports/java/openjdk6/work/build/bsd-amd64/langtools/dist > all_product gmake[2]: Entering directory > `/usr/ports/java/openjdk6/work/hotspot/make' Makefile:375: target > `/Xusage.txt' given more than once in the same rule. cd > /usr/ports/java/openjdk6/work/hotspot/make; \ gmake > VM_TARGET=product generic_build2 > ALT_OUTPUTDIR=/usr/ports/java/openjdk6/work/build/bsd-amd64/hotspot/outputdir > > gmake[3]: Entering directory `/usr/ports/java/openjdk6/work/hotspot/make' > Makefile:375: target `/Xusage.txt' given more than once in the same > rule. mkdir -p > /usr/ports/java/openjdk6/work/build/bsd-amd64/hotspot/outputdir cd > /usr/ports/java/openjdk6/work/build/bsd-amd64/hotspot/outputdir; \ > MAKEFLAGS= MFLAGS= nmake /NOLOGO -f > \\usr\\ports\\java\\openjdk6\\work\\hotspot\\make\\windows\\build.make > \ Variant=compiler2 \ > WorkSpace=\\usr\\ports\\java\\openjdk6\\work\\hotspot \ > BootStrapDir=\\usr\\local\\bootstrap-openjdk \ BuildUser= \ > JDK_MKTG_VERSION=6u32 JDK_MAJOR_VER=1 JDK_MINOR_VER=6 > JDK_MICRO_VER=0 JDK_UPDATE_VER=320 JDK_BUILD_NUMBER=26 > BUILD_WIN_SA=1 JAVA_HOME=\\usr\\local\\bootstrap-openjdk > OUTPUTDIR=\\usr\\ports\\java\\openjdk6\\work\\build\\bsd-amd64\\hotspot\\outputdir > GAMMADIR=\\usr\\ports\\java\\openjdk6\\work\\hotspot MAKE_VERBOSE=y > HOTSPOT_RELEASE_VERSION=20.0-b12 JRE_RELEASE_VERSION=1.6.0_32-b26 > HOTSPOT_BUILD_VERSION= product nmake: not found gmake[3]: *** > [generic_build2] Error 127 gmake[3]: Leaving directory > `/usr/ports/java/openjdk6/work/hotspot/make' gmake[2]: *** > [product] Error 2 gmake[2]: Leaving directory > `/usr/ports/java/openjdk6/work/hotspot/make' gmake[1]: *** > [hotspot-build] Error 2 gmake[1]: Leaving directory > `/usr/ports/java/openjdk6/work' gmake: *** [build_product_image] > Error 2 *** Error code 1 > > Stop in /usr/ports/java/openjdk6. *** Error code 1 > > Nothing in my /etc/make.conf refers to java. What gives here? It's failing in hotspot/make/Makefile: - -------- # Build compiler2 (server) rule, different for platforms generic_build2: $(MKDIR) -p $(OUTPUTDIR) ifeq ($(OSNAME),windows) $(CD) $(OUTPUTDIR); \ $(NMAKE) -f $(ABS_OS_MAKEFILE) \ Variant=compiler2 \ WorkSpace=$(ABS_GAMMADIR) \ BootStrapDir=$(ABS_BOOTDIR) \ BuildUser=$(USERNAME) \ $(MAKE_ARGS) $(VM_TARGET) else $(CD) $(OUTPUTDIR); \ $(MAKE) -f $(ABS_OS_MAKEFILE) \ $(MAKE_ARGS) $(VM_TARGET) endif - -------- In other words, it should never happen unless the OSNAME is set to "windows". In turn, OSNAME comes from hotspot/make/defs.make: - -------- # Windows should have OS predefined ifeq ($(OS),) OS := $(shell uname -s) ifneq ($(findstring BSD,$(OS)),) OS=bsd endif ifeq ($(OS), Darwin) OS=bsd endif HOST := $(shell uname -n) endif # If not SunOS, not Linux and not BSD, assume Windows ifneq ($(OS), Linux) ifneq ($(OS), SunOS) ifneq ($(OS), bsd) OSNAME=windows else OSNAME=bsd endif else OSNAME=solaris endif else OSNAME=linux endif - -------- Again, it should never happen unless OS environment variable is explicitly set somewhere (your shell?). Please try: env OS=bsd make i.e., explicitly set the environment variable. For more extreme paranoia, you may try: env -i PATH="${PATH}" make i.e., ignore all environment variables except for $PATH. I hope it helps, Jung-uk Kim -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.19 (FreeBSD) Comment: Using GnuPG with Mozilla - http://www.enigmail.net/ iEYEARECAAYFAlCZsHsACgkQmlay1b9qnVM/pwCfbZScioenAxR6hIsYgx4Qp5Q+ DH8An1RyDVDvwbISG05pHUiplVdoTc21 =UJHy -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5099B07B.7040803>