Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-7164961

jaxp Makefile wasn't updated when jaxp sources moved.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Duplicate
    • P4
    • 8
    • 8
    • infrastructure
    • None
    • generic
    • generic

    Description

      When syncing out a fresh clone from http://hg.openjdk.java.net/jdk8/jdk8/ and trying to build, I get errors when building jaxp.
      This is both on my linux workstation and my mac workstation.

      This is what i do:
      nloodinmba:safix loon$ cd common/makefiles/
      nloodinmba:makefiles loon$ make

      This is the error:
      wc: /Users/loon/hg-workspaces/safix/build/macosx-x64-normal-server-release/jaxp/classes/_the.batch.tmp: open: No such file or directory
      Compiling files in batch BUILD_JAXP
      javac: file not found: /Users/loon/hg-workspaces/safix/build/macosx-x64-normal-server-release/jaxp/classes/_the.batch.tmp (No such file or directory)
      make[1]: *** [/Users/loon/hg-workspaces/safix/build/macosx-x64-normal-server-release/jaxp/classes/_the.batch] Error 3
      make: *** [jaxp] Error 2

      Looking through and trying to make sense of the infra changes (sorry, I haven't really been following this closely) it seemed to me that for each subdir, the file tree is traversed in search for source files, these are recorded into _the.batch.tmp, and this is sent to javac. In this case, after some printf-debugging, It really looked like the string containing the source files was empty, and no file was generated.

      This is done in the file common/makefiles/JavaCompilation.gmk, and the top source dir is looked for in the variable $1_SRCROOTSC, which in my case was empty.

      Looking through jaxp/makefiles/Makefile, the source dir seems to be set to jaxp/src/share/classes:
      (…) SRC:=$(JAXP_TOPDIR)/src/share/classes,\ (…)

      However, looking through the src-folder in jaxp, this is empty, and all classes are located directly under jaxp/src.

      Looking through the mercurial history, I came across change
      Revision: 292
      Changeset: 7b89fed7212b9e4a9506cdd8c628f48ab447da0b[7b89fed7212b]
      Author: joehw
      Date: April 12, 2012 17:38:26 GMT+02:00

      7160496: Rename JDK8 JAXP source directory
      Summary: moving src/share/classes to src
      Reviewed-by: ohair

      The issue is clear then, the source files were moved, but the new makefile wasn't updated.

      Here's a suggested fix:

      diff --git a/makefiles/Makefile b/makefiles/Makefile
      --- a/makefiles/Makefile
      +++ b/makefiles/Makefile
      @@ -47,7 +47,7 @@
       
       $(eval $(call SetupJavaCompilation,BUILD_JAXP,\
        SETUP:=GENERATE_NEWBYTECODE_DEBUG,\
      - SRC:=$(JAXP_TOPDIR)/src/share/classes,\
      + SRC:=$(JAXP_TOPDIR)/src,\
        CLEAN:=.properties,\
        BIN:=$(JAXP_OUTPUTDIR)/classes,\
        SRCZIP:=$(JAXP_OUTPUTDIR)/dist/lib/src.zip))

      Attachments

        Issue Links

          Activity

            People

              ohair Kelly Ohair (Inactive)
              nloodin Nils Loodin (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                Imported:
                Indexed: