[fpc-pascal] Cross Compile : treefilteredit.pas(60, 60) Error: Illegal expression

Jonas Maebe jonas.maebe at elis.ugent.be
Mon May 19 13:43:18 CEST 2014


On 19 May 2014, at 12:33, Luca Olivetti wrote:

>> treefilteredit.pas(60,60) Error: Illegal expression
>> treefilteredit.pas(60,60) Error: Error in type definition
>> treefilteredit.pas(60,60) Fatal: Syntax error, ">" expected but ""  
>> found
>
> I have the same error, but with fpc 2.6.4, Lazarus 1.2.2.

This happens if the RTL is built with a cross-compiler and a program  
is then built with a native compiler, or if the RTL is built with a  
native compiler and the program is built with a native compiler. This  
bug is present in FPC 2.6.x, but not in 2.7.x. I don't know in which  
revision it was fixed.

> I didn't see a solution in this (old) thread.
> I installed fpc from the rpm and buili the cross compiler x86_64->i386
> following the instructions here:
>
> http://wiki.lazarus.freepascal.org/Cross_compiling#From_Linux_x64_to_Linux_i386

The problem is that the "make install" does not force a cross  
installation, and therefore it will install a native ppc386 compiler  
as opposed to a ppcross386 cross-compiler (and it will overwrite all  
FPC utilities in /usr/bin with i386 versions). You have to use "make  
crossinstall" instead of "make install" to force a cross-installation.  
This is generally not required when going from one architecture to  
another, but with x86 machines capable of running both x86-64 and  
i386, it is (and it's always a good idea to use it when performing a  
cross-installation, as it makes your intention clear rather than  
relying on auto-detection features of the makefile to determine what  
you mean).

To solve your problem:
a) reinstall FPC 2.6.4 for x86-64 (to get the x86-64 versions of the  
utilities in /usr/bin back)
b) delete /usr/lib/fpc/2.6.4/ppc386
c) rebuild the cross-compiler, but this time use "make crossinstall"  
instead of "make install" at the end (I've updated the wiki article)


Jonas



More information about the fpc-pascal mailing list