Submit Hint Search The Forums LinksStatsPollsHeadlinesRSS
14,000 hints and counting!

10.4: Fix some broken Carbon apps on case-sensitive HFS System
Tiger only hintCarbon apps can break in Tiger when using the case-sensitive file system. This is very, very bad. Take a Carbon installer, such as one used for installing the Palm desktop. That breaks completely, and not even this hint can fix it. I needed it so badly (iSync does not have the "alphaword" conduit) that I had to reinstall Tiger with the non-case-sensitive file system.

All Carbon applications refer to the Carbon framework in some way. However, they used to be able to be totally case insensitive. Putting caRbON.fRAMeWORK in your code would get the same thing as Carbon.Framework. However, now that there is a case-sensitive version of the HFS system, some Carbon apps are coming across problem. Take ChitChat X, done in Realbasic. It would not load. Double-clicking would result in the Dock icon bouncing once or twice, then closing as if it hadn't been opened. Here is the log:
dyld: Library not loaded: /System/Library/Frameworks/Carbon.Framework/Carbon
  Referenced from: /Applications/ChitChat Source v85/ChitChat X.app/Contents/
   MacOS/ChitChat X
  Reason: image not found
May 18 17:22:14 Chaim crashdump[1452]: ChitChat X crashed
May 18 17:22:14 Chaim crashdump[1452]: crash report written to:
  /Users/ldmiotto/Library/Logs/CrashReporter/ChitChat X.crash.log
Woah! Take a look at that first line! It can't load Carbon.Framework. Why? Simple. In the old case-insensitive version of HFS+, Carbon.Framework referenced this: Carbon.framework, which is what is included by default. However, in this case-sensitive file system, Carbon.Framework tries to find Carbon.Framework, not Carbon.framework. I had to make a copy of Carbon.framework, and rename it to Carbon.Framework for ChitChat X to work.

But as said above, the ultimate fix is to NOT use the case sensitive file system. Oh, and one more thing. When using the case-sensitive system, you cannot boot into os 9 ... and if you use a CD, the hard disk will not mount. Classic under OS X still works, however.

Summary: Find which capitalizations the Carbon apps uses, duplicate the Carbon lib, rename it so the capitalizations are correct, reboot, go.
    •    
  • Currently 1.00 / 5
  • 1
  • 2
  • 3
  • 4
  • 5
  (1 vote cast)
 
[9,633 views]  

10.4: Fix some broken Carbon apps on case-sensitive HFS | 9 comments | Create New Account
Click here to return to the '10.4: Fix some broken Carbon apps on case-sensitive HFS' hint
The following comments are owned by whoever posted them. This site is not responsible for what they say.
10.4: Fix some broken Carbon apps on case-sensitive HFS
Authored by: artntek on Jun 07, '05 10:48:58AM
>> Summary: ...duplicate the Carbon lib, rename it so the capitalizations are correct... Instead of duplicating the Carbon lib, it might be a better idea to create a symlink; eg:
sudo ln -s /System/Library/Frameworks/Carbon.Framework /System/Library/Frameworks/Carbon.framework
That way, if the original Carbon library ever gets updated/changed, the changes will automatically propagate.

[ Reply to This | # ]
10.4: Fix some broken Carbon apps on case-sensitive HFS
Authored by: englabenny on Jun 07, '05 12:03:48PM
also, to not touch /System at all, this should also work

ln -s /System/Library/Frameworks/Carbon.Framework /Library/Frameworks/Carbon.framework


[ Reply to This | # ]
10.4: Fix some broken Carbon apps on case-sensitive HFS
Authored by: HarleyDog on Jun 08, '05 09:33:10AM

I need help. I'm a novice. Can anyone tell me step by step in layman's terms how I would repair this problem ? Please!



[ Reply to This | # ]
10.4: Fix some broken Carbon apps on case-sensitive HFS
Authored by: CatOne on Jun 07, '05 10:51:54AM

This is one of the reasons why case-sensitive HFS is not a supported file system for an install volume, per Apple.

I said it on the previous post on this topic, and I'll say it again: For a boot volume, you should use the supported option, which is HFS+ (journaled). You'll just have some inconveniences here and there, and some might be major. Developers likely won't test on case-sensitive HFS+.



[ Reply to This | # ]
10.4: Fix some broken Carbon apps on case-sensitive HFS
Authored by: november on Jun 07, '05 01:10:40PM

With tiger, I orignially reformatted my powerbook drive as case sensitve. It worked fine for a couple days, but when I couldn't install Macromedia Director or World of Warcraft, and Adium started acting funny, I had to reformat.

I wish Apple had made it more clear that case-sensitve HFS was not recommended.



[ Reply to This | # ]
10.4: Fix some broken Carbon apps on case-sensitive HFS
Authored by: ssgelm on Jun 07, '05 04:45:12PM

Actually, that's only true for non-server installations. For Tiger server, the default option is case-sensitive.



[ Reply to This | # ]
UFS is supported for boot volumes, too!
Authored by: Uli Zappe on Jun 08, '05 12:29:07AM
UFS is supported for boot volumes, too, so even if you stick to (as you call it) "supported" formats, you might still format your boot disk with a case-sensitive format. (Of course, HFS+ case-sensitive is also supported, it just doesn't show up in the Installer GUI.)

In other words: the only real solution to this problem is to bug each and every developer who is unable to capitalize correctly until they finally get this right. Programming languages are case-sensitive, anyway, so this is pure carelessness on the developer's part! So far, I have contacted more than 10 developers (big and small) and had them fix their code successfully. The more users do this, the faster all Mac OS X apps will run on case-sensitive file systems.

BTW, this is no Carbon-specific problem. The most famous example of a Cocoa app that didn't work correctly on a case-sensitive file system might well be Keynote 1.x - by no less than Apple itself ... (Keynote 1.x could not read its own templates because of a capitalization inconsistency).

[ Reply to This | # ]

XCode should warn about capitalisation errors
Authored by: voldenuit on Jun 09, '05 12:15:07AM

It would be really great if XCode threw warnings whenever capitalisation errors are made.
HFS being finally case-sensitive is a big step to even more portability of code and there is really no point at all to have that advantage ruined by sloppy programmers.



[ Reply to This | # ]
10.4: Fix some broken Carbon apps on case-sensitive HFS
Authored by: silicontrip on Jun 07, '05 07:57:49PM

I had this exact same problem about 5 years ago when I installed 10.0 using UFS.

I had problems with installing Toast at the time.
Under FreeBSD the tool to debug these type of problems is called ktrace. Unfortunately 10.0 did not have ktrace enabled. (ktrace is enabled in current versions of OSX)

By using ktrace to run the Application, it leaves a dump file which can be viewed by kdump. By looking for results of the open command you can see what the application is trying to open. If there is an error on what appears to be a system file. You can create the required symbolic link as stated in other posts.

This works seemlessly if the application is a native Cocoa (Mach-o) application but for Carbon Apps, you need to use CFMLauncher to run them. Using the "open" command doesn't work since open forks and cannot be traced.

For 10.0 I ended up using a utility called fs_usage, found the file that Toast was looking for, posted the fix in the Toast Forum and a week later there was an official update that also fixed the problem.



[ Reply to This | # ]