Bug 31398 - most recent imagemagick package does not have fftw delegate
Summary: most recent imagemagick package does not have fftw delegate
Status: RESOLVED FIXED
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: 8
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: QA Team
QA Contact:
URL:
Whiteboard: MGA8-64-OK
Keywords: advisory, validated_update
Depends on:
Blocks:
 
Reported: 2023-01-12 15:37 CET by Ian McDougall
Modified: 2023-01-24 09:00 CET (History)
4 users (show)

See Also:
Source RPM: imagemagick-7.1.0.52-1.1.mga8.tainted.src.rpm
CVE:
Status comment:


Attachments

Description Ian McDougall 2023-01-12 15:37:42 CET
Description of problem:
With imagemagick 7.0.10-57 from 1.mga8.tainted, I can use the FFT operators in imagemagick. If I let it upgrade to 7.0.10-52 from 1.1.mga8.tainted, this is no longer true, and "fftw" is not listed as a built-in delegate by imagemagick.

Version-Release number of selected component (if applicable):
imagemagick 7.0.10-57, 7.0.10.52
lib64magick-7Q16HDRI_8 7.0.10.57
lib64magick-7Q16HDRI_10 7.0.10.52

How reproducible:
I think it should be reproducible?

Steps to Reproduce:
1. Install most recent imagemagick
2. Run `$ magick test.png -fft -ift test_roundtrip.png` This should regenerate the original image.
3. `$ magick --version` should list fftw among the "built in" delegates.
Comment 1 Lewis Smith 2023-01-12 21:00:52 CET
Thank you for the report.

Version numbers are confused. For imagemagick we have/had:
7.0.10.57, 7.0.10.62, 7.1.0.52 [you probably meant this one]
And for the companion library:
lib64magick-7Q16HDRI_8, lib64magick-7Q16HDRI_9, lib64magick-7Q16HDRI_10
The correspondence being:
imagemagick: lib64magick-7Q16HDRI_8[== 7.0.10.57]
imagemagick: lib64magick-7Q16HDRI_9[== 7.0.10.62]
imagemagick: lib64magick-7Q16HDRI_10[== 7.1.0.52]
The base pkg or the library at fault?

imagemagick-7.1.0.52-1.1.mga8.tainted
 $ magick --version
Version: ImageMagick 7.1.0-52 Q16-HDRI x86_64 20549 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fontconfig freetype gslib gvc heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png ps raw rsvg tiff webp wmf x xml zlib
Compiler: gcc (10.4)

As you say, no fftw.

Assigning to Stig who is currently the principle maintainer for imagemagick.

Assignee: bugsquad => smelror
Summary: most recent package does not have fftw delegate => most recent imagemagick package does not have fftw delegate
Source RPM: imagemagick => imagemagick-7.1.0.52-1.1.mga8.tainted.src.rpm

Comment 2 Stig-Ørjan Smelror 2023-01-13 20:30:45 CET
Advisory
========

Updated to version 7.1.0.57 as a general bugfix release and also enabled FFTW.


References
==========
https://bugs.mageia.org/show_bug.cgi?id=31398


Files
=====

Uploaded to core/updates_testing

imagemagick-desktop-7.1.0.57-1.mga8
perl-Image-Magick-7.1.0.57-1.mga8           
lib64magick++-7Q16HDRI_5-7.1.0.57-1.mga8
lib64magick-devel-7.1.0.57-1.mga8
lib64magick-7Q16HDRI_10-7.1.0.57-1.mga8
imagemagick-7.1.0.57-1.mga8
imagemagick-doc-7.1.0.57-1.mga8

Uploaded to tainted/updates_testing

imagemagick-desktop-7.1.0.57-1.mga8.tainted
perl-Image-Magick-7.1.0.57-1.mga8.tainted
lib64magick++-7Q16HDRI_5-7.1.0.57-1.mga8.tainted
lib64magick-devel-7.1.0.57-1.mga8.tainted
lib64magick-7Q16HDRI_10-7.1.0.57-1.mga8.tainted
imagemagick-7.1.0.57-1.mga8.tainted
imagemagick-doc-7.1.0.57-1.mga8.tainted

from imagemagick-7.1.0.57-1.mga8.src.rpm

Assignee: smelror => qa-bugs

Comment 3 Len Lawrence 2023-01-13 23:35:01 CET
mga8, x64, tainted

$ rpm -q imagemagick
imagemagick-7.1.0.52-1.1.mga8.tainted
$ magick --version | grep fftw
$

Updated the packages.
$ rpm -q imagemagick
imagemagick-7.1.0.57-1.mga8.tainted
$ magick --version
Version: ImageMagick 7.1.0-57 (Beta) Q16-HDRI x86_64 20701 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc heic jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png ps raw rsvg tiff webp wmf x xml zlib
Compiler: gcc (10.4)

$ ll screenshot_2.png roundtrip.png
-rw-r--r-- 1 lcl lcl 465297 Jan 13 22:11 roundtrip.png
-rw-r--r-- 1 lcl lcl 343518 Oct  6  2017 screenshot_2.png
$ magick screenshot_2.png -fft -ift roundtrip.png
$ ll screenshot_2.png roundtrip.png
-rw-r--r-- 1 lcl lcl 465297 Jan 13 22:11 roundtrip.png
-rw-r--r-- 1 lcl lcl 343518 Oct  6  2017 screenshot_2.png
$ file *.png
roundtrip.png:    PNG image data, 588 x 588, 16-bit/color RGB, non-interlaced
screenshot_2.png: PNG image data, 470 x 588, 8-bit/color RGB, non-interlaced

The images appear to be identical apart from the increased width in the regenerated image.  The image has been extended to the right where it is pretty featureless.

$ magick Pluto_p_color2_enhanced.png -fft -ift roundtrip.png
$ file roundtrip.png Pluto_p_color2_enhanced.png 
roundtrip.png:               PNG image data, 2400 x 2400, 16-bit/color RGB, non-interlaced
Pluto_p_color2_enhanced.png: PNG image data, 2400 x 2400, 8-bit/color RGB, non-interlaced
The two files appear identical using display.

If the 16-bit colour enhancement is an expected side effect then this looks fine for the tainted versions.

CC: (none) => tarazed25

Comment 4 Len Lawrence 2023-01-13 23:50:19 CET
Shall run a few more general tests tomorrow.
Comment 5 Len Lawrence 2023-01-14 01:45:31 CET
mga8, x64

Moved to another machine and removed any tainted versions.
Installed the updates via qarepo.

$ magick --version
Version: ImageMagick 7.1.0-57 (Beta) Q16-HDRI x86_64 20701 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fftw fontconfig freetype gslib gvc jbig jng jp2 jpeg lcms lqr ltdl lzma openexr pangocairo png ps raw rsvg tiff webp wmf x xml zlib
Compiler: gcc (10.4)

$ magick STSCI-H-p1901a-q.png -fft -ift roundtrip.png
$ file STSCI-H-p1901a-q.png roundtrip.png
STSCI-H-p1901a-q.png: PNG image data, 8019 x 10287, 8-bit/color RGB, non-interlaced
roundtrip.png:        PNG image data, 10288 x 10288, 16-bit/color RGB, non-interlaced

The images looked identical apart from a blank border at the right for the roundtrip image, sufficient to render it as a square.

So, this is OK for the untainted versions.
Comment 6 Len Lawrence 2023-01-14 12:17:21 CET
Continuing this for untainted with some spot checks.

$ identify Ikapati.pgm
Ikapati.pgm PGM 614x614 614x614+0+0 8-bit Grayscale Gray 377011B 0.000u 0:00.003

$ mogrify -rotate 270 mandrill.ppm
$ display mandrill.ppm
$ mogrify -rotate 90 mandrill.ppm
$ display mandrill.ppm
The image was rotated in place and ended up in its original orientation.

$ convert TatianaMaslany.jpg -background grey44 -vignette 0x5 Maslany.png
The output image was displayed as an oval containing most of the original surrounded by a uniform grey background.

Hide text in an image:
$ convert -gravity center -size 640x120 label:"Good morning QA" message.png
$ display message.png
$ composite message.png SantaMaria.png -stegano +15+2 crater.png
$ display crater.png
The image has not changed.
$ convert -size 640x120+15+2 stegano:crater.png secret.png
$ display secret.png
Good morning QA

Resize an image and convert to a different type.
$ display diagonal_gradient.ppm 
$ identify diagonal_gradient.ppm 
diagonal_gradient.ppm PPM 400x200 400x200+0+0 16-bit sRGB 480017B 0.000u 0:00.000
$ convert -resize 250% diagonal_gradient.ppm gradient.png
$ identify gradient.png
gradient.png PNG 1000x500 1000x500+0+0 16-bit sRGB 109669B 0.000u 0:00.000
$ eom gradient.png

Create an image from scratch.
$ convert -size 60x500 gradient:'#FFF-#0FF' -rotate 90 -set colorspace HSB -colorspace RGB colourbar.jpg
$ display colourbar.jpg
Shows a rectangle with graduated colours.

Create an icon of a rose in a blue frame.
$ convert rose: -fill none -stroke navy -strokewidth 11 -draw 'rectangle 0,0 69,45' borderrose.jpg
Give the icon a bevelled look where the transparent border is imposed on the rose.
$ convert rose: -raise 5 framed_rose.png

Generate a montage of a set of images.
$ montage -adjoin LochArklet*.jpg lochs.png
Displays as a set of smaller images in a 3x2 frame.

No regressions so far.
Comment 7 Len Lawrence 2023-01-14 17:14:39 CET
For the tainted packages:

$ convert fuji.raw fuji.jpg
$ identify fuji.*fuji.jpg JPEG 4934x3296 4934x3296+0+0 8-bit sRGB 4.7359MiB 0.000u 0:00.000
fuji.raw RAW 4934x3296 4992x3296+6+0 16-bit sRGB 32.1953MiB 0.000u 0:00.004
The JPEG image displays perfectly.

$ display lochavon.jp2
$ convert lochavon.jp2 lochavon.pdf
$ gs lochavon.pdf
GPL Ghostscript 9.53.3 (2020-10-01)
Copyright (C) 2020 Artifex Software, Inc.  All rights reserved.
This software is supplied under the GNU AGPLv3 and comes with NO WARRANTY:
see the file COPYING for details.
Processing pages 1 through 1.
Page 1
>>showpage, press <return> to continue<<

No problems there.

`urpmq --whatrequires imagemagick` lists a2ps among other applications:
$ a2ps -o output bindoc
$ gs output
Displayed the input text in prettyprint format, 2 "pages" per page, ready for printing, 5 pages in all.
Running strace on the command did not help.
Tried mtpaint but again no evidence of imagemagick.
Tried other listed applications under strace but 'magick' never appears.  Taking it on faith then.

Anyway, it looks like the tainted version is in good shape and both versions can use the fftw module.

Whiteboard: (none) => MGA8-64-OK

Comment 8 Thomas Andrews 2023-01-15 16:19:31 CET
Validating. Advisory in Comment 2.

Keywords: (none) => validated_update
CC: (none) => andrewsfarm, sysadmin-bugs

Dave Hodgins 2023-01-24 02:29:01 CET

CC: (none) => davidwhodgins
Keywords: (none) => advisory

Comment 9 Mageia Robot 2023-01-24 09:00:08 CET
An update for this issue has been pushed to the Mageia Updates repository.

https://advisories.mageia.org/MGAA-2023-0008.html

Resolution: (none) => FIXED
Status: NEW => RESOLVED


Note You need to log in before you can comment on or make changes to this bug.