[PATCH] Update RPATH to make loading libjawt possible
Kumar Srinivasan
kumar.x.srinivasan at oracle.COM
Tue Aug 14 11:18:40 UTC 2012
> ----- Original Message -----
>> I have pointed out some changes below, but there is a serious
>> problem.
>> You are checking for the system arch using uname but the
>> java architecture may not be the same.
>>
>> For example we run 32-bit jdk on a 64bit system, this will cause test
>> failures
>> since we will be using the wrong path names.
>>
>> You can use the following to determine the java arch.
>>
>> % java -XshowSettings:props -version 2>&1 | grep os.arch
>>
> This doesn't work (at least for me) unless the '-version' is removed.
There was a bug which was fixed in 7u4/u6.
>
> I also note that this seems to only be present in 7 and later (i.e. not 6), not that this will matter in this case.
Correct, 7 and above.
Kumar
>
>> other diffs follow.....
>>
>> @@ -22,16 +22,17 @@
>> # questions.
>>
>> # @test runtest.sh
>> -# @bug 9999999
>> +# @bug 7190813
>> # @summary Native code linked against libjawt.so should be
>> sufficent
>> for libjawt.so to be found
>> # @run shell runtest.sh
>>
>> -if [ "${TESTSRC}" = "" ]
>> -then TESTSRC=.
>> +set -x
>> +
>> +if [ "${TESTSRC}" = "" ]; then
>> + TESTSRC=.
>> fi
>>
>> -if [ "${TESTJAVA}" = "" ]
>> -then
>> +if [ "${TESTJAVA}" = "" ]; then
>> PARENT=`dirname \`which java\``
>> TESTJAVA=`dirname ${PARENT}`
>> echo "TESTJAVA not set, selecting " ${TESTJAVA}
>> @@ -46,14 +47,10 @@
>> PS=":"
>> FS="/"
>> ;;
>> - SunOS | Windows_* )
>> - echo "Test passed; only valid for Linux"
>> + * )
>> + echo "Warning: test passes vacuously for non linux systems"
>> exit 0;
>> ;;
>> - * )
>> - echo "Unrecognized system!"
>> - exit 1;
>> - ;;
>> esac
>>
>> # Get ARCH specifics
>> @@ -71,13 +68,13 @@
>>
>> gcc -v> /dev/null 2>&1
>> if [ "$?" != 0 ] ; then
>> - echo "No compiler found"
>> - exit 1
>> + echo "Warning: No gcc compiler found, test passes vacuously"
>> + exit 0
>> fi
>>
>> -JAVAC=${TEST_JAVA}${FS}bin${FS}javac
>> -JAVAH=${TEST_JAVA}${FS}bin${FS}javah
>> -JAVA=${TEST_JAVA}${FS}bin${FS}java
>> +JAVAC=${TESTJAVA}${FS}bin${FS}javac
>> +JAVAH=${TESTJAVA}${FS}bin${FS}javah
>> +JAVA=${TESTJAVA}${FS}bin${FS}java
>>
>> $JAVAC -d . ${TESTSRC}${FS}TestJawt.java || exit 1
>> $JAVAH TestJawt || exit 1
>>
>>
>> Thanks
>> Kumar
>>
>>> On 08/13/2012 10:39 AM, Anthony Petrov wrote:
>>>> The test looks great, and I like that it doesn't depend on the
>>>> JAWT
>>>> machinery, but tests the actual problematic RPATH entry only.
>>> I generally go for tests that verify behaviour (that jawt-linked
>>> programs are working) rather than implementation details (which
>>> changed,
>>> for example, when we switched from LD_LIBRARY_PATH to RPATHS).
>>>
>>>> +1 from me.
>>> Yes, good to have something that guards us from changing something
>>> unintentionally. Looks fine to me too.
>>>
>>> Cheers,
>>> Omair
>>
More information about the build-dev
mailing list