It's not enough to *set* ALT_BOOTDIR, it also needs to be *exported* to the
environment. If it's not exported, the variable is visible in your shell but
isn't visible to subprocesses such as make. It looks like that's what's going
on here.
How you export something to the environment depends on the shell, but this is a
fairly safe bet for the Bourne shell and its descendants:
$ ALT_BOOTDIR=/home/michael/Programs/jdk1.6.0_30 ; export ALT_BOOTDIR
A common shortcut that works for ksh and bash and friends is:
$ export ALT_BOOTDIR=/home/michael/Programs/jdk1.6.0_30
s'marks
On 12/21/11 6:35 PM, Kelly O'Hair wrote:
Later on it says:
Bootstrap Settings:
BOOTDIR = /NO_BOOTDIR
ALT_BOOTDIR =
BOOT_VER = /bin/sh: /NO_BOOTDIR/bin/java: not found [requires at least 1.6]
Which indicates that the make system did not see it.
Run:
env | fgrep ALT_BOOTDIR
Oh, but this is Ubuntu 11.10 that could be an issue.
The makefiles might not quite understand a kernel version that isn't 2.4 or 2.6.
I know the hotspot Makefiles might need to have 3.0 added to the support list.
But that doesn't explain why it is not seeing ALT_BOOTDIR.
What does make --version say?
-kto
On Dec 21, 2011, at 6:11 PM, m silverstri wrote:
I did.
$ echo $ALT_BOOTDIR
/home/michael/Programs/jdk1.6.0_30
On Wed, Dec 21, 2011 at 5:54 PM, Kelly O'Hair<kelly.oh...@oracle.com> wrote:
Did you export ALT_BOOTDIR? It needs to be set in the environment.
-kto
On Dec 21, 2011, at 4:55 PM, m silverstri wrote:
I have run and passed 'make sanity' and I have download and set
ALT_BOOTDIR to a jdk6:
$ echo $ALT_BOOTDIR
/home/michael/Programs/jdk1.6.0_30
But when I 'make', i still get error saying 'We cannot execute
/NO_BOOTDIR/bin/java'
make[2]: Entering directory `/home/michael/src/jdk7/langtools/make'
JAVA_HOME=/NO_BOOTDIR
ANT_OPTS=-Djava.io.tmpdir='/home/michael/src/jdk7/build/linux-amd64/langtools/build/ant-tmp'
ant -Djdk.version=1.7.0
-Dfull.version='1.7.0-internal-michael_2011_12_21_16_53-b00'
-Dmilestone=internal -Dbuild.number=b00 -Djavac.target=7
-Djavac.source=7 -Dboot.java.home=/NO_BOOTDIR
-Dimport.jdk=/home/michael/src/jdk7/jdk
-Dbuild.dir=/home/michael/src/jdk7/build/linux-amd64/langtools/build
-Ddist.dir=/home/michael/src/jdk7/build/linux-amd64/langtools/dist
build
Error: JAVA_HOME is not defined correctly.
We cannot execute /NO_BOOTDIR/bin/java
make[2]: *** [build] Error 1
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.
$ make sanity
( cd ./jdk/make&& \
make sanity HOTSPOT_IMPORT_CHECK=false
JDK_TOPDIR=/home/michael/src/jdk7/jdk
JDK_MAKE_SHARED_DIR=/home/michael/src/jdk7/jdk/make/common/shared
EXTERNALSANITYCONTROL=true SOURCE_LANGUAGE_VERSION=7
TARGET_CLASS_VERSION=7 MILESTONE=internal BUILD_NUMBER=b00
JDK_BUILD_NUMBER=b00
FULL_VERSION=1.7.0-internal-michael_2011_12_21_16_51-b00
PREVIOUS_JDK_VERSION=1.6.0 JDK_VERSION=1.7.0 JDK_MKTG_VERSION=7
JDK_MAJOR_VERSION=1 JDK_MINOR_VERSION=7 JDK_MICRO_VERSION=0
PREVIOUS_MAJOR_VERSION=1 PREVIOUS_MINOR_VERSION=6
PREVIOUS_MICRO_VERSION=0 ARCH_DATA_MODEL=64 COOKED_BUILD_NUMBER=0
ALT_OUTPUTDIR=/home/michael/src/jdk7/build/linux-amd64
ALT_LANGTOOLS_DIST=/home/michael/src/jdk7/build/linux-amd64/langtools/dist
ALT_CORBA_DIST=/home/michael/src/jdk7/build/linux-amd64/corba/dist
ALT_JAXP_DIST=/home/michael/src/jdk7/build/linux-amd64/jaxp/dist
ALT_JAXWS_DIST=/home/michael/src/jdk7/build/linux-amd64/jaxws/dist
ALT_HOTSPOT_IMPORT_PATH=/home/michael/src/jdk7/build/linux-amd64/hotspot/import
BUILD_HOTSPOT=true ; )
[: 1: Illegal number: /bin/sh:
[: 1: Illegal number: /bin/sh:
[: 1: Illegal number: /NO_BOOTDIR/bin/java:
[: 1: Illegal number: /NO_BOOTDIR/bin/java:
[: 1: Illegal number: not
[: 1: Illegal number: not
[: 1: Illegal number: Error:
[: 1: Illegal number: Error:
[: 1: Illegal number: JAVA_HOME
[: 1: Illegal number: JAVA_HOME
[: 1: Illegal number: is
[: 1: Illegal number: is
make[1]: Entering directory `/home/michael/src/jdk7/jdk/make'
make[1]: Leaving directory `/home/michael/src/jdk7/jdk/make'
Build Machine Information:
build machine = opportunity
Build Directory Structure:
CWD = /home/michael/src/jdk7
TOPDIR = .
LANGTOOLS_TOPDIR = ./langtools
JAXP_TOPDIR = ./jaxp
JAXWS_TOPDIR = ./jaxws
CORBA_TOPDIR = ./corba
HOTSPOT_TOPDIR = ./hotspot
JDK_TOPDIR = ./jdk
Build Directives:
BUILD_LANGTOOLS = true
BUILD_JAXP = true
BUILD_JAXWS = true
BUILD_CORBA = true
BUILD_HOTSPOT = true
BUILD_JDK = true
DEBUG_CLASSFILES =
DEBUG_BINARIES =
Hotspot Settings:
HOTSPOT_BUILD_JOBS =
HOTSPOT_OUTPUTDIR =
/home/michael/src/jdk7/build/linux-amd64/hotspot/outputdir
HOTSPOT_EXPORT_PATH =
/home/michael/src/jdk7/build/linux-amd64/hotspot/import
Bootstrap Settings:
BOOTDIR = /NO_BOOTDIR
ALT_BOOTDIR =
BOOT_VER = /bin/sh: /NO_BOOTDIR/bin/java: not found [requires at least 1.6]
OUTPUTDIR = /home/michael/src/jdk7/build/linux-amd64
ALT_OUTPUTDIR = /home/michael/src/jdk7/build/linux-amd64
ABS_OUTPUTDIR = /home/michael/src/jdk7/build/linux-amd64
Build Tool Settings:
SLASH_JAVA = /NOT-SET
ALT_SLASH_JAVA =
VARIANT = OPT
JDK_DEVTOOLS_DIR = /NOT-SET/devtools
ALT_JDK_DEVTOOLS_DIR =
ANT_HOME =
UNIXCOMMAND_PATH = /bin/
ALT_UNIXCOMMAND_PATH =
COMPILER_PATH = /usr/bin/
ALT_COMPILER_PATH =
DEVTOOLS_PATH = /usr/bin/
ALT_DEVTOOLS_PATH =
UNIXCCS_PATH = /usr/ccs/bin/
ALT_UNIXCCS_PATH =
USRBIN_PATH = /usr/bin/
ALT_USRBIN_PATH =
COMPILER_NAME = GCC4
COMPILER_VERSION = GCC4
CC_VER = 4.6.1 [requires at least 4.3.0]
ZIP_VER = 3.0 [requires at least 2.2]
UNZIP_VER = 6.00 [requires at least 5.12]
ANT_VER = Error: JAVA_HOME is not defined correctly. We cannot
execute /NO_BOOTDIR/bin/java [requires at least 1.7.1]
TEMPDIR = /home/michael/src/jdk7/build/linux-amd64/tmp
Build Directives:
OPENJDK = true
USE_HOTSPOT_INTERPRETER_MODE =
PEDANTIC =
DEV_ONLY =
NO_DOCS =
NO_IMAGES =
TOOLS_ONLY =
INSANE =
COMPILE_APPROACH = parallel
PARALLEL_COMPILE_JOBS = 2
ALT_PARALLEL_COMPILE_JOBS =
FASTDEBUG =
COMPILER_WARNINGS_FATAL = false
COMPILER_WARNING_LEVEL =
SHOW_ALL_WARNINGS =
INCREMENTAL_BUILD = false
CC_HIGHEST_OPT =
CC_HIGHER_OPT =
CC_LOWER_OPT =
CXXFLAGS = -O2 -fPIC -DCC_NOEX -W -Wall -Wno-unused
-Wno-parentheses -fno-omit-frame-pointer -D_LITTLE_ENDIAN
CFLAGS = -O2 -fno-strict-aliasing -fPIC -W -Wall -Wno-unused
-Wno-parentheses -pipe -fno-omit-frame-pointer -D_LITTLE_ENDIAN
BOOT_JAVA_CMD = /NO_BOOTDIR/bin/java -XX:-PrintVMOptions
-XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput -Xmx512m -Xms512m
-XX:PermSize=32m -XX:MaxPermSize=160m
BOOT_JAVAC_CMD = /NO_BOOTDIR/bin/javac -J-XX:ThreadStackSize=1536
-J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions
-J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m
-J-XX:MaxPermSize=160m -encoding ascii -source 6 -target 6
-XDignore.symbol.file=true
BOOT_JAR_CMD = /NO_BOOTDIR/bin/jar
BOOT_JARSIGNER_CMD = /NO_BOOTDIR/bin/jarsigner
JAVAC_CMD =
/NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javac
-J-XX:ThreadStackSize=1536 -J-XX:-PrintVMOptions
-J-XX:+UnlockDiagnosticVMOptions -J-XX:-LogVMOutput -J-Xmx512m
-J-Xms512m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m -source 7
-target 7 -encoding ascii
-Xbootclasspath:/home/michael/src/jdk7/build/linux-amd64/classes
JAVAH_CMD =
/NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javah
-bootclasspath /home/michael/src/jdk7/build/linux-amd64/classes
JAVADOC_CMD =
/NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64/bin/javadoc
-J-XX:-PrintVMOptions -J-XX:+UnlockDiagnosticVMOptions
-J-XX:-LogVMOutput -J-Xmx512m -J-Xms512m -J-XX:PermSize=32m
-J-XX:MaxPermSize=160m -bootclasspath
/home/michael/src/jdk7/build/linux-amd64/classes
Build Platform Settings:
USER = michael
PLATFORM = linux
ARCH = amd64
LIBARCH = amd64
ARCH_FAMILY = amd64
ARCH_DATA_MODEL = 64
ARCHPROP = amd64
ALSA_VERSION = 1.0.24.1
OS_VERSION = 3.0.0-14-generic [requires at least 2.6]
OS_VARIANT_NAME = Ubuntu
OS_VARIANT_VERSION = 11.10
MB_OF_MEMORY = 7984
GNU Make Settings:
MAKE = make
MAKE_VER = 3.81 [requires at least 3.81]
MAKECMDGOALS = sanity
MAKEFLAGS = w
SHELL = /bin/sh
Target Build Versions:
JDK_VERSION = 1.7.0
MILESTONE = internal
RELEASE = 1.7.0-internal
FULL_VERSION = 1.7.0-internal-michael_2011_12_21_16_51-b00
BUILD_NUMBER = b00
External File/Binary Locations:
USRJDKINSTANCES_PATH = /opt/java
BUILD_JDK_IMPORT_PATH = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries
ALT_BUILD_JDK_IMPORT_PATH =
JDK_IMPORT_PATH = /NOT-SET/re/jdk/1.7.0/promoted/latest/binaries/linux-amd64
ALT_JDK_IMPORT_PATH =
LANGTOOLS_DIST =
ALT_LANGTOOLS_DIST = /home/michael/src/jdk7/build/linux-amd64/langtools/dist
CORBA_DIST =
ALT_CORBA_DIST = /home/michael/src/jdk7/build/linux-amd64/corba/dist
JAXP_DIST =
ALT_JAXP_DIST = /home/michael/src/jdk7/build/linux-amd64/jaxp/dist
JAXWS_DIST =
ALT_JAXWS_DIST = /home/michael/src/jdk7/build/linux-amd64/jaxws/dist
HOTSPOT_DOCS_IMPORT_PATH = /NO_DOCS_DIR
ALT_HOTSPOT_DOCS_IMPORT_PATH =
HOTSPOT_IMPORT_PATH = /home/michael/src/jdk7/build/linux-amd64/hotspot/import
ALT_HOTSPOT_IMPORT_PATH =
/home/michael/src/jdk7/build/linux-amd64/hotspot/import
HOTSPOT_SERVER_PATH =
/home/michael/src/jdk7/build/linux-amd64/hotspot/import/jre/lib/amd64/server
ALT_HOTSPOT_SERVER_PATH =
CACERTS_FILE = ./../src/share/lib/security/cacerts
ALT_CACERTS_FILE =
CUPS_HEADERS_PATH = /usr/include
ALT_CUPS_HEADERS_PATH =
OpenJDK-specific settings:
FREETYPE_HEADERS_PATH = /usr/include
ALT_FREETYPE_HEADERS_PATH =
FREETYPE_LIB_PATH = /usr/lib
ALT_FREETYPE_LIB_PATH =
Previous JDK Settings:
PREVIOUS_RELEASE_PATH =
ALT_PREVIOUS_RELEASE_PATH =
PREVIOUS_JDK_VERSION = 1.6.0
ALT_PREVIOUS_JDK_VERSION =
PREVIOUS_JDK_FILE =
ALT_PREVIOUS_JDK_FILE =
PREVIOUS_JRE_FILE =
ALT_PREVIOUS_JRE_FILE =
PREVIOUS_RELEASE_IMAGE =
ALT_PREVIOUS_RELEASE_IMAGE =
Sanity check passed.
michael@opportunity:~/src/jdk7$