adjust-mflags mangles paths into arguments

Erik Joelsson erik.joelsson at oracle.com
Mon Nov 10 07:55:39 UTC 2014


Hello Eric,

Thanks for the detailed report. This looks like 
https://bugs.openjdk.java.net/browse/JDK-8028407 which probably needs to 
be backported to 8u as gnu make 4.0 is only going to get more common 
going forward.

/Erik

On 2014-11-07 23:15, Eric Reischer wrote:
> Steps to reproduce:
>
> $ hg clone http://hg.openjdk.java.net/jdk8u/jdk8u jdk8u
> $ cd jdk8u
> $ sh get_source.sh
> $ sh configure --with-freetype-include=/usr/include/freetype2 
> --with-freetype-lib=/usr/lib/x86_64-linux-gnu 
> --with-debug-level=slowdebug
> $ LOG=trace JOBS=1 make all
>
>
> {....}
> + echo 
> /home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug
> /home/emr/jdk8u/hotspot/make/linux/makefiles/top.make:91: Building 
> ad_stuff  (from 
> /home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current) 
> (/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current 
> /home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/adjust-mflags 
> newer)
> ++ pwd
> + echo 
> /home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug
> /home/emr/jdk8u/hotspot/make/linux/makefiles/top.make:91: Building 
> ad_stuff  (from 
> /home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current) 
> (/home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/platform.current 
> /home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/adjust-mflags 
> newer)
> ++ 
> /home/emr/jdk8u/build/linux-x86_64-normal-server-slowdebug/hotspot/linux_amd64_compiler2/debug/../generated/adjust-mflags 
> '-rRw -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common 
> -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common 
> -I/home/emr/jdk8u/make/common' 1
> + /usr/bin/make VERBOSE= LOG_LEVEL=trace -R -I 
> /home/emr/jdk8u/make/common -f adlc.make -r -rRw -I/home/emr/ -j1 
> -dk8u/make/common -I/home/emr/jdk8u/make/common 
> -I/home/emr/jdk8u/make/common -I/home/emr/jdk8u/make/common 
> -I/home/emr/jdk8u/make/common
> /usr/bin/make: invalid option -- '8'
> /usr/bin/make: invalid option -- 'u'
> /usr/bin/make: invalid option -- '/'
> /usr/bin/make: invalid option -- 'a'
> /usr/bin/make: invalid option -- '/'
> /usr/bin/make: invalid option -- 'c'
> Usage: make [options] [target] ...
> Options:
>   -b, -m                      Ignored for compatibility.
> {....}
>
> As you can see, "adjust-mflags" is taking the path
> /home/emr/jdk8u/make/common
> and incorrectly converting it into
> /home/emr/ -j1 -dk8u/make/common
>
> Naturally, everything is boned from that point on.  This occurs when 
> the "all" target gets to building hotspot.




More information about the build-dev mailing list