Open source software that isn’t signed by an identified developer can cause headaches upgrading it on OSX. While working with the Arduino Due the first time, I downloaded 1.5 Beta of the Arduino IDE and ran into this error:
“Arduino is damaged and can’t be opened. You should move it to the Trash.
Here’s why you see the “… is damaged and can’t be opened” dialog and how to fix it.
Apple introduced Gatekeeper with Mac OSX 10.8, Mountain Lion. Depending on your security settings, different kinds of software may or may not be able to run. For the digitally-challenged, this setting can help prevent Malware from spreading. There isn’t a control panel called “Gatekeeper”, instead, these options are in the “General” tab of the “Security & Privacy” panel:
- Mac App Store
- Mac App store and identified developers
The default setting for Mountain Lion is #2. There is a a workaround for unsigned software when using level 2. Right-click on the App’s icon, select “open”, then confirm with the dialog’s “Open” button. Since much open source software is compiled from unsigned developers this workaround comes in handy.
Unfortunately, like in the case of the Arduino IDE, this is problematic when you download a new version of the application bundle. That’s when Gatekeeper gets in the way. Since the previous version’s bundle was already signed locally, Gatekeeper is concerned because the new bundle’s signature doesn’t match.
How to Fix Arduino is Damaged
Fixing this error is relatively easy and applies to any unsigned software that you trust.
Obviously the Application isn’t damaged. Since I trust the software, in this case, I wanted to find a way to get the software running.
Step 1: Turn Gatekeeper Off (Temporarily)
- Go to System Preferences, then Security & Privacy
- Unlock the control panel
- Change “Allow applications downloaded from:” to “Anywhere”
Step 2: Launch Arduino
These steps apply to any software giving you problems. So if it is not Arduino.app, then launch whatever App it is for your case.
Step 3: Turn Gatekeeper Back On
- Change the setting back to “Mac App Store and identified developers”
This setting / workaround should be persistant until your next upgrade.