RFR: JDK-8248158 Configure fails with autoconf not found even though it's installed

Erik Joelsson erik.joelsson at oracle.com
Tue Aug 4 14:53:01 UTC 2020


I ran this patch through our internal system (corresponds to the submit 
repo), so it's working for us at least.

/Erik

On 2020-08-04 06:25, Galder Zamarreno wrote:
> Hi Erik,
>
> I've been in contact with Simon (cc) who has been testing the patch on 
> Windows and he said it all looked good.
>
> @Simon Tooke <mailto:stooke at redhat.com>, do you need to verify again?
>
> Galder
>
>
> On Tue, Aug 4, 2020 at 2:40 PM Erik Joelsson <erik.joelsson at oracle.com 
> <mailto:erik.joelsson at oracle.com>> wrote:
>
>     I think this looks ok. Have you tested it on Windows?
>
>     /Erik
>
>     On 2020-08-04 01:40, Galder Zamarreno wrote:
>     > Hi all,
>     >
>     > Could someone have a look at my updated webrev below?
>     >
>     > Thanks
>     >
>     > Galder
>     >
>     >
>     > On Fri, Jul 10, 2020 at 6:48 PM Galder Zamarreno
>     <galder at redhat.com <mailto:galder at redhat.com>> wrote:
>     >
>     >> Hi again,
>     >>
>     >> I've got a new webrev for this:
>     >> http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8248158/02/webrev/
>     >>
>     >> It further expands `type -p` to replace `command -v` uses. It also
>     >> replaces $WHICH usages and removes the check for `which` as well.
>     >>
>     >> I tried Simon's suggestions, but getting that right complicated
>     the patch.
>     >>
>     >> Galder
>     >>
>     >>
>     >> On Tue, Jul 7, 2020 at 4:31 PM Galder Zamarreno
>     <galder at redhat.com <mailto:galder at redhat.com>> wrote:
>     >>
>     >>>
>     >>> On Mon, Jul 6, 2020 at 10:50 PM Simon Tooke <stooke at redhat.com
>     <mailto:stooke at redhat.com>> wrote:
>     >>>
>     >>>> (Disclaimer: I am not a reviewer, so this is an opinion, not
>     a review)
>     >>>>
>     >>>> I have tested this on Windows and it built without issue,
>     although the
>     >>>> submit repo should be the final gate.  I'd also like to add
>     my void to
>     >>>> simply redefining 'WHICH' as it leads to less changes in the
>     source
>     >>>> code, which would make life easier should this be backported
>     to 11u
>     >>>> and/or 8u.
>     >>>
>     >>> So, you would just switch the UTIL_REQUIRE_PROGS call for
>     WHICH to be
>     >>> `type ...` instead?
>     >>>
>     >>>
>     >>>> -Simon
>     >>>>
>     >>>> On 2020-07-02 4:22 a.m., Galder Zamarreno wrote:
>     >>>>> On Thu, Jul 2, 2020 at 12:37 AM Magnus Ihse Bursie <
>     >>>>> magnus.ihse.bursie at oracle.com
>     <mailto:magnus.ihse.bursie at oracle.com>> wrote:
>     >>>>>
>     >>>>>> On 2020-07-01 12:05, Galder Zamarreno wrote:
>     >>>>>>> Using `which` to check whether commands exist can result
>     in confusing
>     >>>>>>> errors when `which` itself is not installed in the system.
>     This is
>     >>>> the
>     >>>>>> case
>     >>>>>>> with `autoconf`, where if `autoconf` is present but
>     `which` isn't,
>     >>>> the
>     >>>>>>> build system says that `autoconf` is missing, when in
>     reality it is
>     >>>>>> `which`
>     >>>>>>> which is missing. The fix switches autoconf uses of
>     `which` for
>     >>>> `type -p`
>     >>>>>>> instead, which is a Bash built-in command.
>     >>>>>>>
>     >>>>>>> I've tested the fix with a fedora docker container that had
>     >>>> `autoconf`
>     >>>>>>> installed but `which`. When using `type -p` it correctly
>     detects
>     >>>>>> `autoconf`
>     >>>>>>> installed and eventually fails saying that `which` is not
>     installed,
>     >>>>>> which
>     >>>>>>> is the expected behaviour.
>     >>>>>>>
>     >>>>>>> `which` is still in use in make/autoconf/util_windows.m4.
>     A possible
>     >>>>>> future
>     >>>>>>> improvement would be to see if `which` use there could be
>     replaced as
>     >>>>>> well.
>     >>>>>>> Eventually, when no `which` uses remain, the presence
>     check for
>     >>>> `which`
>     >>>>>>> could be removed.
>     >>>>>> I agree that we should replace "which" with "type -p"
>     everywhere. The
>     >>>>>> best way to do this is probably to replace the value of
>     $WHICH with
>     >>>>>> "type -p". It's a bash built-in, so we can count on its
>     presence. If
>     >>>> you
>     >>>>>> want to fix that as part of this bug, I'm ok with it,
>     otherwise we
>     >>>>>> should open a new bug to track this. I think there is also
>     one or two
>     >>>>>> instances of "command" recently added as (better, but not
>     as good as
>     >>>>>> "type -p") replacements for which.
>     >>>>>>
>     >>>>> I discovered one place in util.m4 where command was being used.
>     >>>>>
>     >>>>> There are other places outside of make/ where command is
>     used but I
>     >>>> feel
>     >>>>> those are a bit out of scope here.
>     >>>>>
>     >>>>> My main objective is that from a configure perspective, we'd
>     try to
>     >>>> reduce
>     >>>>> the number of dependencies needed to build things.
>     >>>>>
>     >>>>> I'll send an updated webrev shortly.
>     >>>>>
>     >>>>>
>     >>>>>> /Magnus
>     >>>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8248158
>     >>>>>>> WebRev:
>     >>>>>>
>     http://cr.openjdk.java.net/~sgehwolf/webrevs/JDK-8248158/01/webrev/
>     >>>>>>> Galder
>     >>>>
>



More information about the build-dev mailing list