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