On 2017-10-23 10:16, Thomas Stüfe wrote:
Hi Magnus,

On Mon, Oct 23, 2017 at 9:12 AM, Magnus Ihse Bursie <[email protected] <mailto:[email protected]>> wrote:


    On 2017-10-18 16:14, Thomas Stüfe wrote:

        On Wed, Oct 18, 2017 at 3:25 PM, Volker Simonis
        <[email protected] <mailto:[email protected]>>
        wrote:

            Hi Goetz,

            How do our nightly builds look like? Do they create the
            JRE image?

            Regards,
            Volker


        Goetz is in a meeting.

        None of our AIX builds creates a JRE image. Works on other
        platforms. Looks
        like a bug.

        I tried to build jre explicitly (make jre-image); build finishes
        sucessfully but still no jre.

    Since I don't have access to any AIX machines, it's difficult to
    for me to do much about this. Let me know if you need assistance
    in tracking this down.

    Some suggestions:
    run "make LOG=info,cmdlines" to track the progress of the build.

    If you get lost in the log files, try running "make jre-image" and
    then "rm build/$BUILD/images/jre", and then "make
    LOG=info,cmdlines jre-image" to see only the output for the
    jre-image target.


Thanks for the hints! I'll try that. I played around last week with make -d --print-data-base but got lost in the information.

Last week I burned some time on this problem without much success. I got stuck understanding the rule in Images.gmk:

$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE): $(JMODS) \
    $(call DependOnVariable, JRE_MODULES_LIST) $(BASE_RELEASE_FILE)
$(ECHO) Creating jre jimage
$(RM) -r $(JRE_IMAGE_DIR)
   $(JLINK_JRE_EXTRA_OPTS) \
$(JLINK_TOOL) --add-modules $(JRE_MODULES_LIST) \
   --output $(JRE_IMAGE_DIR)
$(TOUCH) $@

and its brethren.

It seems this rule just does not get executed for jre-image. So, trying to understand this (I am no makefile expert):

$(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) is one file from the target dir, in this case jre/java, whose non-existence or out-of-dateness triggers the rule

Dependencies:
 - $(JMODS) is <outputdir>/jmods, which gets built and does exist
 - $(call DependOnVariable, JRE_MODULES_LIST)
This is just a macro that creates a dependency on the contents of the variable JRE_MODULES_LIST.

$(BASE_RELEASE_FILE) is a text file which, if it exists and it contains the value of $JRE_MODULES_LIST, will result false (not out of date), otherwise it will update the file with the value of $JRE_MODULES_LIST and return true, triggering the target, yes? If I got this right, why do we use the same output file for all targets (jre, jdk) etc?
No, this is a separate dependency. It's the file named "release" in the image that is to be included. If it has changed we need to trigger a new image.

Do you get to this stage at all? I.e, can you see "Createing jre jimage" in the output? If not, there's a problem before we even get to this rule. Otherwise, the jlink command is likely broken. Try copy-pasting the full jlink command and running it from the shell directly to see what happens.

/Magnus

..Thomas


    /Magnus




        I created https://bugs.openjdk.java.net/browse/JDK-8189618
        <https://bugs.openjdk.java.net/browse/JDK-8189618> to track this.

        ..Thomas




            Lindenmaier, Goetz <[email protected]
            <mailto:[email protected]>> schrieb am Mi. 18. Okt.
            2017
            um 14:56:

                Hi Steve,

                I think this is an error.
                We never decided not to generate a jre image as far as
                I know.

                Best regards,
                   Goetz.

                    -----Original Message-----
                    From: ppc-aix-port-dev [mailto:ppc-aix-port-dev-
                    <mailto:ppc-aix-port-dev->
                    [email protected]
                    <mailto:[email protected]>] On Behalf Of
                    Steve Groeger
                    Sent: Mittwoch, 18. Oktober 2017 14:34
                    To: [email protected]
                    <mailto:[email protected]>
                    Subject: AIX build not generating a jre image

                    Hi all,

                    When building OpenJDK9 on AIX should the build
                    generate a JRE image ie
                    build/aix-ppc64-normal-server-release/images/jre/bin
                    as well as a JDK

                image

                    ie
                    build/aix-ppc64-normal-server-release/images/jdk/bin?
                    When I try
                    building on my AIX system it is only generating a
                    JDK image. Is this a

                issue or is

                    it working correctly?


                    Thanks
                    Steve Groeger
                    Java Runtimes Development
                    IBM Hursley
                    IBM United Kingdom Ltd
                    Tel: (44) 1962 816911 Mobex: 279990 Mobile: 07718
                    517 129
                    Fax (44) 1962 816800
                    Lotus Notes: Steve Groeger/UK/IBM
                    Internet: [email protected]
                    <mailto:[email protected]>
                    <mailto:[email protected]
                    <mailto:[email protected]>>

                    Unless stated otherwise above:
                    IBM United Kingdom Limited - Registered in England
                    and Wales with

            number

                    741598.
                    Registered office: PO Box 41, North Harbour,
                    Portsmouth, Hampshire PO6
                    3AU
                    Unless stated otherwise above:
                    IBM United Kingdom Limited - Registered in England
                    and Wales with

            number

                    741598.
                    Registered office: PO Box 41, North Harbour,
                    Portsmouth, Hampshire PO6
                    3AU





Reply via email to