>On 2018-01-16 18:54, Erik Joelsson wrote: >> >> >> 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 >>> LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], >>> [$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-linux-gnu], [well-known >>> location]) >>> else >>> LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], >>> [$FREETYPE_BASE_DIR/lib/i386-linux-gnu], [well-known location]) >>> if test "x$FOUND_FREETYPE" != xyes; then >>> LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include], >>> [$FREETYPE_BASE_DIR/lib32], [well-known location]) >>> fi >>> fi >>> fi
I'm embarassed that it took me this long to figure out you were referring to the jdk10 code. I was scouring my copy of the jdk9 source and wondering what on earth you were talking about. Whoops. :) >>> >>> 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? >Yes, s390x means 64-bit. We do not support 32-bit s390, so I don't think >it's likely that Adam was trying to build that. > >Just like we sometimes just say "sparc" when we really mean "sparcv9", I >presume that "s390" here really mean "s390x". > >I'm guessing that the config.guess script (and our wrapper) perhaps is >not 100% correct in determining s390x. It has certainly not seen much >testing. For some reason my code now works perfectly. I am 100% certain that this defect was occuring before I installed a selection of packages on the machine, so I figure one of these, or something else I did, resulted in the correct s390x being passed. I'll try to figure out what has happened. P.S. I'm trying to build s390x (64bit) on a 64bit machine. I don't know where the code was getting s390. > >/Magnus > >> >> /Erik >>> 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