Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-pascal / 2010-03

when cross-compiling, "Recompiling Unit..., checksum changed for System"

2 messages · 2 people ·

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Haluk DUMAN

i use cross-compiling from win32 to (target)linux... and get this error; "Recompiling BaseUnix, checksum changed for System"

i am using this snapshot:
ftp://ftp.freepascal.org/pub/fpc/snapshot/v24/i386-win32/base_w32_v24.zip ftp://ftp.freepascal.org/pub/fpc/snapshot/v24/i386-win32/fpc-2.4.1.i386-win32.zip ftp://ftp.freepascal.org/pub/fpc/snapshot/v24/i386-linux/fpc-2.4.1.i386-linux.t* ftp://ftp.freepascal.org/pub/fpc/snapshot/v24/i386-go32v2/base_go32_v24.zip ftp://ftp.freepascal.org/pub/fpc/snapshot/v24/i386-go32v2/fpc-2.4.1.go32v2.zip

please examine(review) this :!:
"""
\ProJectS\Test1>Set FPCDir=\FPC_v241
\ProJectS\Test1>\FPC_v241\Bin\Win32\FPC.EXE -Tlinux @Test1.CFG Test1.PP Handling option "Test1.PP"
found source file name "Test1.PP"
Macro defined: ENDIAN_LITTLE
Macro defined: FPC_LITTLE_ENDIAN
Macro defined: FPC_ABI_DEFAULT
Macro defined: CPUPENTIUM
Macro defined: FPUX87
Macro defined: FPC_LINK_STATIC
Macro FPC_VERSION set to 2
Macro FPC_RELEASE set to 4
Macro FPC_PATCH set to 1
Macro FPC_FULLVERSION set to 20401
Macro defined: FPC_WIDESTRING_EQUAL_UNICODESTRING
...
Compiler OS: Win32 for i386
Target OS: Linux for i386
Compiling Test1.PP
(TEST1) Registering new unit SYSTEM
(TEST1) Load from TEST1 (implementation) unit SYSTEM (SYSTEM) Loading unit SYSTEM
(SYSTEM) PPU Name: D:\FPC_v241\UnitS\linux\RTL\system.ppu (SYSTEM) PPU Time: 2010/03/03 02:04:10
(SYSTEM) PPU Flags: 159873
(SYSTEM) PPU Crc: 387F13EA
(SYSTEM) PPU Crc: 5EDB5FB2 (intfc)
(SYSTEM) PPU Crc: 00000000 (indc)
(SYSTEM) Number of definitions: 3745
(SYSTEM) Number of symbols: 10043
(SYSTEM) Finished loading unit SYSTEM
(TEST1) Registering new unit FPINTRES
(TEST1) Load from TEST1 (implementation) unit FPINTRES (FPINTRES) Loading unit FPINTRES
(FPINTRES) PPU Name: D:\FPC_v241\UnitS\linux\RTL\fpintres.ppu (FPINTRES) PPU Time: 2010/03/03 02:04:10
(FPINTRES) PPU Flags: 159873
(FPINTRES) PPU Crc: B8DBE822
(FPINTRES) PPU Crc: B8DBE822 (intfc)
(FPINTRES) PPU Crc: 00000000 (indc)
(FPINTRES) Number of definitions: 58
(FPINTRES) Number of symbols: 169
(FPINTRES) Load from FPINTRES (interface) unit SYSTEM (FPINTRES) Adding dependency: FPINTRES depends on SYSTEM (FPINTRES) Finished loading unit FPINTRES
(TEST1) Registering new unit CRT
(TEST1) Registering new unit PRINTER
(TEST1) Registering new unit DOS
(TEST1) Registering new unit TERMIO
(TEST1) Registering new unit OBJECTS
(TEST1) Registering new unit CLASSES
(TEST1) Registering new unit INIFILES
(TEST1) Registering new unit MATH
(TEST1) Registering new unit SYSUTILS
(TEST1) Registering new unit DATEUTILS
(TEST1) Load from TEST1 (implementation) unit CRT
(CRT) Loading unit CRT
(CRT) PPU Name: D:\FPC_v241\UnitS\linux\RTL\crt.ppu (CRT) PPU Time: 2010/03/03 02:04:10
(CRT) PPU Flags: 159875
(CRT) PPU Crc: 01F32E7D
(CRT) PPU Crc: 81EA0BA6 (intfc)
(CRT) PPU Crc: 00000000 (indc)
(CRT) Number of definitions: 196
(CRT) Number of symbols: 368
(CRT) Load from CRT (interface) unit SYSTEM
(CRT) Adding dependency: CRT depends on SYSTEM
(CRT) Registering new unit BASEUNIX
(CRT) Load from CRT (implementation) unit BASEUNIX (BASEUNIX) Loading unit BASEUNIX
(BASEUNIX) PPU Name: D:\FPC_v241\UnitS\linux\RTL\baseunix.ppu (BASEUNIX) PPU Time: 2010/03/03 02:04:10
(BASEUNIX) PPU Flags: 159872
(BASEUNIX) PPU Crc: B63CFE4D
(BASEUNIX) PPU Crc: 38199AE4 (intfc)
(BASEUNIX) PPU Crc: 00000000 (indc)
(BASEUNIX) Number of definitions: 459
(BASEUNIX) Number of symbols: 1907
(BASEUNIX) Load from BASEUNIX (interface) unit SYSTEM (BASEUNIX) Adding dependency: BASEUNIX depends on SYSTEM (BASEUNIX) Recompiling BaseUnix, checksum changed for System PPU Loading D:\FPC_v241\UnitS\linux\RTL\baseunix.ppu Fatal: Can't find unit BaseUnix used by Crt
Fatal: Compilation aborted
Error: D:\FPC_v241\Bin\Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled) """
...and...
"""
Unitsearch: D:\FPC_v241\UnitS\linux\RTL\Crt.ppu
PPU Loading D:\FPC_v241\UnitS\linux\RTL\crt.ppu
(CRT) PPU Name: D:\FPC_v241\UnitS\linux\RTL\crt.ppu (CRT) PPU Time: 2010/03/03 02:04:10
(CRT) PPU Flags: 159875
(CRT) PPU Crc: 01F32E7D
(CRT) PPU Crc: 81EA0BA6 (intfc)
(CRT) PPU Crc: 00000000 (indc)
(CRT) Number of definitions: 196
(CRT) Number of symbols: 368
(CRT) Load from CRT (interface) unit SYSTEM
(CRT) Adding dependency: CRT depends on SYSTEM
(CRT) Registering new unit BASEUNIX
(CRT) Load from CRT (implementation) unit BASEUNIX (BASEUNIX) Loading unit BASEUNIX
Unitsearch: BaseUnix.ppu
Unitsearch: BaseUnix.pp
Unitsearch: BaseUnix.pas
...
Unitsearch: D:\FPC_v241\UnitS\linux\RTL\BaseUnix.ppu PPU Loading D:\FPC_v241\UnitS\linux\RTL\baseunix.ppu (BASEUNIX) PPU Name: D:\FPC_v241\UnitS\linux\RTL\baseunix.ppu (BASEUNIX) PPU Time: 2010/03/03 02:04:10
(BASEUNIX) PPU Flags: 159872
(BASEUNIX) PPU Crc: B63CFE4D
(BASEUNIX) PPU Crc: 38199AE4 (intfc)
(BASEUNIX) PPU Crc: 00000000 (indc)
(BASEUNIX) Number of definitions: 459
(BASEUNIX) Number of symbols: 1907
(BASEUNIX) Load from BASEUNIX (interface) unit SYSTEM (BASEUNIX) Adding dependency: BASEUNIX depends on SYSTEM (BASEUNIX) Recompiling BaseUnix, checksum changed for System Unitsearch: BaseUnix.pp
Unitsearch: BaseUnix.pas
Unitsearch: D:\FPC_v241\UnitS\linux\RTL\BaseUnix.pp Unitsearch: D:\FPC_v241\UnitS\linux\RTL\BaseUnix.pas Unitsearch: D:\FPC_v241\Bin\Win32\BaseUnix.pp
Unitsearch: D:\FPC_v241\Bin\Win32\BaseUnix.pas
Fatal: Can't find unit BaseUnix used by Crt
Fatal: Compilation aborted
Error: D:\FPC_v241\Bin\Win32\ppc386.exe returned an error exitcode (normal if you did not specify a source file to be compiled) """

my program is simple::: Test1.PP
"""
PROGRAM Test1;
USES Crt, Printer, Dos, TermIO,
ObjectS, Classes,
INIFileS,
Math, SysUtilS, DateUtilS;

VAR RSLT:Byte;
BEGIN
 RSLT:=0;
 System.Write{Ln}('');
 ExitCode:=RSLT;
END{PROGRAM}.
"""

and my compiler directives::: Test1.CFG
"""
-l
-vewid

#-di386
#-dUseCThreads

#-Mfpc
-Mobjfpc
#-Mdelphi
#-CiR
;-CiorRt
#-CfX87
-gt
;-gctl
#-O2
;-Ratt
-Scgim
-Sew2
-Xs
-aln

-FD\FPC_v241/Bin/Win32/;\FPC_v241/FPCross.Bin/
-Fu\FPC_v241/UnitS/$FPCOS/RTL/;\FPC_v241/UnitS/$FPCOS/* -Fo\FPC_v241/UnitS/$FPCOS/RTL/;\FPC_v241/UnitS/$FPCOS/*

#IFDef Linux
#-Aelf
-Xd
-Fi\FPC_v241/_Source_/RTL/Linux/;\FPC_v241/_Source_/RTL/Unix/ #-Fi\FPC_v241/_Source_/Packages/LibC/Src/
-Fl\lib.236/
-k"-s"
-XPI386_Linux_Win32_
-vewucild
#EndIF
"""

Thanks in advance , excuse my poor english :(

Jonas Maebe
to Haluk DUMAN
Haluk DUMAN wrote
i use cross-compiling from win32 to (target)linux... and get this error; "Recompiling BaseUnix, checksum changed for System"

You are mixing units from different snapshots together. While I think that in theory this should work if they are compiled from similar svn revisions, this is not tested and unsupported.

You have to compile you own Linux-i386 units instead of copying them from a binary Linux snapshot inside your Windows directory.

Jonas