[1.7] Updated: {jpeg/libjpeg-devel}-7-10, NEW: libjpeg7-7-10

Charles Wilson cygwin@cwilson.fastmail.fm
Tue Aug 11 00:10:00 GMT 2009

The jpeg package contains the Independent JPEG Group's libjpeg library
and various utility programs for manipulating jpeg files and images.

This is a major update to the new upstream release. Also, support for
"lossless jpeg" has been removed (see below).  Because these changes
break the ABI, the DLL has a new name and the old cygjpeg-62.dll is
provided in a separate, backwards-compatibility package.

[[ compiled using gcc-3.4.4-999 ]]
Because gcc-4.x for cygwin is still in beta status, this version of
jpeg was compiled using the current version of gcc as indicated above.
I'll release a new version, with gcc4 and all the goodies (dw2 exceptions,
shared-libgcc, etc) when cygwin's gcc-4.x is officially promoted.

This release is specific for cygwin-1.7. There will be no jpeg-7 release
for cygwin-1.5.

CHANGES (since 6b-20)
o Update to latest upstream release
o Remove "lossless jpeg" support.
o Update hint files to reflect correct requirements:
  don't explicitly specify cygwin, and we do not actually
  require libpng or libz.

About Lossless JPEG:
  Lossless jpeg support has been removed. Lossless jpeg was never
  accepted upstream, and has been a "local" patch in the cygwin version
  of jpeg for years (since the first "Net Release" after cygwin B20.1).

  The patch modified certain data structures that are marked "private"
  in the jpeg headers, but they *are* in the headers.  Therefore, many
  clients have manipulated those "private" structures directly.  To
  interoperate with cygwin's lossless-patched version, they had to make
  certain accomodations:
  So the question becomes, why was lossless jpeg support added to
  cygwin's official version of libjpeg in the first place?  I added it
  because I needed it to deal with certain medical imagery, and frankly
  was unaware at the time that changing "private" data structures would
  really affect anybody else.

  Isn't that what "private" means?

  Well, I no longer need to deal with that sort of imagery, and
  "private" never really was very private, and it DID cause lots of
  people grief.  And, our build environment for packages is much nicer
  now than it was in the early days, so any Joe who needs lossless jpeg
  can easily build it themselves.  So, it's nice to finally get rid of
  the lossless jpeg patch.

  The downside of removing this, is that over over the years those
  other clients have added lots of workarounds to accommodate cygwin's
  jpeg library. With this release of libjpeg, those clients no longer
  need those workarounds -- but until they too remove their workarounds,
  building those clients will break on cygwin again!

  However, because the DLL name (analogous to the linux SONAME) has
  been changed in this release, existing applications will continue
  to operate correctly, relying on the (old) cygjpeg-62.dll. It's
  only newly-compiled applications that will use the new cygjpeg-7.dll
  and may need to reverse their earlier accomodations for cygwin's
  lossless jpeg.

Charles Wilson
volunteer jpeg maintainer for cygwin


To update your installation, click on the "Install Cygwin now" link
on the http://cygwin.com/ web page.  This downloads setup.exe to
your system.  Then, run setup and answer all of the questions.


If you want to unsubscribe from the cygwin-announce mailing list, look
at the "List-Unsubscribe: " tag in the email header of this message.
Send email to the address specified there.  It will be in the format:


If you need more information on unsubscribing, start reading here:


Please read *all* of the information on unsubscribing that is
available starting at this URL.

More information about the Cygwin-announce mailing list