[bug #57676] openjdk11 fails to build with make 4.3

2023-08-21 Thread Nitish Naik
Follow-up Comment #13, bug #57676 (project make):

[comment #11 comment #11:]
> Dmitry,
> 
> [comment #9 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 
> 
> 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 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...).


___

Reply to this item at:

  

___
Message sent via Savannah
https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-12-06 Thread Paul D. Smith
Update of bug #57676 (project make):

  Status:None => Fixed  
 Assigned to:None => psmith 
 Open/Closed:Open => Closed 
   Fixed Release:None => SCM
   Triage Status:None => Small Effort   

___

Follow-up 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.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-03-08 Thread Yann E. MORIN
Follow-up Comment #11, bug #57676 (project make):

Dmitry,

[comment #9 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 

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;
> 

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-03-08 Thread Dmitry Goncharov
Follow-up Comment #10, bug #57676 (project make):

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');
+


___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-03-08 Thread Dmitry Goncharov
Follow-up Comment #9, bug #57676 (project make):

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;


___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-03-04 Thread Yann E. MORIN
Follow-up Comment #8, bug #57676 (project make):

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!

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-02-11 Thread Yann E. MORIN
Follow-up Comment #7, bug #57676 (project make):

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...).

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-28 Thread Martin Dorey
Follow-up Comment #6, bug #57676 (project make):

> 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.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-28 Thread Natanael Copa
Follow-up Comment #5, bug #57676 (project make):

> 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.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-27 Thread Martin Dorey
Follow-up Comment #4, bug #57676 (project make):

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

[SV 40236] Handle included file open failures properly.


___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-27 Thread anonymous
Follow-up Comment #3, bug #57676 (project make):

> (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 
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 
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$ 


___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-27 Thread Natanael Copa
Follow-up Comment #2, bug #57676 (project make):

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.

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-27 Thread Natanael Copa
Additional Item Attachment, bug #57676 (project make):

File name: Makefile   Size:5 KB




___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-27 Thread Natanael Copa
Follow-up Comment #1, bug #57676 (project make):

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 
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

___

Reply to this item at:

  

___
  Message sent via Savannah
  https://savannah.gnu.org/




[bug #57676] openjdk11 fails to build with make 4.3

2020-01-27 Thread Natanael Copa
URL:
  

 Summary: openjdk11 fails to build with make 4.3
 Project: make
Submitted by: ncopa
Submitted on: Mon 27 Jan 2020 11:46:20 AM UTC
Severity: 3 - Normal
  Item Group: Bug
  Status: None
 Privacy: Public
 Assigned to: None
 Open/Closed: Open
 Discussion Lock: Any
   Component Version: 4.3
Operating System: POSIX-Based
   Fixed Release: None
   Triage Status: None

___

Details:

(I tried to send this to bug-make@gnu.org 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 
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 
This is free software: you are free to change