Build failure with gnu make 4.0 on Arch Linux
Erik Joelsson
erik.joelsson at oracle.com
Mon Nov 4 09:38:21 UTC 2013
This seems to be make 4.0 specific. I saw the same error when trying a
home built make 4.0 on Solaris the other day (for a completely different
reason so I didn't pursue the problem).
We will investigate.
/Erik
On 2013-11-02 08:30, Henry Jen wrote:
> What I don't understand(misleading me) is that my previous Ubuntu
> setup has same directory structure, but not seeing this problem.
>
> Cheers,
> Henry
>
> On 11/02/2013 12:27 AM, Henry Jen wrote:
>> Yes, I just verified that's the result of sed. Following patch fix it.
>> I don't quite understand why we need that line.
>>
>> Cheers,
>> Henry
>>
>> diff -r ea1b8c643fc8 make/linux/makefiles/adjust-mflags.sh
>> --- a/make/linux/makefiles/adjust-mflags.sh Wed Oct 30 13:43:16 2013
>> -0700
>> +++ b/make/linux/makefiles/adjust-mflags.sh Sat Nov 02 00:26:42 2013
>> -0700
>> @@ -64,7 +64,6 @@
>> echo "$MFLAGS" \
>> | sed '
>> s/^-/ -/
>> - s/ -\([^ ][^ ]*\)j/ -\1 -j/
>> s/ -j[0-9][0-9]*/ -j/
>> s/ -j\([^ ]\)/ -j -\1/
>> s/ -j/ -j'${HOTSPOT_BUILD_JOBS:-${default_build_jobs}}'/
>>
>>
>> On 11/02/2013 12:24 AM, David Holmes wrote:
>>> Hi Henry,
>>>
>>> Looks to me like the script that tries to hack the -j option has
>>> messed up:
>>>
>>> -I /home/hjen/ws/tl/common/makefiles -f adlc.make -r -rRs -I/home/h
>>> -j3
>>> -en/ws/tl/common/makefiles
>>>
>>> Note the -j3 which seems to have been inserted into the middle of
>>> /hjen/ws ...
>>>
>>> David
>>>
>>> On 2/11/2013 1:36 PM, Henry Jen wrote:
>>>> Hi,
>>>>
>>>> I am trying to setup build environment on a new installation, and
>>>> encounter following build error.
>>>>
>>>> I suspect this is because of missing some required tools and software,
>>>> however, the error message is not helpful.
>>>>
>>>> Tried to echo the make commang used, but as you can see the output
>>>> seems
>>>> to be scrambled. Is there a way to find out what exact command causing
>>>> problem? I tried to configure --with-jobs=1, that doesn't help.
>>>>
>>>> The Gnu make version is 4.0, let me know what else information I can
>>>> collect to help diagnosis the problem.
>>>>
>>>> Cheers,
>>>> Henry
>>>>
>>>>
>>>>>
>>>>> INFO: ZIP_DEBUGINFO_FILES=1
>>>>> /usr/bin/make -s VERBOSE=-s LOG_LEVEL=warn -R -I
>>>>> /home/hjen/ws/tl/common/makefiles -f adlc.make -r -rRs -I/home/h -j3
>>>>> -en/ws/tl/common/makefiles -I/home/hjen/ws/tl/common/makefiles
>>>>> -I/home/hjen/ws/tl/common/makefiles
>>>>> -I/home/hjen/ws/tl/common/makefiles
>>>>> -I/home/hjen/ws/tl/common/makefiles
>>>>> /usr/bin/make: invalid option -- '/'
>>>>> /usr/bin/make: invalid option -- '/'
>>>>> Usage: make [options] [target] ...
>>>>> Options:
>>>>> -b, -m Ignored for compatibility.
>>>>> -B, --always-make Unconditionally make all targets.
>>>>> -C DIRECTORY, --directory=DIRECTORY
>>>>> Change to DIRECTORY before doing
>>>>> anything.
>>>>> -d Print lots of debugging information.
>>>>> --debug[=FLAGS] Print various types of debugging
>>>>> information.
>>>>> -e, --environment-overrides
>>>>> Environment variables override
>>>>> makefiles.
>>>>> --eval=STRING Evaluate STRING as a makefile
>>>>> statement.
>>>>> -f FILE, --file=FILE, --makefile=FILE
>>>>> Read FILE as a makefile.
>>>>> -h, --help Print this message and exit.
>>>>> -i, --ignore-errors Ignore errors from recipes.
>>>>> -I DIRECTORY, --include-dir=DIRECTORY
>>>>> Search DIRECTORY for included
>>>>> makefiles.
>>>>> -j [N], --jobs[=N] Allow N jobs at once; infinite jobs
>>>>> with
>>>>> no arg.
>>>>> -k, --keep-going Keep going when some targets can't be
>>>>> made.
>>>>> -l [N], --load-average[=N], --max-load[=N]
>>>>> Don't start multiple jobs unless
>>>>> load is
>>>>> below N.
>>>>> -L, --check-symlink-times Use the latest mtime between symlinks
>>>>> and target.
>>>>> -n, --just-print, --dry-run, --recon
>>>>> Don't actually run any recipe; just
>>>>> print them.
>>>>> -o FILE, --old-file=FILE, --assume-old=FILE
>>>>> Consider FILE to be very old and don't
>>>>> remake it.
>>>>> -O[TYPE], --output-sync[=TYPE]
>>>>> Synchronize output of parallel jobs by
>>>>> TYPE.
>>>>> -p, --print-data-base Print make's internal database.
>>>>> -q, --question Run no recipe; exit status says if
>>>>> up to
>>>>> date.
>>>>> -r, --no-builtin-rules Disable the built-in implicit rules.
>>>>> -R, --no-builtin-variables Disable the built-in variable settings.
>>>>> -s, --silent, --quiet Don't echo recipes.
>>>>> -S, --no-keep-going, --stop
>>>>> Turns off -k.
>>>>> -t, --touch Touch targets instead of remaking them.
>>>>> --trace Print tracing information.
>>>>> -v, --version Print the version number of make and
>>>>> exit.
>>>>> -w, --print-directory Print the current directory.
>>>>> --no-print-directory Turn off -w, even if it was turned on
>>>>> implicitly.
>>>>> -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
>>>>> Consider FILE to be infinitely new.
>>>>> --warn-undefined-variables Warn when an undefined variable is
>>>>> referenced.
>>>>>
>>>>> This program built for x86_64-unknown-linux-gnu
>>>>> Report bugs to <bug-make at gnu.org>
>>>>> make[5]: *** [ad_stuff] Error 2
>>>>> /home/hjen/ws/tl/hotspot/make/linux/makefiles/top.make:91: recipe for
>>>>> target 'ad_stuff' failed
>>>>> make[4]: *** [product] Error 2
>>>>> /home/hjen/ws/tl/hotspot/make/linux/Makefile:289: recipe for target
>>>>> 'product' failed
>>>>> make[3]: *** [generic_build2] Error 2
>>>>> Makefile:216: recipe for target 'generic_build2' failed
>>>>> make[2]: *** [product] Error 2
>>>>> Makefile:167: recipe for target 'product' failed
>>>>> make[1]: ***
>>>>> [/home/hjen/ws/tl/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp]
>>>>>
>>>>>
>>>>>
>>>>> Error 2
>>>>> HotspotWrapper.gmk:44: recipe for target
>>>>> '/home/hjen/ws/tl/build/linux-x86_64-normal-server-release/hotspot/_hotspot.timestamp'
>>>>>
>>>>>
>>>>>
>>>>> failed
>>>>> /export/home/hjen/ws/tl//common/makefiles/Main.gmk:108: recipe for
>>>>> target 'hotspot-only' failed
>>>>> make: *** [hotspot-only] Error 2
More information about the build-dev
mailing list