Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
softwares:giocoso:macos [2026/02/03 20:49] hjrsoftwares:giocoso:macos [2026/02/03 21:24] (current) – [2.1 Installing ImageMagick] hjr
Line 112: Line 112:
 ...and, again, make sure you see some sort of response that mentions fontconfig and freetype. ...and, again, make sure you see some sort of response that mentions fontconfig and freetype.
  
-I emphasise: **you only do one of these three scenarios**Either things work first time, or they work with the imagemagick-full recipe. Failing either of those two, manually download an old binary version of ImageMagick and manually put it into a suitable folder, adjusting the system paths to let programs find it. It'**one** of these three recipesnot all of them!+Now, just to add icing on the cakeGiocoso will actually try to install //both// the imagemagick **and** the imagemagick-full packages onto your system. That //might// mean you end up with both present on the one system -and //then// the problem becomes which one will Giocoso try to use by default. That depends on the content of your /etc/paths fileIf you list /opt/homebrew/bin (or the 'standard' Homebrew binaries folder) **above** the weirder /opt/homebrew/opt/imagemagick-full/bin folder, then it'll be the **imagemagick** binary that gets found first when Giocoso asks to use it. If you list the 'weird' folder above the 'standard' oneGiocoso will find and use the -full version first.
  
 +So, here's a worked example (using Homebrew on Tahoe, a bang up-to-date scenario): I've got both imagemagick and imagemagick-full installed, thanks to Giocoso. Here's my paths file:
 +
 +  hjr@Howards-iMac ~ % cat /etc/paths 
 +  /opt/homebrew/bin
 +  /opt/homebrew/opt/imagemagick-full/bin
 +  /usr/local/bin
 +  /System/Cryptexes/App/usr/bin
 +  /usr/bin
 +  /bin
 +  /usr/sbin
 +  /sbin
 +
 +So which version will get used first? In this case, it'll be the "imagemagick" one:
 +
 +  hjr@Howards-iMac ~ % magick --version
 +  Version: ImageMagick 7.1.2-13 Q16-HDRI aarch64 23522 https://imagemagick.org
 +  Copyright: (C) 1999 ImageMagick Studio LLC
 +  License: https://imagemagick.org/license/
 +  Features: Cipher DPC HDRI Modules 
 +  Delegates (built-in): bzlib heic jng jpeg lcms ltdl lzma png tiff webp xml zlib zstd
 +  
 +Notice that the Delegates line //doesn't// mention fontconig: Giocoso will break in this environment, rather horribly, with warnings about not being able to read assorted fonts. So let me edit my /etc/paths to this:
 +
 +  /opt/homebrew/opt/imagemagick-full/bin
 +  /opt/homebrew/bin
 +  /usr/local/bin
 +  /System/Cryptexes/App/usr/bin
 +  /usr/bin
 +  /bin
 +  /usr/sbin
 +  /sbin
 +
 +Quit Terminal and re-launch and I'd hope that you would now expect the -full version of imagemagick to be found and used, right? Wrong!
 +
 +  hjr@Howards-iMac ~ % magick --version
 +  Version: ImageMagick 7.1.2-13 Q16-HDRI aarch64 23522 https://imagemagick.org
 +  Copyright: (C) 1999 ImageMagick Studio LLC
 +  License: https://imagemagick.org/license/
 +  Features: Cipher DPC HDRI Modules 
 +  Delegates (built-in): bzlib heic jng jpeg lcms ltdl lzma png tiff webp xml zlib zstd
 +  
 +Still the font-less version! The reason //this// happens is because Homebrew is too damned clever for its own good! It modifies //another// file which trumps the contents of the /etc/paths file: $HOME/.zprofile:
 +
 +   hjr@Howards-iMac ~ % cat .zprofile
 +   eval "$(/opt/homebrew/bin/brew shellenv zsh)"  
 +   
 +That "eval" line has the effect of bumping the ordinary Homebrew binaries to the front of the path, whatever /etc/paths may say. We therefore need to modify that file by adding the line:
 +
 +  export PATH="/opt/homebrew/opt/imagemagick-full/bin:$PATH"
 +  
 +...to the end of the file. That manually forces the -full version to the front of the path once more. Save the edited .zprofile, then quit terminal once more and launch a new one:
 +
 +  hjr@Howards-iMac ~ % magick --version
 +  Version: ImageMagick 7.1.2-13 Q16-HDRI aarch64 23522 https://imagemagick.org
 +  Copyright: (C) 1999 ImageMagick Studio LLC
 +  License: https://imagemagick.org/license/
 +  Features: Cipher DPC HDRI Modules OpenMP 
 +  Delegates (built-in): bzlib cairo fontconfig freetype gslib heic jng jp2 jpeg jxl...
 +  
 +Bingo! We have fontconfig support at last.
 +
 +I wish I could simplify this for you, but it //is// tricky and it all depends on the age of your operating system and the specific version of Homebrew you're using. If you are very lucky, a vanilla imagemagick install will have font support and will be at the front of the path by default: the simultaneous existence of an imagemagick-full install won't matter, because it's in a location that no-one will search for and Giocoso doesn't need.
 +
 +On more recent Homebrew and macOS versions, however, both versions will be present and the vanilla imagemagick will //not// have font support, which will break Giocoso. You therefore need to manipulate system paths to make the -full version searchable and discoverable and thus the one that Giocoso will use.
 +
 +This is definitely the sort of low-level shenanigans that Unix and Linux administrators eat for breakfast. It's unlikely to be appealing to a lot of Mac users, but there it is!
 ==== 2.2 Add Homebrew Binaries to Path ==== ==== 2.2 Add Homebrew Binaries to Path ====
 Assuming you finally get the correct response from ImageMagic, you need to make sure that the **/etc/paths** file knows how to find //all// the Homebrew binaries the Giocoso installation will pull in as dependencies. You do that with the command **sudo nano /etc/paths** and your job is to put the path to the Homebrew bin folder at the top of the list //if it's not already there//. This is again a version-dependent thing. On the latest macOS Tahoe, for example, Homebrew puts all the executables it installs into /opt/homebrew/bin and that's **not** in the paths listed in this file. On Monterey, though, Homebrew used to install into /usr/local/bin ...and that //is// already present in /etc/paths (probably!).  Assuming you finally get the correct response from ImageMagic, you need to make sure that the **/etc/paths** file knows how to find //all// the Homebrew binaries the Giocoso installation will pull in as dependencies. You do that with the command **sudo nano /etc/paths** and your job is to put the path to the Homebrew bin folder at the top of the list //if it's not already there//. This is again a version-dependent thing. On the latest macOS Tahoe, for example, Homebrew puts all the executables it installs into /opt/homebrew/bin and that's **not** in the paths listed in this file. On Monterey, though, Homebrew used to install into /usr/local/bin ...and that //is// already present in /etc/paths (probably!). 
  • softwares/giocoso/macos.txt
  • Last modified: 2026/02/03 21:24
  • by hjr