[PATCH] Freetype Directory Bug On zLinux

Erik Joelsson erik.joelsson at oracle.com
Tue Jan 16 17:54:35 UTC 2018

On 2018-01-16 09:50, Erik Joelsson wrote:
> On 2018-01-16 09:03, Adam Farley8 wrote:
>> >Configure already looks in:
>> >$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-linux-gnu
>> >Which I would expect to cover your case, unless there is a mismatch
>> >between s390 and s390x here. Is your OPENJDK_TARGET_CPU set to s390 or
>> >s390x in this case? If this discrepancy between arch names cannot be
>> >resolved, then a special case like the one you propose is needed.
>> I have tried and tried, and cannot find this code line in the JDK,
>> anywhere. Nor can I find variations on it. The closest I can find is a
>> list of possible locations, but these are hard-coded (and don't have
>> OPENJDK_TARGET_CPU in their code), and none are s390 or s390x.
>> Please spell out exactly where this line is, as I have no idea.
> I'm referring to this block:
>           if test "x$FOUND_FREETYPE" != xyes; then
>             FREETYPE_BASE_DIR="$SYSROOT/usr"
>             if test "x$OPENJDK_TARGET_CPU_BITS" = x64; then
> [$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-linux-gnu], [well-known 
> location])
>             else
> [$FREETYPE_BASE_DIR/lib/i386-linux-gnu], [well-known location])
>               if test "x$FOUND_FREETYPE" != xyes; then
> [$FREETYPE_BASE_DIR/lib32], [well-known location])
>               fi
>             fi
>           fi
> Reading it again I realize that the directory is only searched for 
> 64bit builds. Looking in platforms.m4, I see that s390 is 32bit and 
> s390x is 64bit. This means it will work fine for s390x, but not for 
> s390. Given that your libraries are found in a directory with s390x in 
> the name, I assume that you actually do want to produce a 64bit build, 
> or am I missing something? If you need this to work for 32bit, then 
> it's possible we need to tweak something. I think it wouldn't be such 
> a bad idea to always search 
> $SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-linux-gnu, regardless of 
> architecture.
Are the libraries in your s390x directory 32bit or 64bit? Am I correct 
in assuming that the x suffix is signifying 64bit instead of 32bit?

> Also note that your proposed code checked for 
> OPENJDK_TARGET_CPU_ARCH=s390, that's a different variable than 
> OPENJDK_TARGET_CPU. The arch in our model is more of a family of cpus, 
> ignoring things like address width.
> /Erik
>> Thanks everyone for your time. We'll get to the bottom of this! :)
>> Best Regards
>> Adam Farley
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with 
>> number 741598.
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire 
>> PO6 3AU

More information about the build-dev mailing list