RFR: JDK-8062521: 9-dev glinux/elinux "configure: error: Could not find all X11 headers" since 2014-10-28
Erik Joelsson
erik.joelsson at oracle.com
Thu Oct 30 12:42:20 UTC 2014
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.
/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
More information about the build-dev
mailing list