On 9/28/20 12:39 AM, Ryan Schmidt wrote:
On Sep 27, 2020, at 18:20, Uli Wienands wrote:
Being curious, and just having received my first .HEIC image ever (form a guy with
an iPhone), I upgraded ImageMagic to the present version (worked) and then tried
it: It failed. Here are the call & the error message:
macbook-pro:Pictures uli$ convert IMG_3160.HEIC img_3160.png
convert: unable to load module
`/opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.la': file not found
@ error/module.c/OpenModule/1315.
convert: no decode delegate for this image format `HEIC' @
error/constitute.c/ReadImage/566.
convert: no images defined `img_3160.png' @
error/convert.c/ConvertImageCommand/3226.
The weird thing is that
/opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.la actually exists,
and so are the four related libraries in /opt/local/bin:
/opt/local/lib/libheif.1.dylib /opt/local/lib/libheif.a
/opt/local/lib/libheif.dylib /opt/local/lib/libheif.la
So, what could be amiss?
Not sure! I tried converting some heic images now and it worked fine for me on
macOS 10.13.6.
What's the contents of
/opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.la?
Does /opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.so also exist?
What's the output of:
otool -L /opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.so
What OS version are you on? You mentioned /opt/local/lib/libheif.la exists. The default
behavior for MacPorts is to delete .la files* on OS X 10.9 and later. If you are on 10.8
or earlier, maybe there is a problem specific to older OS versions that we need to
investigate. The only reason why you should have /opt/local/lib/libheif.la if you're on
10.9 or later is if you edited macports.conf and set "delete_la_files no".
*ImageMagick is an exception. It needs the .la files of its modules for proper
operation so they will not be deleted for that port on any OS version.
Hmm... I tried this:
macbook-pro:Pictures uli$ ar -t
/opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.la
ar: /opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.la:
Inappropriate file type or format
Did I do it wrong? it's a long time since I wrote programs...
macbook-pro:Pictures uli$ otool -L
/opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.so
/opt/local/lib/ImageMagick-6.9.11/modules-Q16/coders/heic.so:
/opt/local/lib/libMagickCore-6.Q16.6.dylib (compatibility version
7.0.0, current version 7.0.0)
/opt/local/lib/liblcms2.2.dylib (compatibility version 3.0.0,
current version 3.8.0)
/opt/local/lib/libfftw3.3.dylib (compatibility version 9.0.0,
current version 9.8.0)
/opt/local/lib/libxml2.2.dylib (compatibility version 12.0.0,
current version 12.10.0)
/opt/local/lib/libfontconfig.1.dylib (compatibility version 14.0.0,
current version 14.0.0)
/opt/local/lib/libfreetype.6.dylib (compatibility version 24.0.0,
current version 24.1.0)
/opt/local/lib/libXext.6.dylib (compatibility version 11.0.0,
current version 11.0.0)
/opt/local/lib/libSM.6.dylib (compatibility version 7.0.0, current
version 7.1.0)
/opt/local/lib/libICE.6.dylib (compatibility version 10.0.0,
current version 10.0.0)
/opt/local/lib/libX11.6.dylib (compatibility version 10.0.0,
current version 10.0.0)
/opt/local/lib/libXt.6.dylib (compatibility version 7.0.0, current
version 7.0.0)
/opt/local/lib/liblzma.5.dylib (compatibility version 8.0.0,
current version 8.5.0)
/opt/local/lib/libbz2.1.0.dylib (compatibility version 1.0.0,
current version 1.0.8)
/opt/local/lib/libz.1.dylib (compatibility version 1.0.0, current
version 1.2.11)
/opt/local/lib/libltdl.7.dylib (compatibility version 11.0.0,
current version 11.1.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 125.2.11)
/opt/local/lib/libheif.1.dylib (compatibility version 8.0.0,
current version 8.2.0)
And I am on OS X 10.6.8 on this machine; forgot to say that upfront.
So maybe I have to go back to the .la library & see what is wrong there.