strukturag / libheif

libheif is an HEIF and AVIF file format decoder and encoder.
Other
1.7k stars 298 forks source link

from version 1.16.2 not found OpenJPEG lib #941

Closed dimonpvt1236 closed 1 year ago

dimonpvt1236 commented 1 year ago
  root@dvasilevskiy:/home/dvasilevskiy/libheif/build# cmake --preset=release ..
  -- Found LIBDE265 
  libde265 (HEIC decoder): found (built-in)
  -- Found X265 
  x265 (HEIC encoder): found (built-in)
  CMake Warning at cmake/modules/LibFindMacros.cmake:267 (message):
    WARNING: MISSING PACKAGE

  We could not find development headers for KVAZAAR.  Do you have the
  necessary dev package installed? This package is NOT REQUIRED and you may
  ignore this warning but by doing so you may miss some functionality of
  libheif.

  Relevant CMake configuration variables:

    KVAZAAR_INCLUDE_DIR=<not found>
    KVAZAAR_LIBRARY=<not found>

  You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
  CMakeCache.txt to discard all values and force full re-detection if
  necessary.

Call Stack (most recent call first):
  cmake/modules/Findkvazaar.cmake:19 (libfind_process)
  CMakeLists.txt:74 (find_package)
  CMakeLists.txt:93 (plugin_option)

-- Could NOT find kvazaar (missing: KVAZAAR_INCLUDE_DIR KVAZAAR_LIBRARIES) 
kvazaar (kvazaar HEVC encoder): not found
CMake Warning at cmake/modules/LibFindMacros.cmake:267 (message):
  WARNING: MISSING PACKAGE

  We could not find development headers for DAV1D.  Do you have the necessary
  dev package installed? This package is NOT REQUIRED and you may ignore this
  warning but by doing so you may miss some functionality of libheif.

  Relevant CMake configuration variables:

    DAV1D_INCLUDE_DIR=<not found>
    DAV1D_LIBRARY=<not found>

  You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
  CMakeCache.txt to discard all values and force full re-detection if
  necessary.

Call Stack (most recent call first):
  cmake/modules/FindDAV1D.cmake:17 (libfind_process)
  CMakeLists.txt:74 (find_package)
  CMakeLists.txt:100 (plugin_option)

-- Could NOT find DAV1D (missing: DAV1D_INCLUDE_DIR DAV1D_LIBRARIES) 
Dav1d (AVIF decoder): not found
-- Found AOM 
aom (AVIF encoder): found (built-in)
aom (AVIF decoder): found (built-in)
CMake Warning at cmake/modules/LibFindMacros.cmake:267 (message):
  WARNING: MISSING PACKAGE

  We could not find development headers for SvtEnc.  Do you have the
  necessary dev package installed? This package is NOT REQUIRED and you may
  ignore this warning but by doing so you may miss some functionality of
  libheif.

  Relevant CMake configuration variables:

    SvtEnc_INCLUDE_DIR=<not found>
    SvtEnc_LIBRARY=<not found>

  You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
  CMakeCache.txt to discard all values and force full re-detection if
  necessary.

Call Stack (most recent call first):
  cmake/modules/FindSvtEnc.cmake:17 (libfind_process)
  CMakeLists.txt:74 (find_package)
  CMakeLists.txt:103 (plugin_option)

-- Could NOT find SvtEnc (missing: SvtEnc_INCLUDE_DIR SvtEnc_LIBRARIES) 
Svt-av1 (AVIF encoder): not found
CMake Warning at cmake/modules/LibFindMacros.cmake:267 (message):
  WARNING: MISSING PACKAGE

  We could not find development headers for RAV1E.  Do you have the necessary
  dev package installed? This package is NOT REQUIRED and you may ignore this
  warning but by doing so you may miss some functionality of libheif.

  Relevant CMake configuration variables:

    RAV1E_INCLUDE_DIR=<not found>
    RAV1E_LIBRARY=<not found>

  You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
  CMakeCache.txt to discard all values and force full re-detection if
  necessary.

Call Stack (most recent call first):
  cmake/modules/FindRAV1E.cmake:17 (libfind_process)
  CMakeLists.txt:74 (find_package)
  CMakeLists.txt:104 (plugin_option)

-- Could NOT find RAV1E (missing: RAV1E_INCLUDE_DIR RAV1E_LIBRARIES) 
Rav1e (AVIF encoder): not found
Jpeg (JPEG decoder): not found
Jpeg (JPEG encoder): not found
OpenJPEG_Encoder (JPEG2000 encoder): not found
OpenJPEG_Decoder (JPEG2000 decoder): not found
CMake Warning at cmake/modules/LibFindMacros.cmake:267 (message):
  WARNING: MISSING PACKAGE

  We could not find development headers for LIBSHARPYUV.  Do you have the
  necessary dev package installed? This package is NOT REQUIRED and you may
  ignore this warning but by doing so you may miss some functionality of
  libheif.

  Relevant CMake configuration variables:

    LIBSHARPYUV_INCLUDE_DIR=<not found>
    LIBSHARPYUV_LIBRARY=<not found>

  You may use CMake GUI, cmake -D or ccmake to modify the values.  Delete
  CMakeCache.txt to discard all values and force full re-detection if
  necessary.

Call Stack (most recent call first):
  cmake/modules/Findlibsharpyuv.cmake:18 (libfind_process)
  CMakeLists.txt:115 (find_package)

-- Could NOT find libsharpyuv (missing: LIBSHARPYUV_INCLUDE_DIR LIBSHARPYUV_LIBRARIES) 
libsharpyuv: disabled
Doxygen build started
Conversion and JPEG 2000 box unit tests can only be compiled with full symbol visibility (WITH_REDUCED_VISIBILITY=OFF)
Compiling 'x265' as built-in backend
Compiling 'libde265' as built-in backend
Not compiling 'dav1d' backend
Compiling 'aomdec' as built-in backend
Compiling 'aomenc' as built-in backend
Not compiling 'svtenc' backend
Not compiling 'rav1e' backend
Compiling 'jpegdec' as built-in backend
Compiling 'jpegenc' as built-in backend
Compiling 'OpenJPEG_Decoder' as built-in backend
Compiling 'OpenJPEG_Encoder' as built-in backend
Not compiling 'kvazaar' backend
Not compiling 'libsharpyuv'
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dvasilevskiy/libheif/build

If downgrade to version 1.16.1 - all worked, library found

dimonpvt1236 commented 1 year ago

ahh, sorry from master branch this error

farindk commented 1 year ago

You are just missing some optional dependencies. But you have everything that is needed for HEIC and AVIF.

dimonpvt1236 commented 1 year ago

yes, it's optional, but when build from master branch without this library, not included in build ImageMagick, in config.log ImageMagick not found OpenJPEG for libheif

onfigure:27372: checking for libheif >= 1.4.0
configure:27379: $PKG_CONFIG --exists --print-errors "libheif >= 1.4.0"
Package OpenJPEG was not found in the pkg-config search path.
Perhaps you should add the directory containing `OpenJPEG.pc'
to the PKG_CONFIG_PATH environment variable
Package 'OpenJPEG', required by 'libheif', not found
configure:27382: $? = 1
configure:27396: $PKG_CONFIG --exists --print-errors "libheif >= 1.4.0"
Package OpenJPEG was not found in the pkg-config search path.
Perhaps you should add the directory containing `OpenJPEG.pc'
to the PKG_CONFIG_PATH environment variable
Package 'OpenJPEG', required by 'libheif', not found
configure:27399: $? = 1
configure:27413: result: no
Package 'OpenJPEG', required by 'libheif', not found
configure:27441: result: 
configure:27480: result: -------------------------------------------------------------
farindk commented 1 year ago

I have changed the cmake defaults such that the default configuration is what most people probably want. You can always configure what should be included with cmake options.

dimonpvt1236 commented 1 year ago

great, very nice

Thanks

kmilos commented 1 year ago

The pkgconf error (bogus "requires") is actually fixed by https://github.com/strukturag/libheif/pull/943