Topic: Replacing core ImageMagick with remi ImageMagick7 trouble
I don't think this is a problem with the Remi repo's, just a problem of mine trying to use them. I have a Centos 7.2 system managed by cPanel, with:
ImageMagick-6.7.8.9-15.el7_2.x86_64
My problem is that lcms is not installed as a delegate for Imagick, so any color profile conversions I try, fail, as mentioned at https://stackoverflow.com/questions/474 … ofile?rq=1
$ convert -list configure | grep DELEGATES
DELEGATES bzlib fontconfig freetype gs jpeg jng jp2 lzma openexr pango png rsvg tiff x11 xml wmf zlib
The solution is reported at https://forums.cpanel.net/threads/confi … 2.638349/:
"I just downloaded ImageMagick 7 rpms via cmd line wget, installed with yum, and then reinstalled the PECL Imagemagick extension wrapper and restarted php-fpm"
I think we should be able to use the Remi repositories to get the required software, no? So I installed (for the first time) the remi repo for Centos 7, and tried:
(Aplogies but when I use the <> code toolbar icon, I see "PUNBB is not defined" in the Console):
# yum remove ImageMagick
Loaded plugins: fastestmirror, universal-hooks
Resolving Dependencies
--> Running transaction check
---> Package ImageMagick.x86_64 0:6.7.8.9-15.el7_2 will be erased
--> Processing Dependency: ImageMagick = 6.7.8.9-15.el7_2 for package: ImageMagick-devel-6.7.8.9-15.el7_2.x86_64
--> Processing Dependency: ImageMagick = 6.7.8.9-15.el7_2 for package: ImageMagick-c++-6.7.8.9-15.el7_2.x86_64
--> Processing Dependency: libMagickCore.so.5()(64bit) for package: ImageMagick-devel-6.7.8.9-15.el7_2.x86_64
--> Processing Dependency: libMagickCore.so.5()(64bit) for package: ImageMagick-c++-6.7.8.9-15.el7_2.x86_64
--> Processing Dependency: libMagickCore.so.5()(64bit) for package: inkscape-0.92.2-2.el7.x86_64
--> Processing Dependency: libMagickWand.so.5()(64bit) for package: ImageMagick-devel-6.7.8.9-15.el7_2.x86_64
--> Processing Dependency: libMagickWand.so.5()(64bit) for package: ImageMagick-c++-6.7.8.9-15.el7_2.x86_64
--> Running transaction check
---> Package ImageMagick-c++.x86_64 0:6.7.8.9-15.el7_2 will be erased
---> Package ImageMagick-devel.x86_64 0:6.7.8.9-15.el7_2 will be erased
---> Package inkscape.x86_64 0:0.92.2-2.el7 will be erased
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================
Package Arch Version Repository Size
=======================================================================================
Removing:
ImageMagick x86_64 6.7.8.9-15.el7_2 @base 7.6 M
Removing for dependencies:
ImageMagick-c++ x86_64 6.7.8.9-15.el7_2 @base 527 k
ImageMagick-devel x86_64 6.7.8.9-15.el7_2 @base 435 k
inkscape x86_64 0.92.2-2.el7 @base 68 M
Transaction Summary
=======================================================================================
Remove 1 Package (+3 Dependent packages)
Installed size: 77 M
Is this ok [y/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Erasing : inkscape-0.92.2-2.el7.x86_64 1/4
Erasing : ImageMagick-devel-6.7.8.9-15.el7_2.x86_64 2/4
Erasing : ImageMagick-c++-6.7.8.9-15.el7_2.x86_64 3/4
Erasing : ImageMagick-6.7.8.9-15.el7_2.x86_64 4/4
Verifying : inkscape-0.92.2-2.el7.x86_64 1/4
Verifying : ImageMagick-6.7.8.9-15.el7_2.x86_64 2/4
Verifying : ImageMagick-devel-6.7.8.9-15.el7_2.x86_64 3/4
Verifying : ImageMagick-c++-6.7.8.9-15.el7_2.x86_64 4/4
Removed:
ImageMagick.x86_64 0:6.7.8.9-15.el7_2
Dependency Removed:
ImageMagick-c++.x86_64 0:6.7.8.9-15.el7_2
ImageMagick-devel.x86_64 0:6.7.8.9-15.el7_2
inkscape.x86_64 0:0.92.2-2.el7
Complete!
</code>
Then install ImageMagick7:
<code>
# yum --enablerepo=remi install ImageMagick7
Loaded plugins: fastestmirror, universal-hooks
Loading mirror speeds from cached hostfile
* EA4: 109.203.100.185
* cpanel-addons-production-feed: 109.203.100.185
* base: mirror.ox.ac.uk
* epel: mirror.bytemark.co.uk
* extras: mirrors.clouvider.net
* remi: mirror.netweaver.uk
* remi-safe: mirror.netweaver.uk
* updates: mirror.bytemark.co.uk
Resolving Dependencies
--> Running transaction check
---> Package ImageMagick7.x86_64 0:7.0.8.15-1.el7.remi will be installed
--> Processing Dependency: ImageMagick7-libs(x86-64) = 7.0.8.15-1.el7.remi for package: ImageMagick7-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libMagickWand-7.Q16HDRI.so.6(VERS_6.0)(64bit) for package: ImageMagick7-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libfftw3.so.3()(64bit) for package: ImageMagick7-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libMagickCore-7.Q16HDRI.so.6()(64bit) for package: ImageMagick7-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libMagickWand-7.Q16HDRI.so.6()(64bit) for package: ImageMagick7-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libraqm.so.0()(64bit) for package: ImageMagick7-7.0.8.15-1.el7.remi.x86_64
--> Running transaction check
---> Package ImageMagick7-libs.x86_64 0:7.0.8.15-1.el7.remi will be installed
--> Processing Dependency: libcdt.so.5()(64bit) for package: ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libcgraph.so.6()(64bit) for package: ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libgvc.so.6()(64bit) for package: ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libopenjp2.so.7()(64bit) for package: ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64
--> Processing Dependency: libraw.so.5()(64bit) for package: ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64
---> Package fftw-libs-double.x86_64 0:3.3.3-8.el7 will be installed
---> Package libraqm.x86_64 0:0.1.1-1.el7 will be installed
--> Running transaction check
---> Package LibRaw.x86_64 0:0.14.8-5.el7.20120830git98d925 will be installed
---> Package graphviz.x86_64 0:2.30.1-21.el7 will be installed
--> Processing Dependency: libXaw.so.7()(64bit) for package: graphviz-2.30.1-21.el7.x86_64
---> Package openjpeg2.x86_64 0:2.3.0-6.el7 will be installed
--> Running transaction check
---> Package libXaw.x86_64 0:1.0.13-4.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
=======================================================================================
Package Arch Version Repository
Size
=======================================================================================
Installing:
ImageMagick7 x86_64 7.0.8.15-1.el7.remi remi 82 k
Installing for dependencies:
ImageMagick7-libs x86_64 7.0.8.15-1.el7.remi remi 2.2 M
LibRaw x86_64 0.14.8-5.el7.20120830git98d925 base 250 k
fftw-libs-double x86_64 3.3.3-8.el7 base 759 k
graphviz x86_64 2.30.1-21.el7 base 1.3 M
libXaw x86_64 1.0.13-4.el7 base 192 k
libraqm x86_64 0.1.1-1.el7 epel 12 k
openjpeg2 x86_64 2.3.0-6.el7 epel 153 k
Transaction Summary
=======================================================================================
Install 1 Package (+7 Dependent packages)
Total download size: 4.9 M
Installed size: 17 M
Is this ok [y/d/N]: y
Downloading packages:
(1/8): LibRaw-0.14.8-5.el7.20120830git98d925.x86_64.rpm | 250 kB 00:00:00
warning: /var/cache/yum/x86_64/7/remi/packages/ImageMagick7-7.0.8.15-1.el7.remi.x86_64.rpm: Header V4 DSA/SHA1 Signature, key ID 00f97f56: NOKEY
Public key for ImageMagick7-7.0.8.15-1.el7.remi.x86_64.rpm is not installed
(2/8): ImageMagick7-7.0.8.15-1.el7.remi.x86_64.rpm | 82 kB 00:00:00
(3/8): fftw-libs-double-3.3.3-8.el7.x86_64.rpm | 759 kB 00:00:00
(4/8): graphviz-2.30.1-21.el7.x86_64.rpm | 1.3 MB 00:00:00
(5/8): libXaw-1.0.13-4.el7.x86_64.rpm | 192 kB 00:00:00
(6/8): libraqm-0.1.1-1.el7.x86_64.rpm | 12 kB 00:00:00
(7/8): openjpeg2-2.3.0-6.el7.x86_64.rpm | 153 kB 00:00:00
(8/8): ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64.rpm | 2.2 MB 00:00:01
---------------------------------------------------------------------------------------
Total 3.6 MB/s | 4.9 MB 00:01
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Importing GPG key 0x00F97F56:
Userid : "Remi Collet <RPMS@FamilleCollet.com>"
Fingerprint: 1ee0 4cce 88a4 ae4a a29a 5df5 004e 6f47 00f9 7f56
Package : remi-release-7.5-2.el7.remi.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-remi
Is this ok [y/N]: y
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : libraqm-0.1.1-1.el7.x86_64 1/8
Installing : fftw-libs-double-3.3.3-8.el7.x86_64 2/8
Installing : LibRaw-0.14.8-5.el7.20120830git98d925.x86_64 3/8
Installing : openjpeg2-2.3.0-6.el7.x86_64 4/8
Installing : libXaw-1.0.13-4.el7.x86_64 5/8
Installing : graphviz-2.30.1-21.el7.x86_64 6/8
Installing : ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64 7/8
Installing : ImageMagick7-7.0.8.15-1.el7.remi.x86_64 8/8
Verifying : ImageMagick7-7.0.8.15-1.el7.remi.x86_64 1/8
Verifying : graphviz-2.30.1-21.el7.x86_64 2/8
Verifying : fftw-libs-double-3.3.3-8.el7.x86_64 3/8
Verifying : libraqm-0.1.1-1.el7.x86_64 4/8
Verifying : libXaw-1.0.13-4.el7.x86_64 5/8
Verifying : openjpeg2-2.3.0-6.el7.x86_64 6/8
Verifying : LibRaw-0.14.8-5.el7.20120830git98d925.x86_64 7/8
Verifying : ImageMagick7-libs-7.0.8.15-1.el7.remi.x86_64 8/8
Installed:
ImageMagick7.x86_64 0:7.0.8.15-1.el7.remi
Dependency Installed:
ImageMagick7-libs.x86_64 0:7.0.8.15-1.el7.remi
LibRaw.x86_64 0:0.14.8-5.el7.20120830git98d925
fftw-libs-double.x86_64 0:3.3.3-8.el7
graphviz.x86_64 0:2.30.1-21.el7
libXaw.x86_64 0:1.0.13-4.el7
libraqm.x86_64 0:0.1.1-1.el7
openjpeg2.x86_64 0:2.3.0-6.el7
Complete!
</code>
But as soon as I restarted httpd I could not instantiate the Imagick class:
[09-Dec-2018 13:10:35 UTC] PHP Fatal error: Class 'Imagick' not found in /home/xxx/xxx/xxx.php on line xxx
Fortunately the lcms delegate was now found by the command line tools, where it was not before:
$ convert -list configure | grep DELEGATES
DELEGATES bzlib djvu mpeg fftw fontconfig freetype gslib jbig jng jpeg lcms lzma openexr openjp2 pango png ps raw raqm rsvg tiff webp wmf x xml zlib
But, as the PHP code cannot instantiate Imagick, the system is useless.
I was able to `yum remove ImageMagick7` and `yum install ImageMagick` and the system started working again.
Is my problem to do with the PECL manager, so after installing the remi ImageMagick7 package I just need some other command line commands to enable the PHP bindings, or are there some other RPM packages I'm missing? I've queried the current system and there aren't any packages with "pecl" in their name at all.