RFR: 8189618: [aix] No jre image is created during images step - was : RE: AIX build not generating a jre image

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

RFR: 8189618: [aix] No jre image is created during images step - was : RE: AIX build not generating a jre image

Baesken, Matthias
Hello , could you please review and push  this small change fixing the  aix jre generation in jdk10 :

http://cr.openjdk.java.net/~mbaesken/webrevs/8189618/


(and later on it would be good to get it into jdk9 as well because the same issue exists there too)

Thanks and best regards, Matthias


> -----Original Message-----
> From: Magnus Ihse Bursie [mailto:[hidden email]]
> Sent: Mittwoch, 25. Oktober 2017 16:46
> To: Erik Joelsson <[hidden email]>; Baesken, Matthias
> <[hidden email]>; Thomas Stüfe <[hidden email]>
> Cc: build-dev ([hidden email]) <[hidden email]>;
> [hidden email]
> Subject: Re: AIX build not generating a jre image
>
> On 2017-10-25 15:21, Erik Joelsson wrote:
> > Ah, good find. I would argue that the correct fix is:
> >
> > jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS)
> > jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS)
>
> Yeah, good find Matthias!
>
> I agree with Erik's suggested fix. This is a bit of "how has this ever
> worked?!?". It turns out that our closed extensions are unconditionally
> adding targets to JRE_TARGETS, so we never noticed that it could happen
> that JRE_TARGETS are empty, and the building of the JRE image does not
> work. This will happen on Windows as well as AIX.
>
> /Magnus
>
> >
> > /Erik
> >
> > On 2017-10-25 14:57, Baesken, Matthias wrote:
> >> Hi Magnus, thanks for your advice.
> >> Adding a bit of tracing  to  Images.gmk  indeed helps to clarify the
> >> issue  .
> >> Output of      $(info this is the jre location:
> >> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))    looks nice and as
> expected
> >> on AIX .
> >> However it turns out the   $(JRE_TARGETS)   was empty  on AIX ,
> >> this leads to an empty dependency
> >>
> >> jre: $(JRE_TARGETS)
> >>
> >> on AIX in  Images.gmk ,  and this leads to “Nothing to be done for …. “.
> >> Background is that  aix was not considered   in the platform
> >> dependent  parts of  make/Images.gmk  where  JRE_TARGETS is filled
> >> for linux, macosx, solaris.
> >> I added  aix there and  the jre  shows up in the images.
> >> Here is my diff  (openjdk9) ,  still with tracing output AND with
> >> the  added aix .
> >> Now  JRE_TARGETS  is not empty anymore which leads to successful
> >> generation of the JRE.
> >>
> >> Tracing output seen in the makefile
> >> + echo JRE_TARGETS are:
> /mygenerationdir/images/jre/man/man1/java.1   ….
> >>
> >>
> >> Diff with tracing :
> >>
> >> diff -r a08cbfc0e4ec make/Images.gmk
> >> --- a/make/Images.gmk   Thu Aug 03 18:56:56 2017 +0000
> >> +++ b/make/Images.gmk   Wed Oct 25 14:41:06 2017 +0200
> >> @@ -43,6 +43,10 @@
> >>   $(eval $(call ReadImportMetaData))
> >> +# helpful tracing
> >> +$(info this is the jre location:
> >> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
> >> +
> >> +
> >> JRE_MODULES += $(filter $(ALL_MODULES), $(BOOT_MODULES) \
> >>       $(PLATFORM_MODULES) $(JRE_TOOL_MODULES))
> >> JDK_MODULES += $(ALL_MODULES)
> >> @@ -295,7 +299,7 @@
> >>           $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/,
> >> $(JDK_MAN_PAGES))
> >>     endif
> >> -  ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
> >> +  ifneq ($(findstring $(OPENJDK_TARGET_OS), aix linux macosx), )
> >>       JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/,
> >> $(JRE_MAN_PAGES)) \
> >>           $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,
> >> $(JRE_MAN_PAGES)) \
> >>           $(JRE_IMAGE_DIR)/man/ja
> >> @@ -436,6 +440,8 @@
> >>   jdk: $(JDK_TARGETS)
> >> jre: $(JRE_TARGETS)
> >> +       echo JRE_TARGETS are: $(JRE_TARGETS) ,  TOOL_JRE_TARGETS are:
> >> $(TOOL_JRE_TARGETS)
> >> +
> >> symbols: $(SYMBOLS_TARGETS)
> >>
> >>
> >> Best regards, Matthias
> >>
> >> From: Magnus Ihse Bursie [mailto:[hidden email]]
> >> Sent: Mittwoch, 25. Oktober 2017 10:24
> >> To: Baesken, Matthias <[hidden email]>; Thomas Stüfe
> >> <[hidden email]>
> >> Cc: build-dev ([hidden email])
> >> <[hidden email]>; [hidden email]
> >> Subject: Re: AIX build not generating a jre image
> >>
> >>
> >> On 2017-10-24 16:44, Baesken, Matthias wrote:
> >>
> >>    *   Do you get to this stage at all? I.e, can you see "Createing
> >> jre jimage" in the output?
> >>
> >> Hi Magnus, when comparing the linux and aix logs  of our openjdk9
> >> builds  ,   I see for Linux at some point :
> >>
> >>
> >>
> >> gmake[3]: Entering directory ` . . . /nightly/jdk9/make'
> >>
> >> /bin/echo Creating jre jimage
> >>
> >>
> >> While on AIX it says :
> >>
> >>
> >> make[3]: Entering directory ` . . . /nightly/jdk9/make'
> >>
> >> make[3]: Nothing to be done for `jre'.
> >>
> >> make[3]: Leaving directory ` . . . /nightly/jdk9/make'
> >>
> >>
> >> this Looks wrong to me !
> >> That means that $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) is
> considered
> >> up to date by make. This is wrong if that file does not exist. Are
> >> you *sure* you do not have a jre built?
> >> Verify the contents of these variables. Perhaps add a
> >> $(info this is the jre location:
> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
> >> at the top of Images.gmk,
> >> and check the location that is printed.
> >>
> >> /Magnus
> >>
> >>
> >>
> >>
> >> (  the   . . .   in the output has been removed by me it points to
> >> the build dir).
> >>
> >> Best regards, Matthias
> >>
> >>
> >> From: ppc-aix-port-dev
> >> [mailto:[hidden email]] On Behalf Of
> >> Magnus Ihse Bursie
> >> Sent: Dienstag, 24. Oktober 2017 15:47
> >> To: Thomas Stüfe
> >> <[hidden email]><mailto:[hidden email]>
> >> Cc: build-dev
> >> ([hidden email]<mailto:[hidden email]>)
> >> <[hidden email]><mailto:[hidden email]>;
> >> [hidden email]<mailto:ppc-aix-port-
> [hidden email]>
> >>
> >> Subject: Re: AIX build not generating a jre image
> >>
> >> On 2017-10-23 10:16, Thomas Stüfe wrote:
> >> Hi Magnus,
> >>
> >> On Mon, Oct 23, 2017 at 9:12 AM, Magnus Ihse Bursie
> >>
> <[hidden email]<mailto:[hidden email]>
> >
> >> wrote:
> >>
> >> On 2017-10-18 16:14, Thomas Stüfe wrote:
> >> On Wed, Oct 18, 2017 at 3:25 PM, Volker Simonis
> >> <[hidden email]<mailto:[hidden email]>>
> >> 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 to track
> >> this.
> >>
> >> ..Thomas
> >>
> >>
> >>
> >>
> >> Lindenmaier, Goetz
> >> <[hidden email]<mailto:[hidden email]>>
> 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->
> >> [hidden email]<mailto:[hidden email]>] On
> Behalf
> >> Of Steve Groeger
> >> Sent: Mittwoch, 18. Oktober 2017 14:34
> >> To:
> >> [hidden email]<mailto:ppc-aix-port-
> [hidden email]>
> >> 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: [hidden email]<mailto:[hidden email]>
> >> <mailto:[hidden email]<mailto:[hidden email]>>
> >>
> >> 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 | Threaded
Open this post in threaded view
|

Re: RFR: 8189618: [aix] No jre image is created during images step - was : RE: AIX build not generating a jre image

Erik Joelsson
Looks good.

/Erik


On 2017-10-26 09:05, Baesken, Matthias wrote:

> Hello , could you please review and push  this small change fixing the  aix jre generation in jdk10 :
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8189618/
>
>
> (and later on it would be good to get it into jdk9 as well because the same issue exists there too)
>
> Thanks and best regards, Matthias
>
>
>> -----Original Message-----
>> From: Magnus Ihse Bursie [mailto:[hidden email]]
>> Sent: Mittwoch, 25. Oktober 2017 16:46
>> To: Erik Joelsson <[hidden email]>; Baesken, Matthias
>> <[hidden email]>; Thomas Stüfe <[hidden email]>
>> Cc: build-dev ([hidden email]) <[hidden email]>;
>> [hidden email]
>> Subject: Re: AIX build not generating a jre image
>>
>> On 2017-10-25 15:21, Erik Joelsson wrote:
>>> Ah, good find. I would argue that the correct fix is:
>>>
>>> jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS)
>>> jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS)
>> Yeah, good find Matthias!
>>
>> I agree with Erik's suggested fix. This is a bit of "how has this ever
>> worked?!?". It turns out that our closed extensions are unconditionally
>> adding targets to JRE_TARGETS, so we never noticed that it could happen
>> that JRE_TARGETS are empty, and the building of the JRE image does not
>> work. This will happen on Windows as well as AIX.
>>
>> /Magnus
>>
>>> /Erik
>>>
>>> On 2017-10-25 14:57, Baesken, Matthias wrote:
>>>> Hi Magnus, thanks for your advice.
>>>> Adding a bit of tracing  to  Images.gmk  indeed helps to clarify the
>>>> issue  .
>>>> Output of      $(info this is the jre location:
>>>> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))    looks nice and as
>> expected
>>>> on AIX .
>>>> However it turns out the   $(JRE_TARGETS)   was empty  on AIX ,
>>>> this leads to an empty dependency
>>>>
>>>> jre: $(JRE_TARGETS)
>>>>
>>>> on AIX in  Images.gmk ,  and this leads to “Nothing to be done for …. “.
>>>> Background is that  aix was not considered   in the platform
>>>> dependent  parts of  make/Images.gmk  where  JRE_TARGETS is filled
>>>> for linux, macosx, solaris.
>>>> I added  aix there and  the jre  shows up in the images.
>>>> Here is my diff  (openjdk9) ,  still with tracing output AND with
>>>> the  added aix .
>>>> Now  JRE_TARGETS  is not empty anymore which leads to successful
>>>> generation of the JRE.
>>>>
>>>> Tracing output seen in the makefile
>>>> + echo JRE_TARGETS are:
>> /mygenerationdir/images/jre/man/man1/java.1   ….
>>>>
>>>> Diff with tracing :
>>>>
>>>> diff -r a08cbfc0e4ec make/Images.gmk
>>>> --- a/make/Images.gmk   Thu Aug 03 18:56:56 2017 +0000
>>>> +++ b/make/Images.gmk   Wed Oct 25 14:41:06 2017 +0200
>>>> @@ -43,6 +43,10 @@
>>>>    $(eval $(call ReadImportMetaData))
>>>> +# helpful tracing
>>>> +$(info this is the jre location:
>>>> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
>>>> +
>>>> +
>>>> JRE_MODULES += $(filter $(ALL_MODULES), $(BOOT_MODULES) \
>>>>        $(PLATFORM_MODULES) $(JRE_TOOL_MODULES))
>>>> JDK_MODULES += $(ALL_MODULES)
>>>> @@ -295,7 +299,7 @@
>>>>            $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/,
>>>> $(JDK_MAN_PAGES))
>>>>      endif
>>>> -  ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
>>>> +  ifneq ($(findstring $(OPENJDK_TARGET_OS), aix linux macosx), )
>>>>        JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/,
>>>> $(JRE_MAN_PAGES)) \
>>>>            $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,
>>>> $(JRE_MAN_PAGES)) \
>>>>            $(JRE_IMAGE_DIR)/man/ja
>>>> @@ -436,6 +440,8 @@
>>>>    jdk: $(JDK_TARGETS)
>>>> jre: $(JRE_TARGETS)
>>>> +       echo JRE_TARGETS are: $(JRE_TARGETS) ,  TOOL_JRE_TARGETS are:
>>>> $(TOOL_JRE_TARGETS)
>>>> +
>>>> symbols: $(SYMBOLS_TARGETS)
>>>>
>>>>
>>>> Best regards, Matthias
>>>>
>>>> From: Magnus Ihse Bursie [mailto:[hidden email]]
>>>> Sent: Mittwoch, 25. Oktober 2017 10:24
>>>> To: Baesken, Matthias <[hidden email]>; Thomas Stüfe
>>>> <[hidden email]>
>>>> Cc: build-dev ([hidden email])
>>>> <[hidden email]>; [hidden email]
>>>> Subject: Re: AIX build not generating a jre image
>>>>
>>>>
>>>> On 2017-10-24 16:44, Baesken, Matthias wrote:
>>>>
>>>>     *   Do you get to this stage at all? I.e, can you see "Createing
>>>> jre jimage" in the output?
>>>>
>>>> Hi Magnus, when comparing the linux and aix logs  of our openjdk9
>>>> builds  ,   I see for Linux at some point :
>>>>
>>>>
>>>>
>>>> gmake[3]: Entering directory ` . . . /nightly/jdk9/make'
>>>>
>>>> /bin/echo Creating jre jimage
>>>>
>>>>
>>>> While on AIX it says :
>>>>
>>>>
>>>> make[3]: Entering directory ` . . . /nightly/jdk9/make'
>>>>
>>>> make[3]: Nothing to be done for `jre'.
>>>>
>>>> make[3]: Leaving directory ` . . . /nightly/jdk9/make'
>>>>
>>>>
>>>> this Looks wrong to me !
>>>> That means that $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) is
>> considered
>>>> up to date by make. This is wrong if that file does not exist. Are
>>>> you *sure* you do not have a jre built?
>>>> Verify the contents of these variables. Perhaps add a
>>>> $(info this is the jre location:
>> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
>>>> at the top of Images.gmk,
>>>> and check the location that is printed.
>>>>
>>>> /Magnus
>>>>
>>>>
>>>>
>>>>
>>>> (  the   . . .   in the output has been removed by me it points to
>>>> the build dir).
>>>>
>>>> Best regards, Matthias
>>>>
>>>>
>>>> From: ppc-aix-port-dev
>>>> [mailto:[hidden email]] On Behalf Of
>>>> Magnus Ihse Bursie
>>>> Sent: Dienstag, 24. Oktober 2017 15:47
>>>> To: Thomas Stüfe
>>>> <[hidden email]><mailto:[hidden email]>
>>>> Cc: build-dev
>>>> ([hidden email]<mailto:[hidden email]>)
>>>> <[hidden email]><mailto:[hidden email]>;
>>>> [hidden email]<mailto:ppc-aix-port-
>> [hidden email]>
>>>> Subject: Re: AIX build not generating a jre image
>>>>
>>>> On 2017-10-23 10:16, Thomas Stüfe wrote:
>>>> Hi Magnus,
>>>>
>>>> On Mon, Oct 23, 2017 at 9:12 AM, Magnus Ihse Bursie
>>>>
>> <[hidden email]<mailto:[hidden email]>
>>>> wrote:
>>>>
>>>> On 2017-10-18 16:14, Thomas Stüfe wrote:
>>>> On Wed, Oct 18, 2017 at 3:25 PM, Volker Simonis
>>>> <[hidden email]<mailto:[hidden email]>>
>>>> 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 to track
>>>> this.
>>>>
>>>> ..Thomas
>>>>
>>>>
>>>>
>>>>
>>>> Lindenmaier, Goetz
>>>> <[hidden email]<mailto:[hidden email]>>
>> 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->
>>>> [hidden email]<mailto:[hidden email]>] On
>> Behalf
>>>> Of Steve Groeger
>>>> Sent: Mittwoch, 18. Oktober 2017 14:34
>>>> To:
>>>> [hidden email]<mailto:ppc-aix-port-
>> [hidden email]>
>>>> 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: [hidden email]<mailto:[hidden email]>
>>>> <mailto:[hidden email]<mailto:[hidden email]>>
>>>>
>>>> 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 | Threaded
Open this post in threaded view
|

Re: RFR: 8189618: [aix] No jre image is created during images step - was : RE: AIX build not generating a jre image

Thomas Stüfe-2
In reply to this post by Baesken, Matthias
Hi Matthias,

good job, thanks (and thanks to Magnus)!

Just tried it, works.

Change looks good.

..Thomas


On Thu, Oct 26, 2017 at 9:05 AM, Baesken, Matthias <[hidden email]
> wrote:

> Hello , could you please review and push  this small change fixing the
> aix jre generation in jdk10 :
>
> http://cr.openjdk.java.net/~mbaesken/webrevs/8189618/
>
>
> (and later on it would be good to get it into jdk9 as well because the
> same issue exists there too)
>
> Thanks and best regards, Matthias
>
>
> > -----Original Message-----
> > From: Magnus Ihse Bursie [mailto:[hidden email]]
> > Sent: Mittwoch, 25. Oktober 2017 16:46
> > To: Erik Joelsson <[hidden email]>; Baesken, Matthias
> > <[hidden email]>; Thomas Stüfe <[hidden email]>
> > Cc: build-dev ([hidden email]) <[hidden email]>;
> > [hidden email]
> > Subject: Re: AIX build not generating a jre image
> >
> > On 2017-10-25 15:21, Erik Joelsson wrote:
> > > Ah, good find. I would argue that the correct fix is:
> > >
> > > jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS)
> > > jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS)
> >
> > Yeah, good find Matthias!
> >
> > I agree with Erik's suggested fix. This is a bit of "how has this ever
> > worked?!?". It turns out that our closed extensions are unconditionally
> > adding targets to JRE_TARGETS, so we never noticed that it could happen
> > that JRE_TARGETS are empty, and the building of the JRE image does not
> > work. This will happen on Windows as well as AIX.
> >
> > /Magnus
> >
> > >
> > > /Erik
> > >
> > > On 2017-10-25 14:57, Baesken, Matthias wrote:
> > >> Hi Magnus, thanks for your advice.
> > >> Adding a bit of tracing  to  Images.gmk  indeed helps to clarify the
> > >> issue  .
> > >> Output of      $(info this is the jre location:
> > >> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))    looks nice and as
> > expected
> > >> on AIX .
> > >> However it turns out the   $(JRE_TARGETS)   was empty  on AIX ,
> > >> this leads to an empty dependency
> > >>
> > >> jre: $(JRE_TARGETS)
> > >>
> > >> on AIX in  Images.gmk ,  and this leads to “Nothing to be done for ….
> “.
> > >> Background is that  aix was not considered   in the platform
> > >> dependent  parts of  make/Images.gmk  where  JRE_TARGETS is filled
> > >> for linux, macosx, solaris.
> > >> I added  aix there and  the jre  shows up in the images.
> > >> Here is my diff  (openjdk9) ,  still with tracing output AND with
> > >> the  added aix .
> > >> Now  JRE_TARGETS  is not empty anymore which leads to successful
> > >> generation of the JRE.
> > >>
> > >> Tracing output seen in the makefile
> > >> + echo JRE_TARGETS are:
> > /mygenerationdir/images/jre/man/man1/java.1   ….
> > >>
> > >>
> > >> Diff with tracing :
> > >>
> > >> diff -r a08cbfc0e4ec make/Images.gmk
> > >> --- a/make/Images.gmk   Thu Aug 03 18:56:56 2017 +0000
> > >> +++ b/make/Images.gmk   Wed Oct 25 14:41:06 2017 +0200
> > >> @@ -43,6 +43,10 @@
> > >>   $(eval $(call ReadImportMetaData))
> > >> +# helpful tracing
> > >> +$(info this is the jre location:
> > >> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
> > >> +
> > >> +
> > >> JRE_MODULES += $(filter $(ALL_MODULES), $(BOOT_MODULES) \
> > >>       $(PLATFORM_MODULES) $(JRE_TOOL_MODULES))
> > >> JDK_MODULES += $(ALL_MODULES)
> > >> @@ -295,7 +299,7 @@
> > >>           $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/,
> > >> $(JDK_MAN_PAGES))
> > >>     endif
> > >> -  ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
> > >> +  ifneq ($(findstring $(OPENJDK_TARGET_OS), aix linux macosx), )
> > >>       JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/,
> > >> $(JRE_MAN_PAGES)) \
> > >>           $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,
> > >> $(JRE_MAN_PAGES)) \
> > >>           $(JRE_IMAGE_DIR)/man/ja
> > >> @@ -436,6 +440,8 @@
> > >>   jdk: $(JDK_TARGETS)
> > >> jre: $(JRE_TARGETS)
> > >> +       echo JRE_TARGETS are: $(JRE_TARGETS) ,  TOOL_JRE_TARGETS are:
> > >> $(TOOL_JRE_TARGETS)
> > >> +
> > >> symbols: $(SYMBOLS_TARGETS)
> > >>
> > >>
> > >> Best regards, Matthias
> > >>
> > >> From: Magnus Ihse Bursie [mailto:[hidden email]]
> > >> Sent: Mittwoch, 25. Oktober 2017 10:24
> > >> To: Baesken, Matthias <[hidden email]>; Thomas Stüfe
> > >> <[hidden email]>
> > >> Cc: build-dev ([hidden email])
> > >> <[hidden email]>; [hidden email]
> > >> Subject: Re: AIX build not generating a jre image
> > >>
> > >>
> > >> On 2017-10-24 16:44, Baesken, Matthias wrote:
> > >>
> > >>    *   Do you get to this stage at all? I.e, can you see "Createing
> > >> jre jimage" in the output?
> > >>
> > >> Hi Magnus, when comparing the linux and aix logs  of our openjdk9
> > >> builds  ,   I see for Linux at some point :
> > >>
> > >>
> > >>
> > >> gmake[3]: Entering directory ` . . . /nightly/jdk9/make'
> > >>
> > >> /bin/echo Creating jre jimage
> > >>
> > >>
> > >> While on AIX it says :
> > >>
> > >>
> > >> make[3]: Entering directory ` . . . /nightly/jdk9/make'
> > >>
> > >> make[3]: Nothing to be done for `jre'.
> > >>
> > >> make[3]: Leaving directory ` . . . /nightly/jdk9/make'
> > >>
> > >>
> > >> this Looks wrong to me !
> > >> That means that $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) is
> > considered
> > >> up to date by make. This is wrong if that file does not exist. Are
> > >> you *sure* you do not have a jre built?
> > >> Verify the contents of these variables. Perhaps add a
> > >> $(info this is the jre location:
> > $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
> > >> at the top of Images.gmk,
> > >> and check the location that is printed.
> > >>
> > >> /Magnus
> > >>
> > >>
> > >>
> > >>
> > >> (  the   . . .   in the output has been removed by me it points to
> > >> the build dir).
> > >>
> > >> Best regards, Matthias
> > >>
> > >>
> > >> From: ppc-aix-port-dev
> > >> [mailto:[hidden email]] On Behalf Of
> > >> Magnus Ihse Bursie
> > >> Sent: Dienstag, 24. Oktober 2017 15:47
> > >> To: Thomas Stüfe
> > >> <[hidden email]><mailto:[hidden email]>
> > >> Cc: build-dev
> > >> ([hidden email]<mailto:[hidden email]>)
> > >> <[hidden email]><mailto:[hidden email]>;
> > >> [hidden email]<mailto:ppc-aix-port-
> > [hidden email]>
> > >>
> > >> Subject: Re: AIX build not generating a jre image
> > >>
> > >> On 2017-10-23 10:16, Thomas Stüfe wrote:
> > >> Hi Magnus,
> > >>
> > >> On Mon, Oct 23, 2017 at 9:12 AM, Magnus Ihse Bursie
> > >>
> > <[hidden email]<mailto:[hidden email]>
> > >
> > >> wrote:
> > >>
> > >> On 2017-10-18 16:14, Thomas Stüfe wrote:
> > >> On Wed, Oct 18, 2017 at 3:25 PM, Volker Simonis
> > >> <[hidden email]<mailto:[hidden email]>>
> > >> 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 to track
> > >> this.
> > >>
> > >> ..Thomas
> > >>
> > >>
> > >>
> > >>
> > >> Lindenmaier, Goetz
> > >> <[hidden email]<mailto:[hidden email]>>
> > 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->
> > >> [hidden email]<mailto:[hidden email]>] On
> > Behalf
> > >> Of Steve Groeger
> > >> Sent: Mittwoch, 18. Oktober 2017 14:34
> > >> To:
> > >> [hidden email]<mailto:ppc-aix-port-
> > [hidden email]>
> > >> 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: [hidden email]<mailto:[hidden email]>
> > >> <mailto:[hidden email]<mailto:[hidden email]>>
> > >>
> > >> 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 | Threaded
Open this post in threaded view
|

Re: RFR: 8189618: [aix] No jre image is created during images step - was : RE: AIX build not generating a jre image

Thomas Stüfe-2
(I'll push it)

On Thu, Oct 26, 2017 at 9:39 AM, Thomas Stüfe <[hidden email]>
wrote:

> Hi Matthias,
>
> good job, thanks (and thanks to Magnus)!
>
> Just tried it, works.
>
> Change looks good.
>
> ..Thomas
>
>
> On Thu, Oct 26, 2017 at 9:05 AM, Baesken, Matthias <
> [hidden email]> wrote:
>
>> Hello , could you please review and push  this small change fixing the
>> aix jre generation in jdk10 :
>>
>> http://cr.openjdk.java.net/~mbaesken/webrevs/8189618/
>>
>>
>> (and later on it would be good to get it into jdk9 as well because the
>> same issue exists there too)
>>
>> Thanks and best regards, Matthias
>>
>>
>> > -----Original Message-----
>> > From: Magnus Ihse Bursie [mailto:[hidden email]]
>> > Sent: Mittwoch, 25. Oktober 2017 16:46
>> > To: Erik Joelsson <[hidden email]>; Baesken, Matthias
>> > <[hidden email]>; Thomas Stüfe <[hidden email]>
>> > Cc: build-dev ([hidden email]) <[hidden email]
>> >;
>> > [hidden email]
>> > Subject: Re: AIX build not generating a jre image
>> >
>> > On 2017-10-25 15:21, Erik Joelsson wrote:
>> > > Ah, good find. I would argue that the correct fix is:
>> > >
>> > > jdk: $(TOOL_JDK_TARGETS) $(JDK_TARGETS)
>> > > jre: $(TOOL_JRE_TARGETS) $(JRE_TARGETS)
>> >
>> > Yeah, good find Matthias!
>> >
>> > I agree with Erik's suggested fix. This is a bit of "how has this ever
>> > worked?!?". It turns out that our closed extensions are unconditionally
>> > adding targets to JRE_TARGETS, so we never noticed that it could happen
>> > that JRE_TARGETS are empty, and the building of the JRE image does not
>> > work. This will happen on Windows as well as AIX.
>> >
>> > /Magnus
>> >
>> > >
>> > > /Erik
>> > >
>> > > On 2017-10-25 14:57, Baesken, Matthias wrote:
>> > >> Hi Magnus, thanks for your advice.
>> > >> Adding a bit of tracing  to  Images.gmk  indeed helps to clarify the
>> > >> issue  .
>> > >> Output of      $(info this is the jre location:
>> > >> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))    looks nice and as
>> > expected
>> > >> on AIX .
>> > >> However it turns out the   $(JRE_TARGETS)   was empty  on AIX ,
>> > >> this leads to an empty dependency
>> > >>
>> > >> jre: $(JRE_TARGETS)
>> > >>
>> > >> on AIX in  Images.gmk ,  and this leads to “Nothing to be done for
>> …. “.
>> > >> Background is that  aix was not considered   in the platform
>> > >> dependent  parts of  make/Images.gmk  where  JRE_TARGETS is filled
>> > >> for linux, macosx, solaris.
>> > >> I added  aix there and  the jre  shows up in the images.
>> > >> Here is my diff  (openjdk9) ,  still with tracing output AND with
>> > >> the  added aix .
>> > >> Now  JRE_TARGETS  is not empty anymore which leads to successful
>> > >> generation of the JRE.
>> > >>
>> > >> Tracing output seen in the makefile
>> > >> + echo JRE_TARGETS are:
>> > /mygenerationdir/images/jre/man/man1/java.1   ….
>> > >>
>> > >>
>> > >> Diff with tracing :
>> > >>
>> > >> diff -r a08cbfc0e4ec make/Images.gmk
>> > >> --- a/make/Images.gmk   Thu Aug 03 18:56:56 2017 +0000
>> > >> +++ b/make/Images.gmk   Wed Oct 25 14:41:06 2017 +0200
>> > >> @@ -43,6 +43,10 @@
>> > >>   $(eval $(call ReadImportMetaData))
>> > >> +# helpful tracing
>> > >> +$(info this is the jre location:
>> > >> $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
>> > >> +
>> > >> +
>> > >> JRE_MODULES += $(filter $(ALL_MODULES), $(BOOT_MODULES) \
>> > >>       $(PLATFORM_MODULES) $(JRE_TOOL_MODULES))
>> > >> JDK_MODULES += $(ALL_MODULES)
>> > >> @@ -295,7 +299,7 @@
>> > >>           $(addprefix $(JDK_IMAGE_DIR)/man/ja_JP.PCK/man1/,
>> > >> $(JDK_MAN_PAGES))
>> > >>     endif
>> > >> -  ifneq ($(findstring $(OPENJDK_TARGET_OS), linux macosx), )
>> > >> +  ifneq ($(findstring $(OPENJDK_TARGET_OS), aix linux macosx), )
>> > >>       JRE_MAN_PAGE_LIST = $(addprefix $(JRE_IMAGE_DIR)/man/man1/,
>> > >> $(JRE_MAN_PAGES)) \
>> > >>           $(addprefix $(JRE_IMAGE_DIR)/man/ja_JP.UTF-8/man1/,
>> > >> $(JRE_MAN_PAGES)) \
>> > >>           $(JRE_IMAGE_DIR)/man/ja
>> > >> @@ -436,6 +440,8 @@
>> > >>   jdk: $(JDK_TARGETS)
>> > >> jre: $(JRE_TARGETS)
>> > >> +       echo JRE_TARGETS are: $(JRE_TARGETS) ,  TOOL_JRE_TARGETS are:
>> > >> $(TOOL_JRE_TARGETS)
>> > >> +
>> > >> symbols: $(SYMBOLS_TARGETS)
>> > >>
>> > >>
>> > >> Best regards, Matthias
>> > >>
>> > >> From: Magnus Ihse Bursie [mailto:[hidden email]]
>> > >> Sent: Mittwoch, 25. Oktober 2017 10:24
>> > >> To: Baesken, Matthias <[hidden email]>; Thomas Stüfe
>> > >> <[hidden email]>
>> > >> Cc: build-dev ([hidden email])
>> > >> <[hidden email]>; [hidden email]
>> > >> Subject: Re: AIX build not generating a jre image
>> > >>
>> > >>
>> > >> On 2017-10-24 16:44, Baesken, Matthias wrote:
>> > >>
>> > >>    *   Do you get to this stage at all? I.e, can you see "Createing
>> > >> jre jimage" in the output?
>> > >>
>> > >> Hi Magnus, when comparing the linux and aix logs  of our openjdk9
>> > >> builds  ,   I see for Linux at some point :
>> > >>
>> > >>
>> > >>
>> > >> gmake[3]: Entering directory ` . . . /nightly/jdk9/make'
>> > >>
>> > >> /bin/echo Creating jre jimage
>> > >>
>> > >>
>> > >> While on AIX it says :
>> > >>
>> > >>
>> > >> make[3]: Entering directory ` . . . /nightly/jdk9/make'
>> > >>
>> > >> make[3]: Nothing to be done for `jre'.
>> > >>
>> > >> make[3]: Leaving directory ` . . . /nightly/jdk9/make'
>> > >>
>> > >>
>> > >> this Looks wrong to me !
>> > >> That means that $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE) is
>> > considered
>> > >> up to date by make. This is wrong if that file does not exist. Are
>> > >> you *sure* you do not have a jre built?
>> > >> Verify the contents of these variables. Perhaps add a
>> > >> $(info this is the jre location:
>> > $(JRE_IMAGE_DIR)/$(JIMAGE_TARGET_FILE))
>> > >> at the top of Images.gmk,
>> > >> and check the location that is printed.
>> > >>
>> > >> /Magnus
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> (  the   . . .   in the output has been removed by me it points to
>> > >> the build dir).
>> > >>
>> > >> Best regards, Matthias
>> > >>
>> > >>
>> > >> From: ppc-aix-port-dev
>> > >> [mailto:[hidden email]] On Behalf Of
>> > >> Magnus Ihse Bursie
>> > >> Sent: Dienstag, 24. Oktober 2017 15:47
>> > >> To: Thomas Stüfe
>> > >> <[hidden email]><mailto:[hidden email]>
>> > >> Cc: build-dev
>> > >> ([hidden email]<mailto:[hidden email]>)
>> > >> <[hidden email]><mailto:[hidden email]>;
>> > >> [hidden email]<mailto:ppc-aix-port-
>> > [hidden email]>
>> > >>
>> > >> Subject: Re: AIX build not generating a jre image
>> > >>
>> > >> On 2017-10-23 10:16, Thomas Stüfe wrote:
>> > >> Hi Magnus,
>> > >>
>> > >> On Mon, Oct 23, 2017 at 9:12 AM, Magnus Ihse Bursie
>> > >>
>> > <[hidden email]<mailto:[hidden email]>
>> > >
>> > >> wrote:
>> > >>
>> > >> On 2017-10-18 16:14, Thomas Stüfe wrote:
>> > >> On Wed, Oct 18, 2017 at 3:25 PM, Volker Simonis
>> > >> <[hidden email]<mailto:[hidden email]>>
>> > >> 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 to track
>> > >> this.
>> > >>
>> > >> ..Thomas
>> > >>
>> > >>
>> > >>
>> > >>
>> > >> Lindenmaier, Goetz
>> > >> <[hidden email]<mailto:[hidden email]>>
>> > 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->
>> > >> [hidden email]<mailto:[hidden email]>] On
>> > Behalf
>> > >> Of Steve Groeger
>> > >> Sent: Mittwoch, 18. Oktober 2017 14:34
>> > >> To:
>> > >> [hidden email]<mailto:ppc-aix-port-
>> > [hidden email]>
>> > >> 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: [hidden email]<mailto:[hidden email]>
>> > >> <mailto:[hidden email]<mailto:[hidden email]>>
>> > >>
>> > >> 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
>> > >>
>> > >>
>> > >>
>> > >>
>> > >>
>> > >
>>
>>
>