This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Three JPEG packages, no pkgconfig information

David Arnstein wrote:
When I run cygwin setup.exe, I see three JPEG related packages: jpeg, libjpeg62, and libjpeg6b.

Right. The jpeg package contains documentation, static libraries, import libraries, header files, and executable utility programs. The other two packages each contain a specific version of the shared library:

  libjpeg62 --> contains /usr/bin/cygjpeg-62.dll
  libjpeg6b --> contains /usr/bin/cygjpeg6b.dll

cygjpeg-62.dll is the current version, and that's what you'll link against if you use -ljpeg when compiling your app. cygjpeg6b.dll is only present in the distribution for backwards compatibility: some existing cygwin programs require the older version simply because they have not yet been recompiled to use the newer version. You'll see this pattern often in the cygwin distribution: multiple packages that all each contain a single DLL, all with slightly different version numbers. It's simply a backwards compatibility thing.

Not one of these packages leaves a file in /usr/lib/pkgconfig.

pkgconfig is not universally supported by every package in the linux universe. Jpeg is one of those packages whose official maintainers (the Independent JPEG Group, or IJG) have chosen NOT to provide pkgconfig files. Therefore, the cygwin distribution of their software ALSO does not provide them. (Actually, I believe the most recent IJG release, jpeg-v6b, predates the very existence of pkgconfig -- which shows the pace of development of libjpeg)

I am trying to compile some image processing programs (such as gthumb) and so I'd like to know if it is normal to see these three overlapping packages present.

It is normal, as explained above. But they aren't really "overlapping".

Why don't they install files in /usr/lib/pkgconfig?

Explained above: the upstream "official" maintainers of the IJG jpeg library have chosen not to provide them; it is not for us mere mortals to reason why. For other software, I'd say "I'm sure they would consider a patch adding that functionality" -- but not jpeg. libjpeg development is practically dead, and has had no new release in years. Nor is there a fork of the current software with active development: I can only assume that most people seem to think that jpeg-v6b works fine and see no need to fork/continue development.

There have been recent signs of life on the IJG (private) mailing list, but I wouldn't hold my breath.

Is this directory only for Gnome related work?


But none of this extended discussion should matter: if you have the 'jpeg' and 'libjpeg62' packages installed, then you have the appropriate headers in /usr/include and link librares in /usr/lib -- which are part of the default search path for gcc. So gthumb et. al. should have NO problem detecting that you have jpeg installed, and you need no extra flags (such as would be provided by 'pkg-config --cflags jpeg' or 'pkg-config --libs jpeg') to make that happen.

cygwin-jpeg and cygwin-pkgconfig maintainer

-- Unsubscribe info: Problem reports: Documentation: FAQ:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]