bugmake - Bugs: bug #57676, openjdk11 fails to build with make...

 
 

bug #57676: openjdk11 fails to build with make 4.3

Submitter:  Natanael Copa <ncopa>
Submitted:  Mon 27 Jan 2020 11:46:20 AM UTC
   
 
Severity:  3 - Normal Item Group:  Bug
Status:  Fixed Privacy:  Public
Assigned to:  psmith Open/Closed:  Closed
Component Version:  4.3 Operating System:  POSIX-Based
Fixed Release:  4.4 Triage Status:  Small Effort
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 21 Aug 2023 11:34:44 AM UTC, comment #13: 

comment #11:

> Dmitry,
>
> comment #9:
> > make should not claim "cannot make the included makefile" having successfully read the makefile.
> > Here is a patch which fixes the issue.
>
> I applied the patch to the source tree of make-4.3, and it does fix the issue. I also tested the test-case:
>
> 694 Tests in 125 Categories Complete ... No Failures :-)
>
> Tested-by: Yann E. MORIN <yann.morin.1998@free.fr>
>
> Thank you for the patch! :-)
>
> Regards,
> Yann E. MORIN.
>
> > regards, Dmitry
> >
> >
> > diff --git a/src/makeint.h b/src/makeint.h
> > index c428a36..327849b 100644
> > --- a/src/makeint.h
> > +++ b/src/makeint.h
> > @@ -566,6 +566,8 @@ void print_dir_data_base (void);
> >  void dir_setup_glob (glob_t *);
> >  void hash_init_directories (void);
> > 
> > +FILE_TIMESTAMP name_mtime (const char *name);
> > +
> >  void define_default_variables (void);
> >  void undefine_default_variables (void);
> >  void set_default_suffixes (void);
> > diff --git a/src/read.c b/src/read.c
> > index db52a55..84e9f97 100644
> > --- a/src/read.c
> > +++ b/src/read.c
> > @@ -417,6 +417,10 @@ eval_makefile (const char *filename, unsigned short flags)
> > 
> >    /* Success; clear errno.  */
> >    deps->error = 0;
> > +  /* Managed to read the file. Update mtime, if needed.
> > +     https://savannah.gnu.org/bugs/?57676.  */
> > +  if (deps->file->last_mtime == NONEXISTENT_MTIME)
> > +    deps->file->last_mtime = name_mtime(deps->file->name);
> > 
> >    /* Avoid leaking the makefile to children.  */
> >    fd_noinherit (fileno (ebuf.fp));
> > diff --git a/src/remake.c b/src/remake.c
> > index fb237c5..956ca4c 100644
> > --- a/src/remake.c
> > +++ b/src/remake.c
> > @@ -67,7 +67,6 @@ static enum update_status check_dep (struct file *file, unsigned int depth,
> >                                       FILE_TIMESTAMP this_mtime, int *must_make);
> >  static enum update_status touch_file (struct file *file);
> >  static void remake_file (struct file *file);
> > -static FILE_TIMESTAMP name_mtime (const char *name);
> >  static const char *library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr);
> > 
> > 
> > @@ -1462,7 +1461,7 @@ f_mtime (struct file *file, int search)
> >     This causes one duplicate stat() when -L is being used, but the code is
> >     much cleaner.  */
> > 
> > -static FILE_TIMESTAMP
> > +FILE_TIMESTAMP
> >  name_mtime (const char *name)
> >  {
> >    FILE_TIMESTAMP mtime;
> >


comment #7:

> We also triggered this bug in Buildroot, where our Makefile does something that can be reduced to this simple Makefile:
>


> -include foo
> $(shell echo 'VAR?=$(VAR)' >foo)
> include foo
>
> all:
>         @echo 'VAR="$(VAR)"'


>
> which allows us to memorise variables passed by the user so they don't have to pass them over and over again.
>
> This has worked great since the make 3.81 era up till now, but make 4.3 broke that.
>
> We wrote it thusly because we wanted to avoid rescanning the Makefile to generate the file, as the Makefile is not clean to rescan (there are side effects, unfortunately...).

Nitish Naik <nitish>
Sun 06 Dec 2020 03:04:32 PM UTC, comment #12: 

Thanks for the investigation.  I fixed this along the lines of Dmitry's fix but I think there's no need to recompute name_mtime here: it should be sufficient to reset the value to 0 so it's recomputed later.

Paul D. Smith <psmith>
Group administrator
Sun 08 Mar 2020 07:11:12 PM UTC, comment #11: 

Dmitry,

comment #9:

> make should not claim "cannot make the included makefile" having successfully read the makefile.
> Here is a patch which fixes the issue.


I applied the patch to the source tree of make-4.3, and it does fix the issue. I also tested the test-case:

694 Tests in 125 Categories Complete ... No Failures :-)

Tested-by: Yann E. MORIN <yann.morin.1998@free.fr>

Thank you for the patch! :-)

Regards,
Yann E. MORIN.

> regards, Dmitry
>
>
> diff --git a/src/makeint.h b/src/makeint.h
> index c428a36..327849b 100644
> --- a/src/makeint.h
> +++ b/src/makeint.h
> @@ -566,6 +566,8 @@ void print_dir_data_base (void);
>  void dir_setup_glob (glob_t *);
>  void hash_init_directories (void);

> +FILE_TIMESTAMP name_mtime (const char *name);
> +
>  void define_default_variables (void);
>  void undefine_default_variables (void);
>  void set_default_suffixes (void);
> diff --git a/src/read.c b/src/read.c
> index db52a55..84e9f97 100644
> --- a/src/read.c
> +++ b/src/read.c
> @@ -417,6 +417,10 @@ eval_makefile (const char *filename, unsigned short flags)

>    /* Success; clear errno.  */
>    deps->error = 0;
> +  /* Managed to read the file. Update mtime, if needed.
> +     https://savannah.gnu.org/bugs/?57676.  */
> +  if (deps->file->last_mtime == NONEXISTENT_MTIME)
> +    deps->file->last_mtime = name_mtime(deps->file->name);

>    /* Avoid leaking the makefile to children.  */
>    fd_noinherit (fileno (ebuf.fp));
> diff --git a/src/remake.c b/src/remake.c
> index fb237c5..956ca4c 100644
> --- a/src/remake.c
> +++ b/src/remake.c
> @@ -67,7 +67,6 @@ static enum update_status check_dep (struct file *file, unsigned int depth,
>                                       FILE_TIMESTAMP this_mtime, int *must_make);
>  static enum update_status touch_file (struct file *file);
>  static void remake_file (struct file *file);
> -static FILE_TIMESTAMP name_mtime (const char *name);
>  static const char *library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr);


> @@ -1462,7 +1461,7 @@ f_mtime (struct file *file, int search)
>     This causes one duplicate stat() when -L is being used, but the code is
>     much cleaner.  */

> -static FILE_TIMESTAMP
> +FILE_TIMESTAMP
>  name_mtime (const char *name)
>  {
>    FILE_TIMESTAMP mtime;
>

Yann E. MORIN <ymorin>
Sun 08 Mar 2020 02:57:05 PM UTC, comment #10: 

Here is a test for this.

+# Test 20.
+# When successfully read an included makefile, update its mtime, if needed.
+# https://savannah.gnu.org/bugs/?57676.
+
+unlink('hello.mk');
+run_make_test(q!
+-include hello.mk
+$(shell echo hello=world >hello.mk)
+include hello.mk
+default:; @echo $(hello)
+!,
+              '', "world\n");
+
+unlink('hello.mk');
+

Dmitry Goncharov <dgoncharov>
Sun 08 Mar 2020 02:55:46 PM UTC, comment #9: 

make should not claim "cannot make the included makefile" having successfully read the makefile.
Here is a patch which fixes the issue.

regards, Dmitry


diff --git a/src/makeint.h b/src/makeint.h
index c428a36..327849b 100644
--- a/src/makeint.h
+++ b/src/makeint.h
@@ -566,6 +566,8 @@ void print_dir_data_base (void);
 void dir_setup_glob (glob_t *);
 void hash_init_directories (void);
 
+FILE_TIMESTAMP name_mtime (const char *name);
+
 void define_default_variables (void);
 void undefine_default_variables (void);
 void set_default_suffixes (void);
diff --git a/src/read.c b/src/read.c
index db52a55..84e9f97 100644
--- a/src/read.c
+++ b/src/read.c
@@ -417,6 +417,10 @@ eval_makefile (const char *filename, unsigned short flags)
 
   /* Success; clear errno.  */
   deps->error = 0;
+  /* Managed to read the file. Update mtime, if needed.
+     https://savannah.gnu.org/bugs/?57676.  */
+  if (deps->file->last_mtime == NONEXISTENT_MTIME)
+    deps->file->last_mtime = name_mtime(deps->file->name);
 
   /* Avoid leaking the makefile to children.  */
   fd_noinherit (fileno (ebuf.fp));
diff --git a/src/remake.c b/src/remake.c
index fb237c5..956ca4c 100644
--- a/src/remake.c
+++ b/src/remake.c
@@ -67,7 +67,6 @@ static enum update_status check_dep (struct file *file, unsigned int depth,
                                      FILE_TIMESTAMP this_mtime, int *must_make);
 static enum update_status touch_file (struct file *file);
 static void remake_file (struct file *file);
-static FILE_TIMESTAMP name_mtime (const char *name);
 static const char *library_search (const char *lib, FILE_TIMESTAMP *mtime_ptr);
 
 
@@ -1462,7 +1461,7 @@ f_mtime (struct file *file, int search)
    This causes one duplicate stat() when -L is being used, but the code is
    much cleaner.  */
 
-static FILE_TIMESTAMP
+FILE_TIMESTAMP
 name_mtime (const char *name)
 {
   FILE_TIMESTAMP mtime;

Dmitry Goncharov <dgoncharov>
Wed 04 Mar 2020 01:22:56 PM UTC, comment #8: 

Hello All,

Can we eventually have a closure on this one: is it considered a regression or not? If it is a regression, will it be fixed, or will it be considered the new behaviour?

Thanks!

Yann E. MORIN <ymorin>
Tue 11 Feb 2020 03:46:10 PM UTC, comment #7: 

We also triggered this bug in Buildroot, where our Makefile does something that can be reduced to this simple Makefile:


-include foo
$(shell echo 'VAR?=$(VAR)' >foo)
include foo

all:
        @echo 'VAR="$(VAR)"'


which allows us to memorise variables passed by the user so they don't have to pass them over and over again.

This has worked great since the make 3.81 era up till now, but make 4.3 broke that.

We wrote it thusly because we wanted to avoid rescanning the Makefile to generate the file, as the Makefile is not clean to rescan (there are side effects, unfortunately...).

Yann E. MORIN <ymorin>
Tue 28 Jan 2020 08:56:59 PM UTC, comment #6: 


> I would consider this a bug in make

Well, it's not wrong that there is no rule to make the dependency file and adding one does silence it (this is make-4.3.90):

martind@paris:~/tmp/make-57676$ cat Makefile2
-include deps

BADGER := $(shell touch deps)

some-file: deps;

deps:;
martind@paris:~/tmp/make-57676$ rm -f deps; make -f Makefile2
make: 'some-file' is up to date.
martind@paris:~/tmp/make-57676$


https://www.gnu.org/software/make/manual/html_node/Include.html doesn't just say the leading hyphen suppresses errors when the file doesn't exist, but also says that it suppresses errors when it cannot be remade.  Indeed, this is silent:


martind@paris:~/tmp/make-57676$ cat Makefile3
-include deps

some-file:;
martind@paris:~/tmp/make-57676$


So the issue only arises when the -include()d file is also a dependency.  It's not just that there's no rule to make that dependency, because Make does notice that it's appeared in:


martind@paris:~/tmp/make-57676$ cat Makefile4
BADGER := $(shell touch deps)

some-file: deps;
martind@paris:~/tmp/make-57676$ rm -f deps; make -f Makefile4
make: 'some-file' is up to date.
martind@paris:~/tmp/make-57676$


If the side-effect happens before the -include, then all is also well:


martind@paris:~/tmp/make-57676$ cat Makefile5
BADGER := $(shell touch deps)

-include deps

some-file: deps;
martind@paris:~/tmp/make-57676$ rm -f deps; make -f Makefile5
make: 'some-file' is up to date.
martind@paris:~/tmp/make-57676$


Putting all that together, the new behavior does feel... unfortunate, at least to me.

Martin Dorey <mdorey>
Tue 28 Jan 2020 12:01:03 PM UTC, comment #5: 


> I see "make clean" isn't enough to set up for a new run - you need rm -r vardeps too.

Yeah. I messed up the Makefile. the clean target should also remove vardeps.


> If it is that, then the behavior change was introduced by git commit c5ccc4930c3805604813def4455bc2e90635349e:
> [SV 40236] Handle included file open failures properly.

That seems to correspond with what openjdk developers concluded with. From https://mail.openjdk.java.net/pipermail/build-dev/2020-January/026647.html:


> I've found the culprit. The "-include" statement does not work properly.
> Manually checking for the existence of the file and then using "include"
> works fine. I would consider this a bug in make. Feel free to pass this
> information along to the upstream make project.

Natanael Copa <ncopa>
Mon 27 Jan 2020 11:51:20 PM UTC, comment #4: 

If it is that, then the behavior change was introduced by git commit c5ccc4930c3805604813def4455bc2e90635349e:

[SV 40236] Handle included file open failures properly.

Martin Dorey <mdorey>
Mon 27 Jan 2020 10:17:29 PM UTC, comment #3: 


> (I tried to send this to -email is unavailable- but it appears to have disappeared somewhere)

(I got it and your other one, but raising a bug was probably a better choice anyway here.)

> fails on first run with make 4.3


martind@paris:~/tmp/make-57676$ make some-file
NewVariable SOME_VAR: >foo<
OldVariable SOME_VAR: ><
make: *** No rule to make target '/home/martind/tmp/make-57676/vardeps/Makefile/SOME_VAR.vardeps', needed by 'some-file'.  Stop.
martind@paris:~/tmp/make-57676$ make some-file
NewVariable SOME_VAR: >foo<
OldVariable SOME_VAR: ><
touch some-file
martind@paris:~/tmp/make-57676$ make --version
GNU Make 4.2.93
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
martind@paris:~/tmp/make-57676$

I see "make clean" isn't enough to set up for a new run - you need rm -r vardeps too.  That's nice work to get it down to something practical to attach here.  There's still surely lots of extraneous detail.  Is this the same problem?


martind@paris:~/tmp/make-57676$ cat Makefile
-include deps

BADGER := $(shell touch deps)

some-file: deps;
martind@paris:~/tmp/make-57676$ /usr/bin/make --version
GNU Make 4.2.1
Built for x86_64-pc-linux-gnu
Copyright (C) 1988-2016 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
martind@paris:~/tmp/make-57676$ /usr/bin/make
make: 'some-file' is up to date.
martind@paris:~/tmp/make-57676$ rm deps
martind@paris:~/tmp/make-57676$ make
make: *** No rule to make target 'deps', needed by 'some-file'.  Stop.
martind@paris:~/tmp/make-57676$ make
make: 'some-file' is up to date.
martind@paris:~/tmp/make-57676$


Anonymous
Mon 27 Jan 2020 10:00:40 PM UTC, comment #2: 

I think I have been able to isolate the problem and have created a testcase that will trigger the problem. It works with make 4.2.1 but fails on first run with make 4.3, but succeeds on second run.

Testcase has been attached.

Natanael Copa <ncopa>
Mon 27 Jan 2020 12:08:46 PM UTC, comment #1: 

I have traced it to this command:

$ (cd /home/ncopa/aports/community/openjdk11/src/
jdk11u-jdk-11.0.6+10/make && /usr/bin/make --debug --trace -s -r -R -I /home/ncopa/aports/community/openjdk11/src/jdk11u
-jdk-11.0.6+10/make/common SPEC=/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-norma
l-server-release/spec.gmk MAKE_LOG_FLAGS="-s"  -f ToolsLangtools.gmk)
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
 File 'default' does not exist.
   File 'all' does not exist.
     File '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties' does not exist.
    Must remake target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties'.
ToolsLangtools.gmk:37: update target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties' due to: /home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/make/langtools/tools/propertiesparser/resources/templates.properties
/bin/mkdir -p /home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources
/bin/cp /home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/make/langtools/tools/propertiesparser/resources/templates.properties /home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties
/bin/chmod -f ug+w /home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties
    Successfully remade target file '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties'.
     File '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch' does not exist.
make: * No rule to make target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS.vardeps', needed by '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.6+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch'.  Stop.


Which leads me to:
https://hg.openjdk.java.net/jdk-updates/jdk11u/file/92ad8373cf4d/make/ToolsLangtools.gmk#l35 That says:

> # Setup the compilation of the properties compilation tool. You can depend
> # upon $(BUILD_TOOLS_LANGTOOLS) to trigger a compilation of the tools.
> $(eval $(call SetupJavaCompilation,BUILD_TOOLS_LANGTOOLS, \


I believe that the depending on $(BUILD_TOOLS_LANGTOOLS) does not trigger of the tools as expected. The eval of the call probably does not give the intended result.


SetupJavaCompilation is defined here:
https://hg.openjdk.java.net/jdk-updates/jdk11u/file/92ad8373cf4d/make/common/JavaCompilation.gmk#l184

Natanael Copa <ncopa>
Mon 27 Jan 2020 11:46:20 AM UTC, original submission:  

(I tried to send this to -email is unavailable- but it appears to have disappeared somewhere)

openjdk11 builds fine with make 4.2.1 but with 4.3 we get following error on Alpine linux, on all our architectures (aarch64, ppc64le, s390x, x86_64):

-------------------------------------------------------------------------------------
Build performance summary:

  • Cores to use:   48
  • Memory limit:   257866 MB


WARNING: Your build output directory is not on a local disk.
This will severely degrade build performance!
It is recommended that you create an output directory on a local disk,
and run the configure script again from that directory.

The following warnings were produced. Repeated here for convenience:
WARNING: using cross tools not prefixed with host triplet

Building target 'images' in configuration 'linux-x86_64-normal-server-release'
Warning: No SCM configuration present and no .src-rev
make[3]: * No rule to make target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/make-support/vardeps/make/ReleaseFile.gmk/create-info-file.vardeps', needed by '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/jdk/release'.  Stop.
make[3]: * No rule to make target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS.vardeps', needed by '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch'.  Stop.
make[3]: * Waiting for unfinished jobs....
make[2]: * [make/Main.gmk:348: release-file] Error 2
make[2]: * Waiting for unfinished jobs....
make[2]: * [make/Main.gmk:73: buildtools-langtools] Error 2
make[3]: * No rule to make target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/make-support/vardeps/make/ModuleWrapper.gmk/java.base/ORDERED_CFG_VARIANTS.vardeps', needed by '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/support/modules_libs/java.base/jvm.cfg'.  Stop.
make[3]: * Waiting for unfinished jobs....
make[2]: * [make/Main.gmk:166: java.base-copy] Error 2
make[3]: * No rule to make target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/hotspot/variant-server/tools/adlc/objs/adlc.comp.vardeps', needed by '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/hotspot/variant-server/tools/adlc/objs/adlparse.o'.  Stop.
make[2]: * [make/Main.gmk:254: hotspot-server-gensrc] Error 2

ERROR: Build failed for target 'images' in configuration 'linux-x86_64-normal-server-release' (exit code 2)

No indication of failed target found.
Hint: Try searching the build log for '] Error'.
Hint: See doc/building.html#troubleshooting for assistance.

make[1]: * [/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/make/Init.gmk:305: main] Error 2
make: * [/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/make/Init.gmk:186: images] Error 2
-------------------------------------

It seems like it fails to construct the targets depenencies for some reason.

The complete makefiles are fairly advanced and I get the feeling that
they are tripping over a regression in some cornercase.

They are found here:
https://hg.openjdk.java.net/jdk-updates/jdk11u/file/92ad8373cf4d/make


Below is a run with "Cores to use" set to 1. (make --debug images JOBS=1):

-------------------------------------------------------------------------------
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
 File 'create-main-targets-include' does not exist.
Must remake target 'create-main-targets-include'.
Successfully remade target file 'create-main-targets-include'.
Re-executing[1]: make --debug images JOBS=1
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
 File 'images' does not exist.
   File 'make-info' does not exist.
  Must remake target 'make-info'.
  Successfully remade target file 'make-info'.
Must remake target 'images'.
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
 File 'main' does not exist.
Must remake target 'main'.
Building target 'images' in configuration 'linux-x86_64-normal-server-release'
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Re-executing[1]: /usr/bin/make -s -r -R -I /home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/make/common SPEC=/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/spec.gmk MAKE_LOG_FLAGS=-s LOG_LEVEL=warn LOG_NOFILE= LOG_CMDLINES= LOG_REPORT= LOG_PROFILE_TIMES_LOG= LOG_PROFILE_TIMES_FILE= -Onone -j 1 -f make/Main.gmk images
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
 File 'images' does not exist.
   File 'product-images' does not exist.
     File 'jdk-image' does not exist.
       File 'generate-link-opt-data' does not exist.
         File 'create-buildjdk' does not exist.
           File 'create-buildjdk-copy' does not exist.
             File 'jdk.jlink-java' does not exist.
               File 'interim-langtools' does not exist.
                 File 'jdk.compiler-gensrc-src' does not exist.
                   File 'buildtools-langtools' does not exist.
                  Must remake target 'buildtools-langtools'.
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
 File 'default' does not exist.
   File 'all' does not exist.
     File '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties' does not exist.
    Must remake target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties'.
    Successfully remade target file '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/propertiesparser/resources/templates.properties'.
     File '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch' does not exist.
make[3]: * No rule to make target '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS.vardeps', needed by '/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/build/linux-x86_64-normal-server-release/buildtools/langtools_tools_classes/_the.BUILD_TOOLS_LANGTOOLS_batch'.  Stop.
make[2]: * [make/Main.gmk:73: buildtools-langtools] Error 2

ERROR: Build failed for target 'images' in configuration 'linux-x86_64-normal-server-release' (exit code 2)
GNU Make 4.3
Built for x86_64-alpine-linux-musl
Copyright (C) 1988-2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Reading makefiles...
Updating makefiles....
Updating goal targets....
 File 'on-failure' does not exist.
Must remake target 'on-failure'.

No indication of failed target found.
Hint: Try searching the build log for '] Error'.
Hint: See doc/building.html#troubleshooting for assistance.

Successfully remade target file 'on-failure'.
make[1]: * [/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/make/Init.gmk:305: main] Error 2
make: * [/home/ncopa/aports/community/openjdk11/src/jdk11u-jdk-11.0.5+10/make/Init.gmk:186: images] Error 2

-------------------------------------------------------------------

Note that I can manually build buildtools-langtools:

$ make JOBS=1 buildtools-langtools
Building target 'buildtools-langtools' in configuration 'linux-x86_64-normal-server-release'
Compiling 8 files for BUILD_TOOLS_LANGTOOLS
Finished building target 'buildtools-langtools' in configuration
'linux-x86_64-normal-server-release'


Natanael Copa <ncopa>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

Attached Files
file #48292:  Makefile added by ncopa (5KiB - application/octet-stream - makefile which reproduces the problem)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by nitish (Posted a comment)
  • -email is unavailable- added by psmith (Posted a comment)
  • -email is unavailable- added by dgoncharov (Posted a comment)
  • -email is unavailable- added by ymorin (Posted a comment)
  • -email is unavailable- added by mdorey (Posted a comment)
  • -email is unavailable- added by ncopa (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 6 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-12-06 psmith StatusNone Fixed
        Assigned toNone psmith
        Open/ClosedOpen Closed
        Fixed ReleaseNone 4.4
        Triage StatusNone Small Effort
    2020-01-27 ncopa Attached File- Added Makefile, #48292

    Back to the top

    Powered by Savane 3.13-3230.
    Corresponding source code