Thanks Erik for fixing this issue.

On 2019年04月04日 21:48, Erik Joelsson wrote:
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




Reply via email to