Quantcast

Forums | MacLife

You are not logged in.

  • Index
  •  » Everyday Tech
  •  » Solution for undefined symbol _LLCStyleInfoCheckForOpenTypeTables

#1 2006-06-03 1:42 am

ischou
Member
Registered: 2006-06-03
Posts: 2

Solution for undefined symbol _LLCStyleInfoCheckForOpenTypeTables

(I orignally posted this solution to my own question on the Apple Support Forums, but I thought I'd share it here as well.)

All users that are still running Mac OS X 10.3.9 and are attempting to compile using the Quicktime Framework are probably familiar with the following link errors.

If you are running Quicktime 7.0.4:

Code:

ld: Undefined symbols:
_HICopyAccessibilityActionDescription referenced from QuickTime expected to be defined in Carbon
_HICopyAccessibilityRoleDescription referenced from QuickTime expected to be defined in Carbon
_LLCStyleInfoCheckForOpenTypeTables referenced from QuickTime expected to be defined in ApplicationServices
_LLCStyleInfoGetUserRunFeatures referenced from QuickTime expected to be defined in ApplicationServices

If you are running Quicktime 7.1 and Security Update 2006-003:

Code:

ld: Undefined symbols:
_LLCStyleInfoCheckForOpenTypeTables referenced from QuartzCore expected to be defined in ApplicationServices
_LLCStyleInfoGetUserRunFeatures referenced from QuartzCore expected to be defined in ApplicationServices

This problem is the result of Apple developers using 10.4 to compile their software and distributing the binaries to 10.3 users via Software Update. The undefined symbols are present in the 10.4 operating system, but not 10.3.  The previous solution is to downgrade to Quicktime 7.0.1.  Here is a better solution.

Obtain an older copy of the frameworks.  I've provided one at (hopefully this doesn't violate my Software License Agreement):
http://rapidshare.de/files/20281171/Com … s.tgz.html

What you will get is a compressed file that contains the Quicktime 7.0.1 Framework and a 10.3.9 QuartzCore Framework. I don't know the exact version of the QuartzCore Framework but it does work.

Uncompress the files somewhere that is not in your System folder. (ie. do not install these Frameworks into your /System/Library/Frameworks! They are only for getting around compiler errors!) For command-line weenies you can use the following command in the Terminal application:

Code:

gunzip < CompatFrameworks.tgz | tar xvf -

in your Makefiles you should add:

Code:

-F/path/to/where/you/extracted

Or in X-Code you can just select these Frameworks instead of the System ones.

Your resulting binary/application will actually use the framework that is installed on your system via dynamic links that are resolved at run-time.  (You can verify this using otool -l) I hope this helps. Hopefully this will spare all the QT, SDL, Emacs, MPlayer, TCL, Python, and SC developers and users a fair amount of grief.  Unfortunately this doesn't completely solve problems with fink/opendarwin ports that attempt to automate the build process.

Last edited by ischou (2006-06-03 11:37 am)

Offline

 

#2 2006-06-03 4:15 am

Tetrachloride
❖ ❖ ❖
Registered: 2001-01-29
Posts: 7150

Re: Solution for undefined symbol _LLCStyleInfoCheckForOpenTypeTables

Now this is a Mac user.

Somebody will find this useful.

Offline

 
  • Index
  •  » Everyday Tech
  •  » Solution for undefined symbol _LLCStyleInfoCheckForOpenTypeTables

Board footer

Powered by PunBB 1.2.6
© Copyright 2002–2005 Rickard Andersson