[phenixbb] Solving installation problems on network volumes in Yosemite

Chris Richardson Chris.Richardson at icr.ac.uk
Fri Jan 23 08:04:43 PST 2015

I thought I’d post this in case anyone has a similar problem in the future.  It’s taken me a couple of days of frustration to find the solution; maybe I can save someone else some pain.

This problem only occurs when trying to install Phenix on an NFS-mounted volume in OS X 10.x, Yosemite.  If this doesn’t apply to you (and I might be the only person doing this), you can happily ignore what follows.

The problem:

In an effort to save us from malware, OS X now adds a ‘quarantine’ attribute to downloaded files.  This includes tar and compressed tar files.  For most users the quarantine flag only really comes into play if the downloaded file is an application or installer package.

When Yosemite untars an archive with the quarantine attribute, it adds the quarantine attribute to every file it extracts from the archive.

This doesn’t present a problem if you’re extracting the archive to a local disk, or an AFP-mounted network volume.  If you’re extracting the archive to an NFS-mounted network volume, it can’t store the quarantine flag as a resource fork on the file itself.  Instead, it creates a ._<filename> file for each extracted file.

The Phenix installer doesn’t like having an install tree full of unexpected ._ files.  In some cases, such as where generate_henke_cpp.py tries to generate tables from all the files in a directory, it tries to read ._ files as normal files and dies.

The solution:

The solution is trivial once you know what the problem is.  Remove the quarantine attribute from the tar file before extracting its contents.  For example:

  xattr -d com.apple.quarantine phenix-installer-1.9-1692-mac-intel-osx-x86_64.tar.gz

Of course, if the Phenix installer could be modified so that it doesn’t die when it finds unexpected ._ files, that would be lovely.

Dr Chris Richardson :: Sysadmin, structural biology, icr.ac.uk

The Institute of Cancer Research: Royal Cancer Hospital, a charitable Company Limited by Guarantee, Registered in England under Company No. 534147 with its Registered Office at 123 Old Brompton Road, London SW7 3RP.

This e-mail message is confidential and for use by the addressee only.  If the message is received by anyone other than the addressee, please return the message to the sender by replying to it and then delete the message from your computer and network.

More information about the phenixbb mailing list