SoftCreatR / imei

IMEI - ImageMagick Easy Install
ISC License
292 stars 35 forks source link

AVIF not installed (ImageMagick 7.1.1-35 / Ubuntu 22.04.1 LTS) #115

Open jakobhaerter opened 1 month ago

jakobhaerter commented 1 month ago

I installed IMEI on a Hetzner VPS to enable full AVIF support for a website. However, ImageMagick 6.9 had a bug where PNGs with transparency were converted to AVIF files with a black background.

After successfully installing ImageMagick 7.1.1, AVIF support is completely missing. Running identify -list format does not list AVIF at all. ImageMagick 6.9 still generated AVIFs.

Any help or guidance on resolving this issue is appreciated. Thanks!

SoftCreatR commented 1 month ago

Install libavif-dev and execute IMEI with --force to perform a forced re-install.

MoritzLost commented 1 month ago

@SoftCreatR Thanks for the reply! Just tested this, unfortunately it didn't work.

First I installed libavif-dev: sudo apt install libavif-dev Then ran IMEI again with --force, which again finished successfully. But AVIF is still missing from the list of supported formats.

Weird issue, this was definitely working two weeks ago. Same server versions, same setup. We also didn't install libavif-dev. Shouldn't IMEI install the dependencies it needs, since it already does this with other required dependencies? In any case, since this still didn't work, maybe something else is going on?

SoftCreatR commented 1 month ago

libavif-dev is an exception because it doesn't exist in Ubuntu 20.04. However, until now, there was no need to install it, because it worked out of the box. I don't know, what has changed tbh. However, I am already evaluating a manual compilation/installation of libavif, even though I don't like the idea.

However, I've tested it on a fresh Hetzner VPS without any problems :S

MoritzLost commented 1 month ago

@SoftCreatR Curious – our servers are on Ubuntu 22.04.1 and it still didn't work, even after the manual installation of libavif.

Anything else we can try, or any debugging info we can provide? I don't understand the toolchain well enough to understand what's missing unfortunately.

SoftCreatR commented 1 month ago

You should check the log file.

MoritzLost commented 1 month ago

@SoftCreatR Here are the two log files from the two runs of IMEI:

imei-1721119863.log imei-1721133125.log

The first one is from the first run before I installed libavif-dev, the second one after that. Nothing sticks out to me that would explain the problem, but I'm also not sure what to look for.

SoftCreatR commented 1 month ago

From the first log:

-- Checking for module 'libavif'
--   No package 'libavif' found

From the 2nd attempt:

-- Checking for module 'libavif'
--   Found libavif, version 0.9.3

If we ignore the fact, that 0.9.3 is pretty outdated, I don't see a problem here.

MoritzLost commented 1 month ago

@SoftCreatR That's the version that's available through the PPA on Ubuntu 22.04 … 

Any idea why AVIF is still missing even though it found the lib?

SoftCreatR commented 1 month ago

Any idea why AVIF is still missing even though it found the lib?

No, because I can't reproduce that.

MoritzLost commented 1 month ago

@SoftCreatR Hm, I'm at a loss :/ Not sure what else to try, since everything seems to be working fine and we're not getting any errors. Any idea what else we can try to get to the bottom of this?

s0ar commented 1 month ago

as a workaround, using the parameter --heif-version 1.17.6 enables imagemagick with heif/heic support

from the logs: checking for libheif >= 1.4.0... yes

(the log statement "No package 'libavif' found" was always the case for me, but having heic in the delegate library configuration lets me convert avif files)

SoftCreatR commented 1 month ago

Good catch. I'll try to find out, what's changed in libheif and/or AOM.

MoritzLost commented 1 month ago

@SoftCreatR @s0ar So if I'm reading this correctly, the issue might be related to the 1.18.0 release of libheif? That would definitely fit the timeline, as our problem only started after the time of this release.

SoftCreatR commented 4 weeks ago

@MoritzLost Could be, yes. So you could try

./imei.sh --force --libheif-version=1.17.6

/cc @jakobhaerter

MoritzLost commented 3 weeks ago

@SoftCreatR Thanks, we tried this and it does fix the issue!

Good to have a workaround, but of course not a permanent solution. I'm looking at the changelog of libheif, but I don't see anything that looks related to this. Not sure why the version jump would cause this issue. Any ideas?

SoftCreatR commented 3 weeks ago

Not yet.