[fpc-devel] Problems with building x86_64 on darwin

Jonas Maebe jonas.maebe at elis.ugent.be
Mon Nov 25 22:42:27 CET 2013


On 25 Nov 2013, at 22:33, Andrew Brunner wrote:

> On 11/25/13, 2:56 PM, Jonas Maebe wrote:
>> On 25 Nov 2013, at 21:28, Andrew Brunner wrote:
>> 
>>> --------- FPC BUILD PROBLEMS------------
>>> Trying to build my svn/fpc/trunk version
>>> 
>>> make all OPT="-O-" DEBUG=1 OS_TARGET=darwin CPU_TARGET=x86_64 PP=/usr/local/lib/fpc/2.6.2/ppcx64
>>> 
>>> /usr/local/lib/fpc/2.6.2/ppcx64 -dNOMOUSE -Ur -dFPC_USE_LIBC -gl -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../unix -Fi../bsd -Fi../bsd/i386 -Fi../darwin/i386 -FE. -FU/Developer/FPC/rtl/units/i386-darwin -O- -di386 -dDEBUG -dRELEASE -Us -Sg ../bsd/system.pp
>>> system.inc(171,4) Fatal: Can't open include file "x86_64.inc"
>>> Fatal: Compilation aborted
>>> make[5]: *** [system.ppu]
> 
> make all OPT="-O-" DEBUG=1 OS_TARGET=darwin CPU_TARGET=x86_64 PP=/usr/local/lib/fpc/2.6.2/ppc386 works perfectly.  Why doesn't ppcx64 work at all?

Using simply wrong hyperboles is not productive. I explained in my previous message, which you quoted below, why you cannot use a cross-compiler (such as the ppcx64 included with FPC releases on Mac OS X) to build FPC from trunk without using a special make option, and which exact make option you have to add so that it does work. Alternatively, use a cross-compiler like the one you built above. It's x86-64 binaries will be exactly the same as the ones generated by a native x86-64 compiler.

>>> ------------Lazarus Build Problems------------
>> That's because ppcx64 on Mac OS X is an i386->x86-64 cross-compiler and the Makefiles are not designed for bootstrapping with cross-compilers. You can work around it by adding CPU_SOURCE=x86_64, but you can just as well build a new cross-compiler.
> I just need something that works.  It's a goal to have 64bit support for my downloads.  I like to have a 64bit build of FPC like on Linux.

If you just need something that works, use the cross-compiler. If you want a native 64 bit build, you can create one as shown above.


Jonas




More information about the fpc-devel mailing list