problem with building jdk7--"cannot find -ljvm"

Feng Xian feng.xian at gmail.com
Mon Dec 3 06:22:57 UTC 2007


I figured out the problem of "cannot find -ljvm"" but now I ran into a new
problem.

The cause of my previous problem is that I built openjdk in amd64 machine
but the bootstrap jdk is for 32-bit platform. So the build couldn't find
${ALT_JDK_IMPORT_PATH}/jre/lib/amd64/client/libjvm.so.

Then I used jdk6 for amd64 platform as bootstrap jdk, the build (type "make
build" in control/make) failed with the following errors:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
PLUG IMPORT: java/awt/image/renderable/ParameterBlock.class
PLUG IMPORT: java/awt/image/renderable/RenderContext.class
PLUG IMPORT: java/awt/image/renderable/RenderableImage.class
PLUG IMPORT: java/awt/image/renderable/RenderableImageOp.class
PLUG IMPORT: java/awt/image/renderable/RenderableImageProducer.class
PLUG IMPORT: java/awt/image/renderable/RenderedImageFactory.class
(cd  /home/fxian/openjdk/control/build/linux-amd64/classes &&
/home/fxian/java/bin/jar xf
/home/fxian/openjdk/openjdk-binary-plugs/jre/lib/rt-closed.jar@/home/fxian/openjdk/control/build/linux-amd64/tmp/java/plugs/awt.clist)
BinaryPlugs import completed: Mon Dec  3 00:02:40 CST 2007
make[3]: *** No rule to make target
`/home/fxian/openjdk/control/build/linux-amd64/hotspot/import/jre/lib/amd64/server/libjvm.so',
needed by
`/home/fxian/openjdk/control/build/linux-amd64/lib/amd64/server/libjvm.so'.
Stop.
make[3]: Leaving directory `/home/fxian/openjdk/jdk/make/java/redist'
make[2]: *** [all] Error 1
make[2]: Leaving directory `/home/fxian/openjdk/jdk/make/java'
make[1]: *** [all] Error 1
make[1]: Leaving directory `/home/fxian/openjdk/jdk/make'
make: *** [jdk-build] Error 2
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I digged openjdk/jdk/make/java/redist/Makefile and found the make file has
"make build" rule. I had no clue why "No rule to make target". Could someone
help me out on this? Thanks!
.
*To make you better understand my configuration, the following is the output
of "make sanity".*

=====================================================
make[1]: Entering directory `/home/fxian/openjdk/jdk/make'
make[2]: Entering directory
`/home/fxian/openjdk/jdk/make/tools/freetypecheck'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory
`/home/fxian/openjdk/jdk/make/tools/freetypecheck'
make[1]: Leaving directory `/home/fxian/openjdk/jdk/make'

Build Machine Information:
   build machine = terryxian.com

Build Directory Structure:
   CWD = /home/fxian/openjdk/control/make
   TOPDIR = ../..
   CONTROL_TOPDIR = ../../control
   LANGTOOLS_TOPDIR = ../../langtools
   JAXP_TOPDIR = ../../jaxp
   JAXWS_TOPDIR = ../../jaxws
   CORBA_TOPDIR = ../../corba
   HOTSPOT_TOPDIR = ../../hotspot
   JDK_TOPDIR = ../../jdk

Build Directives:
   BUILD_LANGTOOLS = false
   BUILD_JAXP = true
   BUILD_JAXWS = true
   BUILD_CORBA = true
   BUILD_HOTSPOT = true
   BUILD_JDK    = true

Hotspot Settings:
      HOTSPOT_BUILD_JOBS  =
      HOTSPOT_OUTPUTDIR   =
/home/fxian/openjdk/control/build/linux-amd64/hotspot/outputdir
      HOTSPOT_EXPORT_PATH =
/home/fxian/openjdk/control/build/linux-amd64/hotspot/import




Bootstrap Settings:
  BOOTDIR = /home/fxian/java
    ALT_BOOTDIR = /home/fxian/java
  BOOT_VER = 1.6 [requires at least 1.5]
  OUTPUTDIR = /home/fxian/openjdk/control/build/linux-amd64
    ALT_OUTPUTDIR = /home/fxian/openjdk/control/build/linux-amd64
  ABS_OUTPUTDIR = /home/fxian/openjdk/control/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 = /home/fxian/bench/SPECjAppServer2004/ant
  FINDBUGS_HOME = /home/fxian/program_files/findbugs-1.3.0
  UNIXCOMMAND_PATH = /bin/
    ALT_UNIXCOMMAND_PATH =
  COMPILER_PATH = /usr/bin/
    ALT_COMPILER_PATH =
  DEVTOOLS_PATH = /usr/bin/
    ALT_DEVTOOLS_PATH = /usr/bin
  UNIXCCS_PATH = /usr/ccs/bin/
    ALT_UNIXCCS_PATH =
  USRBIN_PATH = /usr/bin/
    ALT_USRBIN_PATH =
  COMPILER_NAME = GCC
  COMPILER_VERSION =
  CC_VER = 4.1 [requires at least 3.2]
  ZIP_VER = 2.31 [requires at least 2.2]
  UNZIP_VER = 5.52 [requires at least 5.12]
  ANT_VER = 1.6 [requires at least 1.6.3]
  FINDBUGS_VER = 1.3 [requires at least 1.1]
  TEMPDIR = /home/fxian/openjdk/control/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 =
  INCREMENTAL_BUILD = false
  CC_HIGHEST_OPT = -O3
  CC_HIGHER_OPT = -O3
  CC_LOWER_OPT = -O2
  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 = /home/fxian/java/bin/java  -client -Xmx896m -Xms128m
-XX:PermSize=32m -XX:MaxPermSize=160m
  BOOT_JAVAC_CMD = /home/fxian/java/bin/javac  -J-XX:ThreadStackSize=768
-J-client -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m
-encoding ascii
  BOOT_JAR_CMD = /home/fxian/java/bin/jar
  BOOT_JARSIGNER_CMD = /home/fxian/java/bin/jarsigner
  JAVAC_CMD = /home/fxian/java/bin/javac  -J-XX:ThreadStackSize=768
-J-client -J-Xmx896m -J-Xms128m -J-XX:PermSize=32m -J-XX:MaxPermSize=160m
-source 1.5 -target 5 -encoding ascii
-Xbootclasspath:/home/fxian/openjdk/control/build/linux-amd64/classes
  JAVAH_CMD = /home/fxian/java/bin/javah -bootclasspath
/home/fxian/openjdk/control/build/linux-amd64/classes
  JAVADOC_CMD = /home/fxian/java/bin/javadoc -J-client -J-Xmx896m -J-Xms128m
-J-XX:PermSize=32m -J-XX:MaxPermSize=160m

Build Platform Settings:
  USER = fxian
  PLATFORM = linux
  ARCH = amd64
  LIBARCH = amd64
  ARCH_FAMILY = amd64
  ARCH_DATA_MODEL = 32
  ARCHPROP = amd64
  LINUX_VERSION = 7
  ALSA_VERSION = 1.0.14rc3
  OS_VERSION = 2.6.20-prep [requires at least 2.4.9-e.3]
  OS_NAME = linux
  TEMP_FREE_SPACE = 54826720
  FREE_SPACE = 54826720
  MB_OF_MEMORY = 31187

GNU Make Settings:
  MAKE = make
  MAKE_VER = 3.81 [requires at least 3.78]
  MAKECMDGOALS = sanity
  MAKEFLAGS = w
  SHELL = /bin/sh

Target Build Versions:
  JDK_VERSION = 1.7.0
  MILESTONE = TerryJDK7
  RELEASE = 1.7.0-TerryJDK7
  FULL_VERSION = 1.7.0-TerryJDK7-fxian_02_dec_2007_23_54-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 = /home/fxian/java
    ALT_JDK_IMPORT_PATH = /home/fxian/java
  LANGTOOLS_DIST =
    ALT_LANGTOOLS_DIST =
  CORBA_DIST = /home/fxian/openjdk/control/build/linux-amd64/corba/dist
    ALT_CORBA_DIST =
/home/fxian/openjdk/control/build/linux-amd64/corba/dist
  JAXP_DIST = /home/fxian/openjdk/control/build/linux-amd64/jaxp/dist
    ALT_JAXP_DIST = /home/fxian/openjdk/control/build/linux-amd64/jaxp/dist
  JAXWS_DIST = /home/fxian/openjdk/control/build/linux-amd64/jaxws/dist
    ALT_JAXWS_DIST =
/home/fxian/openjdk/control/build/linux-amd64/jaxws/dist
  HOTSPOT_DOCS_IMPORT_PATH =
/home/fxian/openjdk/control/build/linux-amd64/hotspot/import/docs
    ALT_HOTSPOT_DOCS_IMPORT_PATH =
  HOTSPOT_IMPORT_PATH =
/home/fxian/openjdk/control/build/linux-amd64/hotspot/import
    ALT_HOTSPOT_IMPORT_PATH =
/home/fxian/openjdk/control/build/linux-amd64/hotspot/import
  HOTSPOT_CLIENT_PATH =
/home/fxian/openjdk/control/build/linux-amd64/hotspot/import/jre/lib/amd64/client
    ALT_HOTSPOT_CLIENT_PATH =
  HOTSPOT_SERVER_PATH =
/home/fxian/openjdk/control/build/linux-amd64/hotspot/import/jre/lib/amd64/server
    ALT_HOTSPOT_SERVER_PATH =
  CACERTS_FILE = /home/fxian/openjdk/jdk/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 =

OPENJDK Import Binary Plug Settings:
  BINARY_PLUGS_JARFILE =
/home/fxian/openjdk/openjdk-binary-plugs/jre/lib/rt-closed.jar
    ALT_BINARY_PLUGS_JARFILE =
  BINARY_PLUGS_PATH = /home/fxian/openjdk/openjdk-binary-plugs
    ALT_BINARY_PLUGS_PATH = /home/fxian/openjdk/openjdk-binary-plugs
  BUILD_BINARY_PLUGS_PATH =
/NOT-SET/re/jdk/1.7.0/promoted/latest/openjdk/binaryplugs
    ALT_BUILD_BINARY_PLUGS_PATH =
  PLUG_LIBRARY_NAMES =

Previous JDK Settings:
  PREVIOUS_RELEASE_PATH =
/NOT-SET/re/jdk/1.6.0/archive/fcs/bundles/linux-amd64
    ALT_PREVIOUS_RELEASE_PATH =
  PREVIOUS_JDK_VERSION = 1.6.0
    ALT_PREVIOUS_JDK_VERSION =
  PREVIOUS_JDK_FILE = jdk--linux-amd64.tar.gz
    ALT_PREVIOUS_JDK_FILE =
  PREVIOUS_JRE_FILE = jre--linux-amd64.tar.gz
    ALT_PREVIOUS_JRE_FILE =
  PREVIOUS_RELEASE_IMAGE =
    ALT_PREVIOUS_RELEASE_IMAGE =


WARNING: You are not building the LANGTOOLS sources.
         Lang tools (javac) will be obtained from
         the location set in ALT_JDK_IMPORT_PATH.

Sanity check passed.



On Dec 2, 2007 12:52 AM, Dmitri Trembovetski <Dmitri.Trembovetski at sun.com>
wrote:

> Feng Xian wrote:
> > export INSANE=true
>
>  I don't know exactly what the problem is but typically folks
>  don't bother spending time investigating build issues when INSANE is set.
>  Why did you have to set it?
>
>  Could you post output of
>    make sanity
>  without INSANE set?
>
>  Thanks,
>    Dmitri
>
>


-- 
Addr: 1025N, 23rd str, APT 33,
        Lincoln, NE, 68503
Phone: (402)310-9826
WWW: cse.unl.edu/~fxian <http://cse.unl.edu/%7Efxian>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/build-dev/attachments/20071203/5409f8d9/attachment.html>


More information about the build-dev mailing list