Topic: [CentOS7] ImageMagick7-heic referencing undefined symbol

Hi,

we are currently facing the issue that the provided IM7 HEIC support module references an undefined symbol and therefor is not working as intended. We installed the respective packages via RPMFusion - as described in https://blog.remirepo.net/post/2019/05/ … es-support

$ /usr/bin/convert heic-test/example.heic heic-test/example.jpeg
/usr/bin/convert: symbol lookup error: /usr/lib64/ImageMagick-7.0.10/modules-Q16HDRI/coders/heic.so: undefined symbol: heif_image_handle_get_luma_bits_per_pixel

$ yum list installed | grep -e hei.
ImageMagick7-heic.x86_64             7.0.10.34-1.el7.remi            @remi
libheif.x86_64                       1.3.2-2.el7                     @rpmfusion-free-updates

The referenced symbol seems to be available in newer versions (>=1.4.0) only - introduced in upstream's commit e370112e (can't link due to number-of-links restriction). So the package provided in the repository seems to be build against a newer version than what is available via RPMFusion el7-free. Any advice on resolving this dependency?

- Dirk

Re: [CentOS7] ImageMagick7-heic referencing undefined symbol

Sadly, I cannot reproduce

# yum list ImageMagick7\*  libheif  libde265
Installed Packages
ImageMagick7.x86_64                                   7.0.10.34-1.el7.remi                               @remi                  
ImageMagick7-heic.x86_64                              7.0.10.34-1.el7.remi                               @remi-safe             
ImageMagick7-libs.x86_64                              7.0.10.34-1.el7.remi                               @remi-safe             
libde265.x86_64                                       1.0.2-6.el7                                        @rpmfusion-free-updates
libheif.x86_64                                        1.3.2-2.el7                                        @rpmfusion-free-updates

And

# convert --version
Version: ImageMagick 7.0.10-34 Q16 x86_64 2020-10-09 https://imagemagick.org
Copyright: © 1999-2020 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(3.1) 
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc heic jbig jng jp2 jpeg lcms ltdl lzma openexr pangocairo png ps raqm raw rsvg tiff webp wmf x xml zlib

With heic support properly reported

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: [CentOS7] ImageMagick7-heic referencing undefined symbol

Sorry, indeed can reproduce

convert /tmp/Example2.heic /tmp/Ex.jpg
convert: symbol lookup error: /usr/lib64/ImageMagick-7.0.10/modules-Q16HDRI/coders/heic.so: undefined symbol: heif_image_handle_get_luma_bits_per_pixel
Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: [CentOS7] ImageMagick7-heic referencing undefined symbol

Reported as https://github.com/ImageMagick/ImageMagick/issues/2744

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

Re: [CentOS7] ImageMagick7-heic referencing undefined symbol

For memory; this issue affects version 6 and 7 since patch level 32

Upstream patch applied in new builds

* ImageMagick7-7.0.10.34-2.el7
* ImageMagick-6.9.11.34-2.el7


Thanks for the report.

Laptop:  Fedora 38 + rpmfusion + remi (SCL only)
x86_64 builder: Fedora 39 + rpmfusion + remi-test
aarch64 builder: RHEL 9 with EPEL
Hosting Server: CentOS 8 Stream with EPEL, rpmfusion, remi

6 (edited by Peleke 2021-09-15 13:58:07)

Re: [CentOS7] ImageMagick7-heic referencing undefined symbol

The Imagemagick version

ImageMagick 7.1.0-4 Q16 x86_64 2021-07-18

doesn't support AVIF as a file format:

magick -list format |grep "AVIF"
$: (empty)

If I try to convert a jpeg to AVIF I just get a Jpeg with .avif as an output.
Maybe the issue is related to an older libheif library or aom for compilation!?
At least that is mentioned here:

https://github.com/ImageMagick/ImageMagick/issues/2551