RFR: 8221907: make reconfigure broken with "build/jmh/jars does not exist or is not a directory"
Erik Joelsson
erik.joelsson at oracle.com
Thu Apr 4 13:48:17 UTC 2019
Hello David,
On 2019-04-03 18:49, David Holmes wrote:
> Hi Erik,
>
> On 4/04/2019 1:33 am, Erik Joelsson wrote:
>> Hello Jie,
>>
>> This issue applies not only to --with-jmh, but to any configure
>> parameter given with a relative path. I think the proper fix would be
>> to record the current working directory when configure is launched
>> and cd to that directory when running reconfigure. Here is my
>> suggested patch:
>>
>> http://cr.openjdk.java.net/~erikj/8221907/webrev.01/index.html
>>
>> The relevant parts are exporting the variable from configure and
>> using it in Init.gmk. The rest is just renaming the variable since
>> CURDIR would clash with the pre defined make variable CURDIR.
>
> I see how the change fixes the issue with existing relative paths, but
> it indicates that OUTPUTDIR is different to CONFIGURE_START_DIR - so
> what happens with generated output now we have a different cwd? Is it
> all controlled by absolute paths and so will still go to the place(s)
> regardless?
>
All output is controlled with absolute paths yes. One of the first
things that happens when configure is run (in basics.m4) is figuring out
which dir is the workspace root (TOPDIR), which is the OUTPUTDIR etc.
From then on, everything is defined as absolute paths using those basic
variables. Today you can run configure either from the root or from the
output dir. With this change, any reconfigure will match the original
cwd, so should get the same behavior as the original run of configure
(which is the idea of reconfigure).
/Erik
> Thanks,
> David
>
>> /Erik
>>
>> On 2019-04-03 05:28, Jie Fu wrote:
>>> Hi all,
>>>
>>> JBS: https://bugs.openjdk.java.net/browse/JDK-8221907
>>>
>>> For more info (e.g. the symptom & how to reproduce), please see the
>>> JBS.
>>>
>>> It can be fixed by
>>> -----------------------------------------
>>> diff -r 3326be37cd9a make/autoconf/lib-tests.m4
>>> --- a/make/autoconf/lib-tests.m4 Tue Apr 02 17:27:48 2019 -0700
>>> +++ b/make/autoconf/lib-tests.m4 Wed Apr 03 19:56:24 2019 +0800
>>> @@ -73,6 +73,10 @@
>>> else
>>> # Path specified
>>> JMH_HOME="$with_jmh"
>>> + if test "x${JMH_HOME:0:1}" != x/; then
>>> + JMH_HOME="$TOPDIR/$JMH_HOME"
>>> + fi
>>> +
>>> if test ! -d [$JMH_HOME]; then
>>> AC_MSG_RESULT([no, error])
>>> AC_MSG_ERROR([$JMH_HOME does not exist or is not a directory])
>>> -----------------------------------------
>>>
>>> Could you please review it?
>>> Thanks a lot.
>>>
>>> Best regards,
>>> Jie
>>>
>>>
More information about the build-dev
mailing list