This error appeared when I recently switched ImageMagick6-nox11 to ImageMagick7-nox11 (switch performed via portmaster -o) : PHP Warning: PHP Startup: Unable to load dynamic library 'imagick.so' (tried: /usr/local/lib/php/20170718/imagick.so (Shared object "libMagickWand-6.so.5" not found, required by "imagick.so"), /usr/local/lib/php/20170718/imagick.so.so (Cannot open "/usr/local/lib/php/20170718/imagick.so.so")) in Unknown on line 0 Reinstalling faulty pecl-imagick module seems impossible as there might be a hard-dependency on ImageMagick 6. root@icecube BSD:/usr/ports/graphics/pecl-imagick # make reinstall clean ===> License PHP301 accepted by the user ===> php72-pecl-imagick-3.4.3_3 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by php72-pecl-imagick-3.4.3_3 for building ===> Extracting for php72-pecl-imagick-3.4.3_3 => SHA256 Checksum OK for PECL/imagick-3.4.3.tgz. ===> Patching for php72-pecl-imagick-3.4.3_3 ===> php72-pecl-imagick-3.4.3_3 depends on file: /usr/local/bin/phpize - found ===> php72-pecl-imagick-3.4.3_3 depends on package: autoconf>0 - found ===> php72-pecl-imagick-3.4.3_3 depends on package: pkgconf>=1.3.0_1 - found ===> php72-pecl-imagick-3.4.3_3 depends on shared library: libMagickWand-6.so - not found ===> Installing for ImageMagick6-nox11-6.9.10.14_1,1 ===> Registering installation for ImageMagick6-nox11-6.9.10.14_1,1 as automatic Installing ImageMagick6-nox11-6.9.10.14_1,1... pkg-static: ImageMagick6-nox11-6.9.10.14_1,1 conflicts with ImageMagick7-nox11-7.0.8.14_1 (installs files into the same place). Problematic file: /usr/local/bin/Magick++-config *** Error code 70 Stop. make[5]: stopped in /usr/ports/graphics/ImageMagick6-nox11 *** Error code 1 Stop. make[4]: stopped in /usr/ports/graphics/ImageMagick6-nox11 *** Error code 1 Stop. make[3]: stopped in /usr/ports/graphics/ImageMagick6-nox11 *** Error code 1 Stop. make[2]: stopped in /usr/ports/graphics/pecl-imagick *** Error code 1 Stop. make[1]: stopped in /usr/ports/graphics/pecl-imagick *** Error code 1 Stop.
As a temporary solution I quickly but dirtily solved it by doing this : root@icecube BSD:/usr/ports/graphics/pecl-imagick # diff -u Makefile.orig Makefile --- Makefile.orig 2018-11-25 23:57:07.299013000 +0100 +++ Makefile 2018-11-25 23:57:34.689319000 +0100 @@ -13,8 +13,8 @@ OPTIONS_DEFINE= X11 -X11_LIB_DEPENDS= libMagickWand-6.so:graphics/ImageMagick6 -X11_LIB_DEPENDS_OFF= libMagickWand-6.so:graphics/ImageMagick6-nox11 +X11_LIB_DEPENDS= libMagickWand-7.so:graphics/ImageMagick7 +X11_LIB_DEPENDS_OFF= libMagickWand-7.so:graphics/ImageMagick7-nox11 USES= php:pecl pkgconfig localbase Could be good to make this dependency a variable.
A commit references this bug: Author: mm Date: Tue Mar 19 00:01:16 UTC 2019 New revision: 496229 URL: https://svnweb.freebsd.org/changeset/ports/496229 Log: graphics/pecl-imagck: switch to ImageMagick 7 PR: 233522 Submitted by: Arnaud de Prelle <arnaud@pnzone.net> Changes: head/graphics/pecl-imagick/Makefile
This now conflicts with ImageMagick6 which is required by [0]# pkg query %rn-%rv ImageMagick6-6.9.10.22,1 libdmtx-0.7.4_11 pstoedit-3.70_9 php72-pecl-imagick-3.4.3_3 [0]# pstoedit and libdmtx in turn are required by [0]# pkg query %rn-%rv libdmtx-0.7.4_11 kf5-prison-5.56.0 [0]# pkg query %rn-%rv pstoedit-3.70_9 calligra-3.1.0_11 [0]# So this means that KDE and Calligra must not be installed for this upgrade to succeed. I think if changing this port, others which currently depend on ImageMagick6 should also be updated.
A commit references this bug: Author: mm Date: Wed Mar 20 09:34:16 UTC 2019 New revision: 496324 URL: https://svnweb.freebsd.org/changeset/ports/496324 Log: Switch pecl-imagick back to ImageMagick 6. There will be a slave port pecl-imagick-im7 with dependency on ImageMagick 7. PR: 233522 Changes: head/graphics/pecl-imagick/Makefile
Hi, This is not the right move imho. Default should be to use latest version of ImageMagick7 and adapt all deps. Currently ImageMagick6 depends on flawed openjpeg : ===>>> Starting build for ports that need updating <<<=== ===>>> Launching child to install graphics/pecl-imagick@php72 ===>>> All >> graphics/pecl-imagick@php72 (1/6) ===>>> Currently installed version: php72-pecl-imagick-3.4.3_4 ===>>> Port directory: /usr/ports/graphics/pecl-imagick@php72 ===>>> Starting check for build dependencies ===>>> Gathering dependency list for graphics/pecl-imagick@php72 from ports ===>>> Launching child to install graphics/ImageMagick6-nox11 ===>>> All >> php72-pecl-imagick-3.4.3_4 >> graphics/ImageMagick6-nox11 (2/6) ===>>> Port directory: /usr/ports/graphics/ImageMagick6-nox11 ===>>> Starting check for build dependencies ===>>> Gathering dependency list for graphics/ImageMagick6-nox11 from ports ===>>> Launching child to install graphics/openjpeg ===>>> All >> php72-pecl-imagick-3.4.3_4 >> graphics/ImageMagick6-nox11 >> graphics/openjpeg (3/6) ===>>> Port directory: /usr/ports/graphics/openjpeg ===>>> Starting check for build dependencies ===>>> Gathering dependency list for graphics/openjpeg from ports ===>>> Dependency check complete for graphics/openjpeg ===>>> All >> php72-pecl-imagick-3.4.3_4 >> graphics/ImageMagick6-nox11 >> graphics/openjpeg (3/6) ===> Cleaning for openjpeg-2.3.0_3 ===> openjpeg-2.3.0_3 has known vulnerabilities: openjpeg-2.3.0_3 is vulnerable: OpenJPEG -- integer overflow CVE: CVE-2018-5727 WWW: https://vuxml.FreeBSD.org/freebsd/5efd7a93-2dfb-11e9-9549-e980e869c2e9.html 1 problem(s) in the installed packages found. => Please update your ports tree and try again. => Note: Vulnerable ports are marked as such even if there is no update available. => If you wish to ignore this vulnerability rebuild with 'make DISABLE_VULNERABILITIES=yes' *** Error code 1 Stop. make: stopped in /usr/ports/graphics/openjpeg ===>>> make build failed for graphics/openjpeg ===>>> Aborting update ===>>> Update for graphics/openjpeg failed ===>>> Aborting update ===>>> Update for graphics/ImageMagick6-nox11 failed ===>>> Aborting update ===>>> Update for graphics/pecl-imagick@php72 failed ===>>> Aborting update ===>>> You can restart from the point of failure with this command line: portmaster <flags> graphics/pecl-imagick@php72 graphics/ImageMagick6-nox11 graphics/openjpeg security/py-cryptography@py27 misc/help2man www/nginx
So for now, I'll force using im7 wherever I can. i.e.: portmaster -o graphics/pecl-imagick-im7 php72-pecl-imagick-3.4.3_4
MARKED AS SPAM