[tlbuild] 64 bit on Mac OS X
Jonathan Kew
jonathan at jfkew.plus.com
Wed May 27 04:28:53 CEST 2009
On 26 May 2009, at 18:33, Peter Breitenlohner wrote:
> On Mon, 25 May 2009, Richard Koch wrote:
>
>> Note that builders on other machines are having no trouble with 64
>> bit operation. But it is pretty clear why that is; the "fixed" type
>> is only defined on the Mac, and apparently in 64 bit, fixed is the
>> same thing as SInt32.
>>
>> Might you have a fix for this problem?
>
> Hi Dick, Jonathan,
>
> as far as I can see fixed is used only in XeTeXswap.h and sfnt.h.
> Since that
> seems to cause a name conflict, I'd say why not drop the typedef for
> fixed
> and replace it everywhere by le_int32. I would, however, prefer to
> have
> Jonathan's decision on that.
I think that's probably fine.
>> The other problem program is xdv2pdf. I suspect that this program
>> is only compiled on the Mac, ...
>
> Yes, xdv2pdf requires the Carbon Framework without any non-Mac
> substitute.
Indeed. xdv2pdf is a tool for rendering .xdv into .pdf via the Apple
graphics frameworks.
>> Compiling xdv2pdf produces a lot of warnings about deprecated
>> cString calls,
>
> Probably on all Mac platforms, not just Mac64. Correct?
I haven't been seeing these, though they aren't all that surprising;
asking a Cocoa string for its contents as a C string is unwise in
general, but in this case the strings invo
I suspect this is a relatively new deprecation, perhaps dependent on
the Apple gcc version being used.
>
>> and then the following errors:
>>
>> ../../../texk/xdv2pdf/xdv2pdf.cpp: In function 'FixedPoint
>> getGlyphVOrg(const nativeFont&, UInt16)':
>> ../../../texk/xdv2pdf/xdv2pdf.cpp:504: error:
>> 'ATSUGlyphGetIdealMetrics' was not declared in this scope
>> ../../../texk/xdv2pdf/xdv2pdf.cpp: At global scope:
>> ../../../texk/xdv2pdf/xdv2pdf.cpp:623: error: variable or field
>> 'readBitmapInfo' declared void
>> ../../../texk/xdv2pdf/xdv2pdf.cpp:623: error:
>> 'GraphicsImportComponent' was not declared in this scope
>> ../../../texk/xdv2pdf/xdv2pdf.cpp:623: error: expected primary-
>> expression before '*' token
>> ../../../texk/xdv2pdf/xdv2pdf.cpp:623: error: 'bi' was not
>> declared in this scope
>> In file included from /usr/include/dirent.h:65,
>> from /Users/koch/texlive2009/Build/source/texk/
>> kpathsea/c-dir.h:30,
>> from /Users/koch/texlive2009/Build/source/texk/
>> kpathsea/kpathsea.h:7,
>> from ../../../texk/xdv2pdf/xdv2pdf.cpp:934:
>> /usr/include/sys/dirent.h:89: error: expected declaration before
>> end of line
>
> Something has badly gone wrong here. Jonathan ???
xdv2pdf uses Mac OS X APIs that are not available in 64-bit.
>> I haven't decided whether to add 64 bit binaries,
I can't think of any strong reason to add them at this point; can you?
>> but even if not, I'm sure that some Mac users will get the sources
>> at the svn and try to make 64 bit binaries.
>
> If there are fundamental Mac64 problems we could skip building
> xdv2pdf for
> this platform.
Yes. It was written before the 64-bit application environments
existed, and it uses some APIs that Apple decided not to support in
that environment. Therefore, it would need some porting -- which is
not a priority, as xdvipdfmx is a better replacement for mainstream
use, and anyone who particularly needs the unique features of xdv2pdf
could use a 32-bit binary.
JK
More information about the tlbuild
mailing list