Bug #46177 Crashes on startup because of a dynamic linker error (Case-Sensitive filesystem)
Submitted: 14 Jul 2009 16:44 Modified: 15 Jul 2009 15:25
Reporter: Robert Iannucci Jr Email Updates:
Status: Duplicate Impact on me:
None 
Category:MySQL Workbench Severity:S1 (Critical)
Version:5.1.16 OS:MacOS (10.5.7)
Assigned to: CPU Architecture:Any

[14 Jul 2009 16:44] Robert Iannucci Jr
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.
[15 Jul 2009 10:31] Valeriy Kravchuk
Thank you for the detailed bug report, but this is actually a duplicate of bug #45869.
[15 Jul 2009 15:25] Robert Iannucci Jr
Ah ha! Well hopefully the dup will help other bug filers get more traction in the bug-search engine... Somehow I wasn't able to find it :(

Cheers!
Robbie