[lazarus] cant find unit interfacebase
Vincent Snijders
vslist at zonnet.nl
Fri Dec 19 06:31:33 EST 2003
On Fri, 19 Dec 2003 12:32:26 +0100
LeVA <leva at az.isten.hu> wrote:
> Peter Vreman írta:
> >>find the INTERFACEBASE unit, and when trying to compile to win32, it
> >>says that:
> >>TOutputFilter:
> >>"/home/leva/FreePascal/lib/fpc/1.9.1/units/win32/rtl/wprt0.o: file
> >not>recognized: File format not recognized"
> >>
> >>Is this beacause of the 1.9.1 fpc? With 1.0.10 it worked fine, but I
> >>didn't try if it works with it right now, because I need the
> >>-dUseFPImage option, and it doesn't work with older fpcs.
> >>I'm getting the win32 units daily from here:
> >>ftp://gd.tuwien.ac.at/languages/pascal/fpc/snapshot/v11/win32-i386/
> >>
> >>These are precompiled. I got a bad feeling about these units are not
> >for>the 1.9.1 version of fpc. Am I right?
> >
> >
> > You need a cross compiled as and ld with target that supports win32.
> > You are now trying to use win32(=pecoff) .o files with the linux
> > linker that only supports ELF .o files.
> >
> > Note: The compile itself can read .ppu files from multiple
> > platforms, but the assembler and linker not. The assembler and
> > linker are external applications from GNU binutils.
>
> I have those utils, because previously I could make win32 binaries
> with lazarus and fpc1.0.10. I have these binaries:
>
> i686-pc-mingw32-addr2line i686-pc-mingw32-dlltool
> i686-pc-mingw32-objcopy i686-pc-mingw32-size
> i686-pc-mingw32-ar i686-pc-mingw32-dllwrap
> i686-pc-mingw32-objdump i686-pc-mingw32-strings
> i686-pc-mingw32-as i686-pc-mingw32-ld
> i686-pc-mingw32-ranlib i686-pc-mingw32-strip
> i686-pc-mingw32-c++filt i686-pc-mingw32-nm
> i686-pc-mingw32-readelf i686-pc-mingw32-windres
>
> 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.
fpc 1.9.1. doesn't call asw and ldw, but as and ld, unless ypu tell
differently.
With fpc 1.9.1 I use the XPi686-pc-mingw32- option.
make OPT="-XPi686-pc-mingw32-"
make sure these binaries are in your path. If not do
make OPT="-XPi686-pc-mingw32- -FD/path/to/the/binutils"
>
> 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
wrong as called. see above.
> 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?
Also be aware you only can hae one set of lcl units present at the time,
because compiling for win32 overwrites the linux lcl units.
HTH,
Vincent .
More information about the Lazarus
mailing list