[oi-dev] Squeak and libjpeg8-turbo

stes@PANDORA.BE stes at telenet.be
Sat Jan 1 11:20:55 UTC 2022


I have meanwhile found out what the problem was with Squeak and libjpeg9-ijg and libjpeg8-turbo.

Basically this is Squeak and OpenIndiana specific.

The header file

   /usr/include/libjpeg.h

is a link to libjpeg6-ijg and that is why it only worked with libjpeg6-ijg.

I have in my Makefile for Squeak , CPPFLAGS set to add -I flag for the correct JPEG_IMPLEMEN include directory,
but the Squeak configure script ignores or does not respect the CPPFLAGS, and setting the -I flag in the CFLAGS,
fixes the issue.

It's important to use the right libjpeg.h header file.

The C struct size is different for some structs's like jpegcompress or jpegdecompress 
and these sizes differ between libjpeg6-ijg, libjpeg8-turbo and libjpeg9-ijg.

As soon as the right #include is used, Squeak links and opens JPEG files using libjpeg8-turbo and libjpeg9-ijg as well.

To debug this, it helped to

   rm /usr/include/libjpeg.h

Perhaps there could also be a IPS mediator to select which libjpeg implementation is to be used.

Regards,
David Stes





More information about the oi-dev mailing list