Description:
Double clicking on the MySQLWorkbench.app bundle results in an immediate program crash. Details of the crash are:
// BEGIN
...
Dyld Error Message:
Library not loaded: @executable_path/../Plugins/db.mysql.sqlide.grt.dylib
Referenced from: /Applications/MySQLWorkbench.app/Contents/MacOS/MySQLWorkbench
Reason: image not found
// END
Renaming the 'PlugIns' folder to 'Plugins' results in:
// BEGIN
Dyld Error Message:
Library not loaded: @executable_path/../PlugIns/db.mysql.sqlparser.grt.dylib
Referenced from: /Applications/MySQLWorkbench.app/Contents/MacOS/MySQLWorkbench
Reason: image not found
// END
Running `otool -L /Applications/MySQLWorkbench.app/Contents/MacOS/MySQLWorkbench | grep -i plugins` results in:
// BEGIN
@executable_path/../PlugIns/db.mysql.sqlparser.grt.dylib (compatibility version 1.0.0, current version 1.0.0)
@executable_path/../Plugins/db.mysql.sqlide.grt.dylib (compatibility version 1.0.0, current version 1.0.0)
// END
Although HFS+ (Case-sensitive) is not the default on OSX, it is an install-time option, and some developers (such as myself), use it to be compatible with *nix-type default filesystems (although it means we run into these, and related problems)
How to repeat:
1. Install MySQL workbench on an HFS+ (Case-sensitive) formatted drive (could be a removable drive or USB flash drive too).
2. Double click on the workbench
3. Boom
Suggested fix:
In the linking steps for the workbench, reference all dynamic libraries with the correctly-cased path (i.e. PlugIns OR Plugins, but not both).
It may also be worth it to check all of the other resource paths for case-parity (images, stylesheets, etc.), which may not result in a loadtime error, but could be absent or cause exceptions at runtime.
The easiest way to do this would be to `svn co` the project to an HFS+ (Case-sensitive) thumbdrive, and try to compile+run it.