Argyll Installation on Apple OS X

# Installing the software on Apple OS X

You will need to unpack the downloaded file in such a way that the files it contains end up in the location you have chosen to hold its contents.
If you want to install it system wide, then you probably want to unpack it in the /Applications folder, so that it ends up in the /Applications/Argyll_VX.X.X folder.
Another option is just to install it somewhere under your $HOME folder, such as $HOME/Argyll_VX.X.X or $HOME/bin/Argyll_VX.X.X, depending on how you like to organize your applications and utility programs. ($HOME is the shell symbolic name for your home folder, typically /Users/username. Another abbreviation for it is the ~ character.)
You can unpack it by control-click on the downloaded file and “Open With” BOMArchiveHelper or Archive Utility. Drag the resulting folder to where you want it, e.g. into /Applications, $HOME or $HOME/bin.
Alternatively you can unpack it on the command line using the command tar -zxf archivename.tgz, which will create a folder Argyll_VX.X.X in your current folder, where X.X.X is the version number, and the executables will be in Argyll_VX.X.X/bin sub-folder.
Open a Terminal shell. This will be in Applications->Utilities->Terminal (Dragging it to the dock is a good idea to make it more accessible).
You should configure your $PATH environment variable to give the shell access to the executable from your command line environment without having to spell out the whole path every time, by editing your .profile file, which will be in your $HOME folder. You can open a graphical editor on this file by using the open command:
open $HOME/.profile
or alternatively, use some other text editor that you are familiar with.
Add a line similar to the following line to your .profile file:
PATH=$PATH:/Applications/Argyll_VX.X.X/bin
where "/Applications/Argyll_VX.X.X/bin" is the path to the folder that contains the ArgyllCMS executables.
Save your changes and exit the editor.
You may have to mark the executable as "safe to run" by running the following command in the ArgyllCMS bin directory:
xattr -d com.apple.quarantine *
If you want further guidance in setting up and using a command line environment, then please consult an appropriate tutorial, e.g. <ShellIntro>.
The .tgz file also contains several useful reference files (such as scanner chart recognition templates, sample illumination spectrum etc.) in the ref sub-folder, as well as all the current documentation in a doc sub-folder.
For most devices there is nothing special to do. Plug in and go. Some devices may not work without some extra help though:

### X-Rite ColorMunki

Some version of X-Rite's ColorMunki drivers released between 2009 and 2011 install an X-Rite daemon that runs as root and grabs the device, preventing any other programs (such as Argyll) from opening them. Latter versions seem to be more cooperative, and don't suffer from this problem. There are three ways of working around this problem:
1) Turn off the X-Rite service for the ColorMunki. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
2) Run all Argyll programs that need to access the instrument as root. For instance:
sudo spotread
and then you will be asked for the root password.
While these methods will work, they are inconvenient.
3) Alter the X-Rite drivers Daeomon so that it runs under your user account.
To do this you need to edit the script that controls the X-Rite Daemon.
cd ~
whoami
cp /Library/LaunchDaemons/com.xrite.device.colormunki.plist temp.plist
open temp.plist
and add one child below the root:
Item Type Value
UserName string myusername
where "myusername" is your username shown by whoami, and save the file. You then need to copy the modified file back:
sudo cp temp.plist /Library/LaunchDaemons/com.xrite.device.colormunki.plist
You will then need to restart the machine for this change to take effect, or invoke the following commands:
sudo launchctl unload /Library/LaunchDaemons/com.xrite.device.colormunki.plist
sudo launchctl load /Library/LaunchDaemons/com.xrite.device.colormunki.plist
NOTE that after running Argyll tools, you may have to turn the X-Rite service off then on again, or disconnect and reconnect the instrument.

### X-Rite EyeOne Pro

Some version of X-Rite's EyeOne Pro drivers drivers released between 2009 and 2011 install an X-Rite daemon that runs as root and grabs the device, preventing any other programs (such as Argyll) from opening them. Latter versions seem to be more cooperative, and don't suffer from this problem. There are three ways of working around this problem:
1) Turn off the X-Rite service for the EyeOne Pro. See <http://www.xrite.com/product_overview.aspx?ID=1161&Action=support&SupportID=4980>.
2) Run all Argyll programs that need to access the instrument as root. For instance:
sudo spotread
and then you will be asked for the root password.
While these methods will work, they are inconvenient.
3) Alter the X-Rite drivers Daemon so that it runs under your user account.
To do this you need to edit the script that controls the X-Rite Daemon.
cd ~
whoami
cp /Library/LaunchDaemons/com.xrite.device.i1.plist temp.plist
open temp.plist
and add one child below the root:
Item Type Value
UserName string myusername
where "myusername" is your username shown by whoami, and save the file. You then need to copy the modified file back:
sudo cp temp.plist /Library/LaunchDaemons/com.xrite.device.i1.plist
You will then need to restart the machine for this change to take effect, or invoke the following commands:
sudo launchctl unload /Library/LaunchDaemons/com.xrite.device.i1.plist
sudo launchctl load /Library/LaunchDaemons/com.xrite.device.i1.plist
NOTE that after running Argyll tools, you may have to turn the X-Rite service off then on again, or disconnect and reconnect the instrument.

### JETI specbos and Klein K10A

If you are using the JETI specbos 1211, 1201, 1511, 1501, 25x1 and the Klien K10A then you may need to install the FTDI Virtual COM Port Drivers (VCP), if they are not already on your system. You may have to update to the latest FTDI driver to work with the FTDI FT231XS chip that the JETI specbos 1511, 1501 & 25x1 use.

### HCFR Colorimeter

The default OS X class drivers will grab this device, preventing Argyll from accessing it. To overcome this, you need to install a codeless kernel extension if you wish to use the HCFR colorimeter, that prevents this from happening. From the command line you need to create a folder called Argyll.kext somewhere convenient, and then place in it one file called Info.plist, containing the following:
----------------- cut here ---------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key> <string>English</string>
<key>CFBundleGetInfoString</key> <string>Libusb USB device Shield</string>
<key>CFBundleIdentifier</key> <string>com.libusb.USB_Shield</string>
<key>CFBundleInfoDictionaryVersion</key> <string>6.0</string>
<key>CFBundleName</key> <string>Libusb USB device Shield</string>
<key>CFBundlePackageType</key> <string>KEXT</string>
<key>CFBundleSignature</key> <string>????</string>
<key>CFBundleVersion</key> <string>6.0</string>
<key>IOKitPersonalities</key>
<dict>
<key>HCFR</key>
<dict>
<key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBComposite</string>
<key>IOClass</key> <string>AppleUSBComposite</string>
<key>IOProviderClass</key> <string>IOUSBDevice</string>
<key>idVendor</key> <integer>1243</integer>
<key>idProduct</key> <integer>91</integer>
</dict>
</dict>
<key>OSBundleCompatibleVersion</key> <string>1.8</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.kernel.iokit</key> <string>6.0</string>
</dict>
</dict>
</plist>
----------------- cut here ---------------------
(You can also copy this from the source installation in usb/Argyll.kext)
You then need to install it by using:
sudo cp -R Argyll.kext /System/Library/Extensions
supplying the appropriate root password when prompted.
Reboot the system to activate the extension.