[lazarus] cant find unit interfacebase

Peter Vreman peter at freepascal.org
Fri Dec 19 06:30:47 EST 2003


> I have those utils, because previously I could make win32 binaries with
> lazarus and fpc1.0.10. I have these binaries:
>
> i686-pc-mingw32-as         i686-pc-mingw32-ld
>
> and all of them are symlinked to my $PATH. The ld is linked as ldw, and
> the as is linked as asw. Few days ago, with fpc1.0.10, and cvs lazarus,
> I could build to all platforms with those tools.
> Now I've upgraded to fpc1.9.1 (because I want to use the fpimage
> feature), and now I have this problem: when I compile lazarus/lcl with
> OS_TARGET=win32, it can not compile linux nor win32.
>
> I'm not quite understand what you're saying unfortunately :) I'm not
> that guru in this. Do I have to use the old 1.0.10fpc if I want to make
> win32 binaries, or I can use 1.9.1 too? And if I can use the 1.9.1, do I
> have to compile my own win32 units, or I can use these:
> ftp://gd.tuwien.ac.at/languages/pascal/fpc/snapshot/v11/win32-i386/
>
> Are these for fpc1.9.1? Or it doesn't matter? I can not compile my own
> win32 units because of the following compilation errror:
>
> (~/FreePascal/src/fpc)-$ make clean
> (~/FreePascal/src/fpc)-$ make OS_TARGET=win32 all
> ...
> ....
> .....
> make[4]: Entering directory `/home/leva/FreePascal/src/fpc/rtl/win32'
> as -o wprt0.o wprt0.as
> wprt0.as: Assembler messages:
> wprt0.as:29: Error: cannot represent relocation type BFD_RELOC_RVA
> wprt0.as:31: Error: cannot represent relocation type BFD_RELOC_RVA
> wprt0.as:32: Error: cannot represent relocation type BFD_RELOC_RVA
> wprt0.as:36: Error: cannot represent relocation type BFD_RELOC_RVA
> wprt0.as:45: Error: cannot represent relocation type BFD_RELOC_RVA
> make[4]: *** [wprt0.o] Error 1
> make[4]: Leaving directory `/home/leva/FreePascal/src/fpc/rtl/win32'
> make[3]: *** [rtl] Error 2
> make[3]: Leaving directory `/home/leva/FreePascal/src/fpc/compiler'
> make[2]: *** [cycle] Error 2
> make[2]: Leaving directory `/home/leva/FreePascal/src/fpc/compiler'
> make[1]: *** [compiler_cycle] Error 2
> make[1]: Leaving directory `/home/leva/FreePascal/src/fpc'
> make: *** [build-stamp.win32] Error 2
>
> What does this mean? I think that would be better, if I could use my own
> compiled win32 units, instead of the precompiled ones. But how can I
> compile them?

Explaination:

1.9.1 also uses 'as' and 'ld' for assembler and linker instead of 'asw'
and 'ldw'.

IOW: There is no difference anymore between targets wrt ppu file exenstion
and naming of the units.


Solution:

For make add "BINUTILSPREFIX=i686-pc-mingw32-" to the commandline.

For a stanalone compile (or from lazarus) add -XPi686-pc-mingw32- to the
commandline or add the following lines to fpc.cfg

#ifndef VER1_0
#ifdef WIN32
-XPi686-pc-mingw32-
#endif
#endif







More information about the Lazarus mailing list