On 10/30/2014 7:32 AM, Erik Joelsson wrote:
On 2014-10-30 13:52, David Holmes wrote:
On 30/10/2014 10:42 PM, Erik Joelsson wrote:
I think it would fail in JPRT too, I never ran JPRT with JDK-8062159
unfortunately. I assume very few people run jdk9-dev in JPRT with
embedded platforms.
All hotspot integrations are doing it. You need "-testset hotspot" on
the jprt submit. It just occurred to me that you wouldn't likely have
been aware of that. But all configure related changes must be tested
against all builds.
Yes, I figured that out and tested this fix with it, so now I know.
That's also what I meant by very few jdk9/dev jobs are running with
-testset hotspot. The hotspot repos do it all the time, but
JDK-8062159 hasn't gotten that far yet.
Hi Erik,
you are right, the hotspot snapshot job would have caught that,
as it merges jdk9/hs with jdk9/dev.
BTW, I'm planning to start the snapshot of jdk9/hs for jdk9/dev tonight
or early tomorrow morning. Doesn't look like you have pushed the fix,
Can you push the fix by the end of the day today?
thanks
Alejandro
/Erik
David
/Erik
On 2014-10-30 13:31, David Holmes wrote:
Hi Erik,
Seems reasonable. Did this not fail when run through JPRT? Is it
something shell specific?
David
On 30/10/2014 9:40 PM, Erik Joelsson wrote:
Hello,
In my fix for "JDK-8062159 Fix Xrender check to work with sysroot", I
added $SYSROOT_CFLAGS to the CFLAGS used when looking for X11
headers.
Unfortunately, this didn't work with at least one of the cross
compile
kits we use. The reason for the failure is in the definition of
SYSROOT_CFLAGS:
SYSROOT_CFLAGS="--sysroot=\"$SYSROOT\""
It adds explicit extra quotes around the value. These quotes seem
to not
be a problem when the variable is used in a recipe in make, but
when the
variable is used directly in the shell from configure, the extra
quotes
become part of the argument to gcc. Gcc will fail resolving the
path and
the test for X11 headers fails.
I see no reason for having these quotes other than if we expected
spaces
in the path to the sysroot, which I sure hope we aren't, as we do not
employ any such protection for any other paths that I know of. The
fix
is then simply to remove the extra quotes when using gcc. I chose
not to
change the other defintions of the variable as they seem to be
working.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8062521#comment-13570672
Patch:
diff -r ce3b04a39f79 common/autoconf/flags.m4
--- a/common/autoconf/flags.m4
+++ b/common/autoconf/flags.m4
@@ -136,8 +136,8 @@
SYSROOT_CFLAGS="-isysroot \"$SYSROOT\"
-iframework\"$SYSROOT/System/Library/Frameworks\""
SYSROOT_LDFLAGS=$SYSROOT_CFLAGS
elif test "x$TOOLCHAIN_TYPE" = xgcc; then
- SYSROOT_CFLAGS="--sysroot=\"$SYSROOT\""
- SYSROOT_LDFLAGS="--sysroot=\"$SYSROOT\""
+ SYSROOT_CFLAGS="--sysroot=$SYSROOT"
+ SYSROOT_LDFLAGS="--sysroot=$SYSROOT"
elif test "x$TOOLCHAIN_TYPE" = xclang; then
SYSROOT_CFLAGS="-isysroot \"$SYSROOT\""
SYSROOT_LDFLAGS="-isysroot \"$SYSROOT\""
/Erik
--
Alejandro