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
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal

Reply via email to