Failure to link with libjpeg.a using cmake configuration

Marco Atzeri marco.atzeri@gmail.com
Mon Dec 29 16:47:25 GMT 2025


On 29/12/2025 17:42, Roger Leigh via Cygwin wrote:
> Hi,
> 
> I’m trying to test libtiff on Cygwin, and I’m running into a failure.  It’s finding and linking on all platforms with the exception of Cygwin (including MinGW64 and MSVC).  For example:
> 
> https://gitlab.com/libtiff/libtiff/-/pipelines/2236584193
> 
> -- Found ZLIB: /usr/lib/libz.dll.a (found version "1.3.1")
> -- Found Deflate: /usr/lib/libdeflate.dll.a (found version "1.25")
> CMake Error at /usr/lib/cmake/libjpeg-turbo/libjpeg-turboTargets.cmake:99 (message):
> The imported target "libjpeg-turbo::jpeg" references the file
> "/usr/lib/libjpeg.dll.a"
> but this file does not exist. Possible reasons include:
> * The file was deleted, renamed, or moved to another location.
> * An install or uninstall procedure did not complete successfully.
> * The installation package was faulty and contained
> "/usr/lib/cmake/libjpeg-turbo/libjpeg-turboTargets.cmake"
> but not all the files it references.
> Call Stack (most recent call first):
> /usr/lib/cmake/libjpeg-turbo/libjpeg-turboConfig.cmake:37 (include)
> cmake/JPEGCodec.cmake:36 (find_package)
> 
> It is entirely correct.  The file that’s mentioned in the installed CMake config file does not exist.
> 
> $ find lib -name '*jpeg*'
> lib/cmake/libjpeg-turbo
> lib/cmake/libjpeg-turbo/libjpeg-turboConfig.cmake
> lib/cmake/libjpeg-turbo/libjpeg-turboConfigVersion.cmake
> lib/cmake/libjpeg-turbo/libjpeg-turboTargets-relwithdebinfo.cmake
> lib/cmake/libjpeg-turbo/libjpeg-turboTargets.cmake
> lib/gdk-pixbuf-2.0/2.10.0/loaders/cygpixbufloader-jpeg.dll
> lib/libopenjpeg.dll.a
> lib/libturbojpeg.dll.a
> lib/openjpeg-1.5
> lib/pkgconfig/libopenjpeg.pc
> lib/pkgconfig/libopenjpeg1.pc
> lib/pkgconfig/libturbojpeg.pc
> 
> $ find bin -name '*jpeg*'
> bin/cygjpeg-8.dll
> bin/cygopenjpeg-1.dll
> bin/cygturbojpeg-0.dll
> 
> So the DLL exists, but the import library does not.  Everything else is present and correct as far as I can tell, but something is not right here.  The import library is missing.
> 
> $ grep '\.a' lib/cmake/libjpeg-turbo/*
> lib/cmake/libjpeg-turbo/libjpeg-turboTargets-relwithdebinfo.cmake:  IMPORTED_IMPLIB_RELWITHDEBINFO "${_IMPORT_PREFIX}/lib/libjpeg.dll.a"
> lib/cmake/libjpeg-turbo/libjpeg-turboTargets-relwithdebinfo.cmake:list(APPEND _cmake_import_check_files_for_libjpeg-turbo::jpeg "${_IMPORT_PREFIX}/lib/libjpeg.dll.a" "${_IMPORT_PREFIX}/bin/cygjpeg-8.dll" )
> lib/cmake/libjpeg-turbo/libjpeg-turboTargets-relwithdebinfo.cmake:  IMPORTED_IMPLIB_RELWITHDEBINFO "${_IMPORT_PREFIX}/lib/libturbojpeg.dll.a"
> lib/cmake/libjpeg-turbo/libjpeg-turboTargets-relwithdebinfo.cmake:list(APPEND _cmake_import_check_files_for_libjpeg-turbo::turbojpeg "${_IMPORT_PREFIX}/lib/libturbojpeg.dll.a" "${_IMPORT_PREFIX}/bin/cygturbojpeg-0.dll" )
> 
> Because it’s referenced in the configuration, and has the DLL, and everything but this file is installed, this looks like a packaging error hence reporting it here as a bug.

install libjpeg-devel

https://cygwin.com/cgi-bin2/package-cat.cgi?file=x86_64%2Flibjpeg-devel%2Flibjpeg-devel-3.1.3-1&grep=libjpeg.dll.a

> 
> 
> Kind regards,
> Roger
> 



More information about the Cygwin mailing list