[12] RFR : JDK-8203884 : Update libjpeg to version 9c

Phil Race philip.race at oracle.com
Mon Oct 1 22:18:39 UTC 2018


I filed two bugs
JDK-8211362: Restrict export of libjpeg symbols from libjavafx_iio.so
JDK-8211363: Use platform version of libjpeg on Linux

-phil

On 10/01/2018 02:01 PM, Phil Race wrote:
> On 10/1/2018 1:55 PM, Phil Race wrote:
>> The JDK has shipped a libjpeg since, well, forever.
>
> PS .. we now call it libjavajpeg.so but that is recent (JDK 9).
>
> -phil.
>
>> For a long time it did export all the symbols, but what is now probably
>> an even longer time, it has exported only the JNI entry points.
>> We can do the same here.
>>
>> The JDK approach used to be tediously maintained mapfiles. But 
>> recently it
>> was switched to use compiler directives. The default for such a 
>> library as
>> libjavafx_iio.so is that symbols aren't exported, and we don't need 
>> to touch
>> the imported source files, just add the JNIEXPORT directive to the 
>> declarations of
>> the JNI functions in the JDK's own source files which are compiled 
>> into the library.
>> And of course some makefile work.
>>
>> See https://bugs.openjdk.java.net/browse/JDK-8200178 and
>> http://mail.openjdk.java.net/pipermail/build-dev/2018-March/021306.html
>>
>> We can do something like this for FX in a follow-on bug
>>
>> Another follow-on bug opportunity, is for FX to do what JDK 11 does, 
>> which
>> is to defer to the system libjpeg on Linux (and Solaris, but not 
>> relevant to FX).
>> So libjavafx_iio.so on Linux would become just a small entry point to 
>> the
>> platform JPEG library.
>>
>> -phil.
>>
>> On 10/01/2018 10:59 AM, Johan Vos wrote:
>>> Unrelated to the patch, I wonder if there is a better way to include 
>>> this
>>> functionality.
>>> If we bundle an application that uses JavaFX but also includes a native
>>> library that links with libjpeg, there will be issues due to duplicate
>>> symbols (this happens for example when running deeplearning4j on 
>>> ios, where
>>> we build a static executable).
>>>
>>> Is it an option to prefix the public symbols?
>>>
>>> - Johan
>>>
>>>
>>> On Mon, Oct 1, 2018 at 5:59 PM Ambarish Rapte 
>>> <ambarish.rapte at oracle.com>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>>
>>>>
>>>>                  Please review this change for updating libjpeg7 to
>>>> libjpeg9c.
>>>>
>>>>
>>>>
>>>>                  Webrev:
>>>> http://cr.openjdk.java.net/~arapte/fx/8203884/webrev.00_for_checkin/ 
>>>> ->
>>>> Complete patch with changes in make files and Netbeans project files.
>>>>
>>>>                  Webrev:
>>>> http://cr.openjdk.java.net/~arapte/fx/8203884/webrev.00_diff_with_libjpeg7/ 
>>>>
>>>> ->  Partial patch, updated 9c files in earlier libjpeg7 folder for 
>>>> ease to
>>>> go through difference.
>>>>
>>>>
>>>>
>>>>                  JBS: https://bugs.openjdk.java.net/browse/JDK-8203884
>>>>
>>>>
>>>>
>>>> Regards,
>>>>
>>>> Ambarish
>>>>
>>
>



More information about the openjfx-dev mailing list