Sign in Join

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

Mailing lists / fpc-devel / 2011-11

Building trunk on Win32

24 messages · 5 people · –

Reply by email Subscribe to this list Your subscription

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

Leonardo M. Ramé

Hi, I'm trying to build the latest svn trunk on a Win32 machine. 

e:\FPC-bin\bin\i386-win32\make.exe PP=e:\fpc-bin\bin\i386-win32\ppc386.exe all

Where e:\fpc-bin\bin\i386-win32\ppc386.exe is this revision: E:\fpc>e:\fpc-bin\bin\i386-win32\ppc386.exeFree Pascal Compiler version 2.4.4 [2011/04/23] for i386 Copyright (c) 1993-2010 by Florian Klaempfl

I don't remember but I think it was downloaded from http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.var, so I think it's a stable version.

Anyway, the results of my make are this:
fmtbcd.pp(2598,49) Warning: Symbol "CurrencyString" is deprecatedfmtbcd.pp(2599,44) Warning: Symbol "CurrencyString" is deprecated fmtbcd.pp(3844,52) Warning: Implicit string type conversion with potential data loss from "WideString" to "AnsiString"
fmtbcd.pp(3845,33) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString"
E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE :/fpc/rtl/units/i386-win32 -di386 -dRELEASE ../inc/macpas.pp make.exe[7]: *** [macpas.ppu] Error 226
make.exe[7]: Leaving directory `E:/fpc/rtl/win32'
make.exe[6]: *** [win32_all] Error 2
make.exe[6]: Leaving directory `E:/fpc/rtl'
make.exe[5]: *** [rtl] Error 2
make.exe[5]: Leaving directory `E:/fpc/compiler'
make.exe[4]: *** [next] Error 2
make.exe[4]: Leaving directory `E:/fpc/compiler'
make.exe[3]: *** [ppc3.exe] Error 2
make.exe[3]: Leaving directory `E:/fpc/compiler'
make.exe[2]: *** [cycle] Error 2
make.exe[2]: Leaving directory `E:/fpc/compiler'
make.exe[1]: *** [compiler_cycle] Error 2
make.exe[1]: Leaving directory `E:/fpc'
e:\FPC-bin\bin\i386-win32\make.exe: *** [build-stamp.i386-win32] Error 2

How can I fix this?.
 
Leonardo M. Ramé
http://leonardorame.blogspot.com

Reply by email

Pierre Free Pascal
to Leonardo M. Ramé

I tired to reproduce your problem starting from release 2.4.4 compiler,

but got no error.

Then I tried to find where error code 226 could be generated:

it is in rtl/win/systhrd.inc

function SysAllocateThreadVars most probably because your system returned nil for

a LocalAlloc call.

Could you test by only doing a make cycle at compiler level?

Pierre Muller

De :
De la part de Leonardo M.
Ramé
Envoyé : vendredi 25 novembre 2011 22:01
À : FPC developers' list
Objet : [fpc-devel] Building trunk on Win32

Hi, I'm trying to build the latest svn trunk on a Win32 machine.

e:\FPC-bin\bin\i386-win32\make.exe PP=e:\fpc-bin\bin\i386-win32\ppc386.exe all

Where e:\fpc-bin\bin\i386-win32\ppc386.exe is this revision:

E:\fpc>e:\fpc-bin\bin\i386-win32\ppc386.exe

Free Pascal Compiler version 2.4.4 [2011/04/23] for i386

Copyright (c) 1993-2010 by Florian Klaempfl

I don't remember but I think it was downloaded from http://www.freepascal.org/down/i386/win32-ftp.freepascal.org.var, so I think it's a stable version.

Anyway, the results of my make are this:

fmtbcd.pp(2598,49) Warning: Symbol "CurrencyString" is deprecated
fmtbcd.pp(2599,44) Warning: Symbol "CurrencyString" is deprecated
fmtbcd.pp(3844,52) Warning: Implicit string type conversion with potential
data

loss from "WideString" to "AnsiString"

fmtbcd.pp(3845,33) Warning: Implicit string type conversion with potential
data

loss from "UnicodeString" to "AnsiString"

E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE

:/fpc/rtl/units/i386-win32 -di386 -dRELEASE ../inc/macpas.pp

make.exe[7]: *** [macpas.ppu] Error 226

make.exe[7]: Leaving directory `E:/fpc/rtl/win32'

make.exe[6]: *** [win32_all] Error 2

make.exe[6]: Leaving directory `E:/fpc/rtl'

make.exe[5]: *** [rtl] Error 2

make.exe[5]: Leaving directory `E:/fpc/compiler'

make.exe[4]: *** [next] Error 2

make.exe[4]: Leaving directory `E:/fpc/compiler'

make.exe[3]: *** [ppc3.exe] Error 2

make.exe[3]: Leaving directory `E:/fpc/compiler'

make.exe[2]: *** [cycle] Error 2

make.exe[2]: Leaving directory `E:/fpc/compiler'

make.exe[1]: *** [compiler_cycle] Error 2

make.exe[1]: Leaving directory `E:/fpc'

e:\FPC-bin\bin\i386-win32\make.exe: *** [build-stamp.i386-win32] Error 2

How can I fix this?.

Leonardo M. Ramé
http://leonardorame.blogspot.com

Reply by email

Leonardo M. Ramé
to Pierre Free Pascal
Show quoted text 19 lines
________________________________ From: Pierre Free Pascal To: 'Leonardo M. Ramé' ; 'FPC developers' list' Sent: Friday, November 25, 2011 6:40 PM Subject: RE: [fpc-devel] Building trunk on Win32 I tired to reproduce your problem starting from release 2.4.4 compiler, but got no error. Then I tried to find where error code 226 could be generated: it is in rtl/win/systhrd.inc function SysAllocateThreadVars most probably because your system returned nil for a LocalAlloc call.   Could you test by only doing a make cycle at compiler level?   Pierre Muller  

Hi Pierre, I uninstalled my 2.4.4 release then downloaded it again from the fpc site, and installed, to be sure I'm using the release version. Then, went to my fpc-svn trunk directory, then "cd compiler" and did a "e:\fpc-bin\bin\i386-win32\make clean all" (I use e:\fpc-bin\bin\i386-win32\make to avoid interferences with borland's make).

Here's the compiling output:

e:/FPC-bin/bin/i386-Win32/rm.exe -f ppcross386.exe ppc.exe ppc1.exe ppc2.exe ppc3.exe ./msg2inc.exe pp1.wpo pp2.wpo e:/FPC-bin/bin/i386-Win32/rm.exe -f ppc386.exe ppc68k.exe ppcx64.exe ppcppc.exe ppcsparc.exe ppcppc64.exe ppcarm.exe ppcmips.exe ppcmipsel.exe ppc386.exe ppcwpo1.exe ppcwpo2.exe e:/FPC-bin/bin/i386-Win32/rm.exe -f pp.exe pp.o libppp.a libimppp.a e:/FPC-bin/bin/i386-Win32/rm.exe -rf units
e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl
e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat
e:/fpc-bin/bin/i386-win32/make -C utils cleanall
make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -rf units
e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl
e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat
make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -rf i386/units
e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/*.o i386/*.ppu i386/*.rst i386/*.s i386/*.a i386/*.dll i386/*.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/ppc386.exe i386/ppc68k.exe i386/ppcx64.exe i386/ppcppc.exe i386/ppcsparc.exe i386/ppcppc64.exe i386/ppcarm.exe i386/ppcmips.exe i386/ppcmipsel.exe i386/ppc386.exe e:/fpc-bin/bin/i386-win32/make -C utils clean
make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/gmkdir.exe -p i386/units/i386-win32 E:/pp/bin/i386-win32/ppc386.exe -Fui386 -Fusystems -Fu../rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32  -di386 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas Free Pascal Compiler version 2.7.1 [2011/09/14] for i386 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Win32 for i386
Compiling pp.pas
Compiling globals.pas
Compiling cutils.pas
Compiling cclasses.pas
Compiling globtype.pas
Compiling cstreams.pas
Compiling cfileutl.pas
Compiling systems.pas
Compiling comphook.pas
Compiling finput.pas
Compiling comphook.pas
Compiling globals.pas
Compiling .\i386\cpuinfo.pas
Compiling version.pas
Compiling compiler.pas
Compiling verbose.pas
Compiling cmsgs.pas
Compiling fmodule.pas
Compiling ogbase.pas
Compiling owbase.pas
Compiling aasmbase.pas
Compiling fmodule.pas
Compiling symbase.pas
Compiling symconst.pas
Compiling symsym.pas
Compiling widestr.pas
Compiling cp8859_1.pas
cp8859_1.pas(273,13) Error: Unknown record field identifier "cp" cp8859_1.pas(273,18) Fatal: Syntax error, "identifier" expected but ";" found Fatal: Compilation aborted

-- 
Leonardo M. Ramé

http://leonardorame.blogspot.com

Reply by email

Sven Barth
to Leonardo M. Ramé
Leonardo M. Ramé wrote 67 lines
Hi Pierre, I uninstalled my 2.4.4 release then downloaded it again from the fpc site, and installed, to be sure I'm using the release version. Then, went to my fpc-svn trunk directory, then "cd compiler" and did a "e:\fpc-bin\bin\i386-win32\make clean all" (I use e:\fpc-bin\bin\i386-win32\make to avoid interferences with borland's make). Here's the compiling output: e:/FPC-bin/bin/i386-Win32/rm.exe -f ppcross386.exe ppc.exe ppc1.exe ppc2.exe ppc3.exe ./msg2inc.exe pp1.wpo pp2.wpo e:/FPC-bin/bin/i386-Win32/rm.exe -f ppc386.exe ppc68k.exe ppcx64.exe ppcppc.exe ppcsparc.exe ppcppc64.exe ppcarm.exe ppcmips.exe ppcmipsel.exe ppc386.exe ppcwpo1.exe ppcwpo2.exe e:/FPC-bin/bin/i386-Win32/rm.exe -f pp.exe pp.o libppp.a libimppp.a e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat e:/fpc-bin/bin/i386-win32/make -C utils cleanall make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -rf i386/units e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/*.o i386/*.ppu i386/*.rst i386/*.s i386/*.a i386/*.dll i386/*.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/ppc386.exe i386/ppc68k.exe i386/ppcx64.exe i386/ppcppc.exe i386/ppcsparc.exe i386/ppcppc64.exe i386/ppcarm.exe i386/ppcmips.exe i386/ppcmipsel.exe i386/ppc386.exe e:/fpc-bin/bin/i386-win32/make -C utils clean make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/gmkdir.exe -p i386/units/i386-win32 E:/pp/bin/i386-win32/ppc386.exe -Fui386 -Fusystems -Fu../rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32 -di386 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas Free Pascal Compiler version 2.7.1 [2011/09/14] for i386 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling pp.pas Compiling globals.pas Compiling cutils.pas Compiling cclasses.pas Compiling globtype.pas Compiling cstreams.pas Compiling cfileutl.pas Compiling systems.pas Compiling comphook.pas Compiling finput.pas Compiling comphook.pas Compiling globals.pas Compiling .\i386\cpuinfo.pas Compiling version.pas Compiling compiler.pas Compiling verbose.pas Compiling cmsgs.pas Compiling fmodule.pas Compiling ogbase.pas Compiling owbase.pas Compiling aasmbase.pas Compiling fmodule.pas Compiling symbase.pas Compiling symconst.pas Compiling symsym.pas Compiling widestr.pas Compiling cp8859_1.pas cp8859_1.pas(273,13) Error: Unknown record field identifier "cp" cp8859_1.pas(273,18) Fatal: Syntax error, "identifier" expected but ";" found Fatal: Compilation aborted

Are you sure that your checkout is clean and up to date? Does the "uses" in cp8859_1.pas look like this:

uses
   {$if FPC_FULLVERSION<20700}ccharset{$else}charset{$endif};

Also try the following:

cd compiler
make cycle

This will first compile the trunk RTL and then the trunk compiler using your 2.4.4 compiler and then both will be recompiled using the trunk compiler.

Regards,
Sven

Reply by email

Leonardo M. Ramé
to Leonardo M. Ramé: Hi Pierre, I uninstalled my 2.4.4 release then downloaded it again from the fpc site, and…

----- Original Message -----

Show quoted text 133 lines
From: Leonardo M. Ramé To: FPC developers' list Cc: Sent: Saturday, November 26, 2011 10:17 AM Subject: Re: [fpc-devel] Building trunk on Win32 > ________________________________ > From: Pierre Free Pascal > To: 'Leonardo M. Ramé' ; 'FPC developers' list' > Sent: Friday, November 25, 2011 6:40 PM > Subject: RE: [fpc-devel] Building trunk on Win32 > > > I tired to reproduce your problem starting from release 2.4.4 compiler, > but got no error. > Then I tried to find where error code 226 could be generated: > it is in rtl/win/systhrd.inc > function SysAllocateThreadVars most probably because your system returned nil for > a LocalAlloc call. >   > Could you test by only doing a make cycle at compiler level? >   > Pierre Muller >   Hi Pierre, I uninstalled my 2.4.4 release then downloaded it again from the fpc site, and installed, to be sure I'm using the release version. Then, went to my fpc-svn trunk directory, then "cd compiler" and did a "e:\fpc-bin\bin\i386-win32\make clean all" (I use e:\fpc-bin\bin\i386-win32\make to avoid interferences with borland's make). Here's the compiling output: e:/FPC-bin/bin/i386-Win32/rm.exe -f ppcross386.exe ppc.exe ppc1.exe ppc2.exe ppc3.exe ./msg2inc.exe pp1.wpo pp2.wpo e:/FPC-bin/bin/i386-Win32/rm.exe -f ppc386.exe ppc68k.exe ppcx64.exe ppcppc.exe ppcsparc.exe ppcppc64.exe ppcarm.exe ppcmips.exe ppcmipsel.exe ppc386.exe ppcwpo1.exe ppcwpo2.exe e:/FPC-bin/bin/i386-Win32/rm.exe -f pp.exe pp.o libppp.a libimppp.a e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat e:/fpc-bin/bin/i386-win32/make -C utils cleanall make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -rf units e:/FPC-bin/bin/i386-Win32/rm.exe -f *.o *.ppu *.rst *.s *.a *.dll *.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -rf *.sl e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.* Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -rf i386/units e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/*.o i386/*.ppu i386/*.rst i386/*.s i386/*.a i386/*.dll i386/*.ppl e:/FPC-bin/bin/i386-Win32/rm.exe -f i386/ppc386.exe i386/ppc68k.exe i386/ppcx64.exe i386/ppcppc.exe i386/ppcsparc.exe i386/ppcppc64.exe i386/ppcarm.exe i386/ppcmips.exe i386/ppcmipsel.exe i386/ppc386.exe e:/fpc-bin/bin/i386-win32/make -C utils clean make[1]: Entering directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpc.exe ppufiles.exe ppudump.exe ppumove.exe fpcsubst.exe mkarmins.exe mkx86ins.exe fpc.o ppufiles.o ppudump.o ppumove.o fpcsubst.o mkarmins.o mkx86ins.o libpfpc.a libpppufiles.a libpppudump.a libpppumove.a libpfpcsubst.a libpmkarmins.a libpmkx86ins.a libimpfpc.a libimpppufiles.a libimpppudump.a libimpppumove.a libimpfpcsubst.a libimpmkarmins.a libimpmkx86ins.a e:/FPC-bin/bin/i386-Win32/rm.exe -f units/i386-win32/ppu.ppu units/i386-win32/crc.ppu units/i386-win32/usubst.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[1]: Leaving directory `E:/fpc/compiler/utils' e:/FPC-bin/bin/i386-Win32/gmkdir.exe -p i386/units/i386-win32 E:/pp/bin/i386-win32/ppc386.exe -Fui386 -Fusystems -Fu../rtl/units/i386-win32 -Fii386 -FE. -FUi386/units/i386-win32  -di386 -dGDB -dBROWSERLOG -Fux86 -Sew pp.pas Free Pascal Compiler version 2.7.1 [2011/09/14] for i386 Copyright (c) 1993-2011 by Florian Klaempfl and others Target OS: Win32 for i386 Compiling pp.pas Compiling globals.pas Compiling cutils.pas Compiling cclasses.pas Compiling globtype.pas Compiling cstreams.pas Compiling cfileutl.pas Compiling systems.pas Compiling comphook.pas Compiling finput.pas Compiling comphook.pas Compiling globals.pas Compiling .\i386\cpuinfo.pas Compiling version.pas Compiling compiler.pas Compiling verbose.pas Compiling cmsgs.pas Compiling fmodule.pas Compiling ogbase.pas Compiling owbase.pas Compiling aasmbase.pas Compiling fmodule.pas Compiling symbase.pas Compiling symconst.pas Compiling symsym.pas Compiling widestr.pas Compiling cp8859_1.pas cp8859_1.pas(273,13) Error: Unknown record field identifier "cp" cp8859_1.pas(273,18) Fatal: Syntax error, "identifier" expected but ";" found Fatal: Compilation aborted --  Leonardo M. Ramé http://leonardorame.blogspot.com _______________________________________________ fpc-devel maillist  -  http://lists.freepascal.org/mailman/listinfo/fpc-devel

Well, now instead of updating my svn directory I completely deleted it and checked it out again. After that, the compiler was build ok, but I got this when trying to build all:

...
make[4]: Entering directory `E:/fpc/compiler'
e:/fpc-bin/bin/i386-win32/make rtlclean rtl
make[5]: Entering directory `E:/fpc/compiler'
e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl clean make[6]: Entering directory `E:/fpc/rtl'
e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat e:/fpc-bin/bin/i386-win32/make -C win32 clean
make[7]: Entering directory `E:/fpc/rtl/win32'
e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.ppu E:/fpc/rtl/units/i386-win32/objpas.ppu E:/fpc/rtl/units/i386-win32/macpas.ppu E:/fpc/rtl/units/i386-win32/iso7185.ppu E:/fpc/rtl/units/i386-win32/buildrtl.ppu E:/fpc/rtl/units/i386-win32/lineinfo.ppu E:/fpc/rtl/units/i386-win32/lnfodwrf.ppu E:/fpc/rtl/units/i386-win32/sysinitpas.ppu E:/fpc/rtl/units/i386-win32/sysinitcyg.ppu E:/fpc/rtl/units/i386-win32/sysinitgprof.ppu E:/fpc/rtl/units/i386-win32/ctypes.ppu E:/fpc/rtl/units/i386-win32/strings.ppu E:/fpc/rtl/units/i386-win32/heaptrc.ppu E:/fpc/rtl/units/i386-win32/matrix.ppu E:/fpc/rtl/units/i386-win32/windows.ppu E:/fpc/rtl/units/i386-win32/winsock.ppu E:/fpc/rtl/units/i386-win32/winsock2.ppu E:/fpc/rtl/units/i386-win32/initc.ppu E:/fpc/rtl/units/i386-win32/cmem.ppu E:/fpc/rtl/units/i386-win32/dynlibs.ppu E:/fpc/rtl/units/i386-win32/signals.ppu E:/fpc/rtl/units/i386-win32/dos.ppu E:/fpc/rtl/units/i386-win32/crt.ppu E:/fpc/rtl/units/i386-win32/objects.ppu E:/fpc/rtl/units/i386-win32/messages.ppu E:/fpc/rtl/units/i386-win32/rtlconsts.ppu E:/fpc/rtl/units/i386-win32/sysconst.ppu E:/fpc/rtl/units/i386-win32/sysutils.ppu E:/fpc/rtl/units/i386-win32/math.ppu E:/fpc/rtl/units/i386-win32/types.ppu E:/fpc/rtl/units/i386-win32/strutils.ppu E:/fpc/rtl/units/i386-win32/dateutils.ppu E:/fpc/rtl/units/i386-win32/varutils.ppu E:/fpc/rtl/units/i386-win32/variants.ppu E:/fpc/rtl/units/i386-win32/typinfo.ppu E:/fpc/rtl/units/i386-win32/fgl.ppu E:/fpc/rtl/units/i386-win32/classes.ppu E:/fpc/rtl/units/i386-win32/convutils.ppu E:/fpc/rtl/units/i386-win32/stdconvs.ppu E:/fpc/rtl/units/i386-win32/cpu.ppu E:/fpc/rtl/units/i386-win32/mmx.ppu E:/fpc/rtl/units/i386-win32/charset.ppu E:/fpc/rtl/units/i386-win32/character.ppu E:/fpc/rtl/units/i386-win32/ucomplex.ppu E:/fpc/rtl/units/i386-win32/getopts.ppu E:/fpc/rtl/units/i386-win32/winevent.ppu E:/fpc/rtl/units/i386-win32/sockets.ppu E:/fpc/rtl/units/i386-win32/printer.ppu E:/fpc/rtl/units/i386-win32/video.ppu E:/fpc/rtl/units/i386-win32/mouse.ppu E:/fpc/rtl/units/i386-win32/keyboard.ppu E:/fpc/rtl/units/i386-win32/fmtbcd.ppu E:/fpc/rtl/units/i386-win32/winsysut.ppu E:/fpc/rtl/units/i386-win32/sharemem.ppu E:/fpc/rtl/units/i386-win32/exeinfo.ppu E:/fpc/rtl/units/i386-win32/fpintres.ppu E:/fpc/rtl/units/i386-win32/windirs.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.o E:/fpc/rtl/units/i386-win32/objpas.o E:/fpc/rtl/units/i386-win32/macpas.o E:/fpc/rtl/units/i386-win32/iso7185.o E:/fpc/rtl/units/i386-win32/buildrtl.o E:/fpc/rtl/units/i386-win32/lineinfo.o E:/fpc/rtl/units/i386-win32/lnfodwrf.o E:/fpc/rtl/units/i386-win32/sysinitpas.o E:/fpc/rtl/units/i386-win32/sysinitcyg.o E:/fpc/rtl/units/i386-win32/sysinitgprof.o E:/fpc/rtl/units/i386-win32/ctypes.o E:/fpc/rtl/units/i386-win32/strings.o E:/fpc/rtl/units/i386-win32/heaptrc.o E:/fpc/rtl/units/i386-win32/matrix.o E:/fpc/rtl/units/i386-win32/windows.o E:/fpc/rtl/units/i386-win32/winsock.o E:/fpc/rtl/units/i386-win32/winsock2.o E:/fpc/rtl/units/i386-win32/initc.o E:/fpc/rtl/units/i386-win32/cmem.o E:/fpc/rtl/units/i386-win32/dynlibs.o E:/fpc/rtl/units/i386-win32/signals.o E:/fpc/rtl/units/i386-win32/dos.o E:/fpc/rtl/units/i386-win32/crt.o E:/fpc/rtl/units/i386-win32/objects.o E:/fpc/rtl/units/i386-win32/messages.o E:/fpc/rtl/units/i386-win32/rtlconsts.o E:/fpc/rtl/units/i386-win32/sysconst.o E:/fpc/rtl/units/i386-win32/sysutils.o E:/fpc/rtl/units/i386-win32/math.o E:/fpc/rtl/units/i386-win32/types.o E:/fpc/rtl/units/i386-win32/strutils.o E:/fpc/rtl/units/i386-win32/dateutils.o E:/fpc/rtl/units/i386-win32/varutils.o E:/fpc/rtl/units/i386-win32/variants.o E:/fpc/rtl/units/i386-win32/typinfo.o E:/fpc/rtl/units/i386-win32/fgl.o E:/fpc/rtl/units/i386-win32/classes.o E:/fpc/rtl/units/i386-win32/convutils.o E:/fpc/rtl/units/i386-win32/stdconvs.o E:/fpc/rtl/units/i386-win32/cpu.o E:/fpc/rtl/units/i386-win32/mmx.o E:/fpc/rtl/units/i386-win32/charset.o E:/fpc/rtl/units/i386-win32/character.o E:/fpc/rtl/units/i386-win32/ucomplex.o E:/fpc/rtl/units/i386-win32/getopts.o E:/fpc/rtl/units/i386-win32/winevent.o E:/fpc/rtl/units/i386-win32/sockets.o E:/fpc/rtl/units/i386-win32/printer.o E:/fpc/rtl/units/i386-win32/video.o E:/fpc/rtl/units/i386-win32/mouse.o E:/fpc/rtl/units/i386-win32/keyboard.o E:/fpc/rtl/units/i386-win32/fmtbcd.o E:/fpc/rtl/units/i386-win32/winsysut.o E:/fpc/rtl/units/i386-win32/sharemem.o E:/fpc/rtl/units/i386-win32/exeinfo.o E:/fpc/rtl/units/i386-win32/fpintres.o E:/fpc/rtl/units/i386-win32/windirs.o E:/fpc/rtl/units/i386-win32/libimpsystem.a E:/fpc/rtl/units/i386-win32/libimpsysinitpas.a E:/fpc/rtl/units/i386-win32/libimpsysinitcyg.a E:/fpc/rtl/units/i386-win32/libimpsysinitgprof.a E:/fpc/rtl/units/i386-win32/libimpheaptrc.a E:/fpc/rtl/units/i386-win32/libimpwindows.a E:/fpc/rtl/units/i386-win32/libimpwinsock.a E:/fpc/rtl/units/i386-win32/libimpwinsock2.a E:/fpc/rtl/units/i386-win32/libimpinitc.a E:/fpc/rtl/units/i386-win32/libimpcmem.a E:/fpc/rtl/units/i386-win32/libimpsignals.a E:/fpc/rtl/units/i386-win32/libimpdos.a E:/fpc/rtl/units/i386-win32/libimpsysutils.a E:/fpc/rtl/units/i386-win32/libimpvarutils.a E:/fpc/rtl/units/i386-win32/libimpsharemem.a E:/fpc/rtl/units/i386-win32/libimpfpintres.a e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/math.rst E:/fpc/rtl/units/i386-win32/varutils.rst E:/fpc/rtl/units/i386-win32/typinfo.rst E:/fpc/rtl/units/i386-win32/variants.rst E:/fpc/rtl/units/i386-win32/classes.rst E:/fpc/rtl/units/i386-win32/dateutils.rst E:/fpc/rtl/units/i386-win32/sysconst.rst e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[7]: Leaving directory `E:/fpc/rtl/win32'
make[6]: Leaving directory `E:/fpc/rtl'
e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl 'OPT=' all make[6]: Entering directory `E:/fpc/rtl'
e:/fpc-bin/bin/i386-win32/make -C win32 all
make[7]: Entering directory `E:/fpc/rtl/win32'
E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win Runtime error 226 at $0040C776
  $0040C776
  $0040FB59
  $7C81A1C2
  $7C845A7C
  $7C83FE59
  $7C82EB2F
  $7C828355

make[7]: Leaving directory `E:/fpc/rtl/win32'
make[6]: Leaving directory `E:/fpc/rtl'
make[5]: Leaving directory `E:/fpc/compiler'
make[4]: Leaving directory `E:/fpc/compiler'
make[3]: Leaving directory `E:/fpc/compiler'
make[2]: Leaving directory `E:/fpc/compiler'
make[1]: Leaving directory `E:/fpc'

-- 
Leonardo M. Ramé
http://leonardorame.blogspot.com

Reply by email

Sven Barth
to Leonardo M. Ramé
Leonardo M. Ramé wrote 35 lines
... make[4]: Entering directory `E:/fpc/compiler' e:/fpc-bin/bin/i386-win32/make rtlclean rtl make[5]: Entering directory `E:/fpc/compiler' e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl clean make[6]: Entering directory `E:/fpc/rtl' e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat e:/fpc-bin/bin/i386-win32/make -C win32 clean make[7]: Entering directory `E:/fpc/rtl/win32' e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.ppu E:/fpc/rtl/units/i386-win32/objpas.ppu E:/fpc/rtl/units/i386-win32/macpas.ppu E:/fpc/rtl/units/i386-win32/iso7185.ppu E:/fpc/rtl/units/i386-win32/buildrtl.ppu E:/fpc/rtl/units/i386-win32/lineinfo.ppu E:/fpc/rtl/units/i386-win32/lnfodwrf.ppu E:/fpc/rtl/units/i386-win32/sysinitpas.ppu E:/fpc/rtl/units/i386-win32/sysinitcyg.ppu E:/fpc/rtl/units/i386-win32/sysinitgprof.ppu E:/fpc/rtl/units/i386-win32/ctypes.ppu E:/fpc/rtl/units/i386-win32/strings.ppu E:/fpc/rtl/units/i386-win32/heaptrc.ppu E:/fpc/rtl/units/i386-win32/matrix.ppu E:/fpc/rtl/units/i386-win32/windows.ppu E:/fpc/rtl/units/i386-win32/winsock.ppu E:/fpc/rtl/units/i386-win32/winsock2.ppu E:/fpc/rtl/units/i386-win32/initc.ppu E:/fpc/rtl/units/i386-win32/cmem.ppu E:/fpc/rtl/units/i386-win32/dynlibs.ppu E:/fpc/rtl/units/i386-win32/signals.ppu E:/fpc/rtl/units/i386-win32/dos.ppu E:/fpc/rtl/units/i386-win32/crt.ppu E:/fpc/rtl/units/i386-win32/objects.ppu E:/fpc/rtl/units/i386-win32/messages.ppu E:/fpc/rtl/units/i386-win32/rtlconsts.ppu E:/fpc/rtl/units/i386-win32/sysconst.ppu E:/fpc/rtl/units/i386-win32/sysutils.ppu E:/fpc/rtl/units/i386-win32/math.ppu E:/fpc/rtl/units/i386-win32/types.ppu E:/fpc/rtl/units/i386-win32/strutils.ppu E:/fpc/rtl/units/i386-win32/dateutils.ppu E:/fpc/rtl/units/i386-win32/varutils.ppu E:/fpc/rtl/units/i386-win32/variants.ppu E:/fpc/rtl/units/i386-win32/typinfo.ppu E:/fpc/rtl/units/i386-win32/fgl.ppu E:/fpc/rtl/units/i386-win32/classes.ppu E:/fpc/rtl/units/i386-win32/convutils.ppu E:/fpc/rtl/units/i386-win32/stdconvs.ppu E:/fpc/rtl/units/i386-win32/cpu.ppu E:/fpc/rtl/units/i386-win32/mmx.ppu E:/fpc/rtl/units/i386-win32/charset.ppu E:/fpc/rtl/units/i386-win32/character.ppu E:/fpc/rtl/units/i386-win32/ucomplex.ppu E:/fpc/rtl/units/i386-win32/getopts.ppu E:/fpc/rtl/units/i386-win32/winevent.ppu E:/fpc/rtl/units/i386-win32/sockets.ppu E:/fpc/rtl/units/i386-win32/printer.ppu E:/fpc/rtl/units/i386-win32/video.ppu E:/fpc/rtl/units/i386-win32/mouse.ppu E:/fpc/rtl/units/i386-win32/keyboard.ppu E:/fpc/rtl/units/i386-win32/fmtbcd.ppu E:/fpc/rtl/units/i386-win32/winsysut.ppu E:/fpc/rtl/units/i386-win32/sharemem.ppu E:/fpc/rtl/units/i386-win32/exeinfo.ppu E:/fpc/rtl/units/i386-win32/fpintres.ppu E:/fpc/rtl/units/i386-win32/windirs.ppu e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.o E:/fpc/rtl/units/i386-win32/objpas.o E:/fpc/rtl/units/i386-win32/macpas.o E:/fpc/rtl/units/i386-win32/iso7185.o E:/fpc/rtl/units/i386-win32/buildrtl.o E:/fpc/rtl/units/i386-win32/lineinfo.o E:/fpc/rtl/units/i386-win32/lnfodwrf.o E:/fpc/rtl/units/i386-win32/sysinitpas.o E:/fpc/rtl/units/i386-win32/sysinitcyg.o E:/fpc/rtl/units/i386-win32/sysinitgprof.o E:/fpc/rtl/units/i386-win32/ctypes.o E:/fpc/rtl/units/i386-win32/strings.o E:/fpc/rtl/units/i386-win32/heaptrc.o E:/fpc/rtl/units/i386-win32/matrix.o E:/fpc/rtl/units/i386-win32/windows.o E:/fpc/rtl/units/i386-win32/winsock.o E:/fpc/rtl/units/i386-win32/winsock2.o E:/fpc/rtl/units/i386-win32/initc.o E:/fpc/rtl/units/i386-win32/cmem.o E:/fpc/rtl/units/i386-win32/dynlibs.o E:/fpc/rtl/units/i386-win32/signals.o E:/fpc/rtl/units/i386-win32/dos.o E:/fpc/rtl/units/i386-win32/crt.o E:/fpc/rtl/units/i386-win32/objects.o E:/fpc/rtl/units/i386-win32/messages.o E:/fpc/rtl/units/i386-win32/rtlconsts.o E:/fpc/rtl/units/i386-win32/sysconst.o E:/fpc/rtl/units/i386-win32/sysutils.o E:/fpc/rtl/units/i386-win32/math.o E:/fpc/rtl/units/i386-win32/types.o E:/fpc/rtl/units/i386-win32/strutils.o E:/fpc/rtl/units/i386-win32/dateutils.o E:/fpc/rtl/units/i386-win32/varutils.o E:/fpc/rtl/units/i386-win32/variants.o E:/fpc/rtl/units/i386-win32/typinfo.o E:/fpc/rtl/units/i386-win32/fgl.o E:/fpc/rtl/units/i386-win32/classes.o E:/fpc/rtl/units/i386-win32/convutils.o E:/fpc/rtl/units/i386-win32/stdconvs.o E:/fpc/rtl/units/i386-win32/cpu.o E:/fpc/rtl/units/i386-win32/mmx.o E:/fpc/rtl/units/i386-win32/charset.o E:/fpc/rtl/units/i386-win32/character.o E:/fpc/rtl/units/i386-win32/ucomplex.o E:/fpc/rtl/units/i386-win32/getopts.o E:/fpc/rtl/units/i386-win32/winevent.o E:/fpc/rtl/units/i386-win32/sockets.o E:/fpc/rtl/units/i386-win32/printer.o E:/fpc/rtl/units/i386-win32/video.o E:/fpc/rtl/units/i386-win32/mouse.o E:/fpc/rtl/units/i386-win32/keyboard.o E:/fpc/rtl/units/i386-win32/fmtbcd.o E:/fpc/rtl/units/i386-win32/winsysut.o E:/fpc/rtl/units/i386-win32/sharemem.o E:/fpc/rtl/units/i386-win32/exeinfo.o E:/fpc/rtl/units/i386-win32/fpintres.o E:/fpc/rtl/units/i386-win32/windirs.o E:/fpc/rtl/units/i386-win32/libimpsystem.a E:/fpc/rtl/units/i386-win32/libimpsysinitpas.a E:/fpc/rtl/units/i386-win32/libimpsysinitcyg.a E:/fpc/rtl/units/i386-win32/libimpsysinitgprof.a E:/fpc/rtl/units/i386-win32/libimpheaptrc.a E:/fpc/rtl/units/i386-win32/libimpwindows.a E:/fpc/rtl/units/i386-win32/libimpwinsock.a E:/fpc/rtl/units/i386-win32/libimpwinsock2.a E:/fpc/rtl/units/i386-win32/libimpinitc.a E:/fpc/rtl/units/i386-win32/libimpcmem.a E:/fpc/rtl/units/i386-win32/libimpsignals.a E:/fpc/rtl/units/i386-win32/libimpdos.a E:/fpc/rtl/units/i386-win32/libimpsysutils.a E:/fpc/rtl/units/i386-win32/libimpvarutils.a E:/fpc/rtl/units/i386-win32/libimpsharemem.a E:/fpc/rtl/units/i386-win32/libimpfpintres.a e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/math.rst E:/fpc/rtl/units/i386-win32/varutils.rst E:/fpc/rtl/units/i386-win32/typinfo.rst E:/fpc/rtl/units/i386-win32/variants.rst E:/fpc/rtl/units/i386-win32/classes.rst E:/fpc/rtl/units/i386-win32/dateutils.rst E:/fpc/rtl/units/i386-win32/sysconst.rst e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[7]: Leaving directory `E:/fpc/rtl/win32' make[6]: Leaving directory `E:/fpc/rtl' e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl 'OPT=' all make[6]: Entering directory `E:/fpc/rtl' e:/fpc-bin/bin/i386-win32/make -C win32 all make[7]: Entering directory `E:/fpc/rtl/win32' E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win Runtime error 226 at $0040C776 $0040C776 $0040FB59 $7C81A1C2 $7C845A7C $7C83FE59 $7C82EB2F $7C828355

Can you add OPT="-gl" as argument to your make call? Then we'll get at least a stacktrace containing the line numbers. Maybe then we'll find what's wrong exactly.

Regards,
Sven

Reply by email

Leonardo M. Ramé
to Sven Barth

----- Original Message -----

Show quoted text 137 lines
From: Sven Barth To: Cc: Sent: Saturday, November 26, 2011 11:07 AM Subject: Re: [fpc-devel] Building trunk on Win32 On 26.11.2011 14:50, Leonardo M. Ramé wrote: > ... > make[4]: Entering directory `E:/fpc/compiler' > e:/fpc-bin/bin/i386-win32/make rtlclean rtl > make[5]: Entering directory `E:/fpc/compiler' > e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl clean > make[6]: Entering directory `E:/fpc/rtl' > e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res > e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat > e:/fpc-bin/bin/i386-win32/make -C win32 clean > make[7]: Entering directory `E:/fpc/rtl/win32' > e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.ppu E:/fpc/rtl/units/i386-win32/objpas.ppu E:/fpc/rtl/units/i386-win32/macpas.ppu E:/fpc/rtl/units/i386-win32/iso7185.ppu E:/fpc/rtl/units/i386-win32/buildrtl.ppu E:/fpc/rtl/units/i386-win32/lineinfo.ppu E:/fpc/rtl/units/i386-win32/lnfodwrf.ppu E:/fpc/rtl/units/i386-win32/sysinitpas.ppu E:/fpc/rtl/units/i386-win32/sysinitcyg.ppu E:/fpc/rtl/units/i386-win32/sysinitgprof.ppu E:/fpc/rtl/units/i386-win32/ctypes.ppu E:/fpc/rtl/units/i386-win32/strings.ppu E:/fpc/rtl/units/i386-win32/heaptrc.ppu E:/fpc/rtl/units/i386-win32/matrix.ppu E:/fpc/rtl/units/i386-win32/windows.ppu E:/fpc/rtl/units/i386-win32/winsock.ppu E:/fpc/rtl/units/i386-win32/winsock2.ppu E:/fpc/rtl/units/i386-win32/initc.ppu E:/fpc/rtl/units/i386-win32/cmem.ppu E:/fpc/rtl/units/i386-win32/dynlibs.ppu E:/fpc/rtl/units/i386-win32/signals.ppu E:/fpc/rtl/units/i386-win32/dos.ppu E:/fpc/rtl/units/i386-win32/crt.ppu >   E:/fpc/rtl/units/i386-win32/objects.ppu E:/fpc/rtl/units/i386-win32/messages.ppu E:/fpc/rtl/units/i386-win32/rtlconsts.ppu E:/fpc/rtl/units/i386-win32/sysconst.ppu E:/fpc/rtl/units/i386-win32/sysutils.ppu E:/fpc/rtl/units/i386-win32/math.ppu E:/fpc/rtl/units/i386-win32/types.ppu E:/fpc/rtl/units/i386-win32/strutils.ppu E:/fpc/rtl/units/i386-win32/dateutils.ppu E:/fpc/rtl/units/i386-win32/varutils.ppu E:/fpc/rtl/units/i386-win32/variants.ppu E:/fpc/rtl/units/i386-win32/typinfo.ppu E:/fpc/rtl/units/i386-win32/fgl.ppu E:/fpc/rtl/units/i386-win32/classes.ppu E:/fpc/rtl/units/i386-win32/convutils.ppu E:/fpc/rtl/units/i386-win32/stdconvs.ppu E:/fpc/rtl/units/i386-win32/cpu.ppu E:/fpc/rtl/units/i386-win32/mmx.ppu E:/fpc/rtl/units/i386-win32/charset.ppu E:/fpc/rtl/units/i386-win32/character.ppu E:/fpc/rtl/units/i386-win32/ucomplex.ppu E:/fpc/rtl/units/i386-win32/getopts.ppu E:/fpc/rtl/units/i386-win32/winevent.ppu E:/fpc/rtl/units/i386-win32/sockets.ppu >   E:/fpc/rtl/units/i386-win32/printer.ppu E:/fpc/rtl/units/i386-win32/video.ppu E:/fpc/rtl/units/i386-win32/mouse.ppu E:/fpc/rtl/units/i386-win32/keyboard.ppu E:/fpc/rtl/units/i386-win32/fmtbcd.ppu E:/fpc/rtl/units/i386-win32/winsysut.ppu E:/fpc/rtl/units/i386-win32/sharemem.ppu E:/fpc/rtl/units/i386-win32/exeinfo.ppu E:/fpc/rtl/units/i386-win32/fpintres.ppu E:/fpc/rtl/units/i386-win32/windirs.ppu > e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/system.o E:/fpc/rtl/units/i386-win32/objpas.o E:/fpc/rtl/units/i386-win32/macpas.o E:/fpc/rtl/units/i386-win32/iso7185.o E:/fpc/rtl/units/i386-win32/buildrtl.o E:/fpc/rtl/units/i386-win32/lineinfo.o E:/fpc/rtl/units/i386-win32/lnfodwrf.o E:/fpc/rtl/units/i386-win32/sysinitpas.o E:/fpc/rtl/units/i386-win32/sysinitcyg.o E:/fpc/rtl/units/i386-win32/sysinitgprof.o E:/fpc/rtl/units/i386-win32/ctypes.o E:/fpc/rtl/units/i386-win32/strings.o E:/fpc/rtl/units/i386-win32/heaptrc.o E:/fpc/rtl/units/i386-win32/matrix.o E:/fpc/rtl/units/i386-win32/windows.o E:/fpc/rtl/units/i386-win32/winsock.o E:/fpc/rtl/units/i386-win32/winsock2.o E:/fpc/rtl/units/i386-win32/initc.o E:/fpc/rtl/units/i386-win32/cmem.o E:/fpc/rtl/units/i386-win32/dynlibs.o E:/fpc/rtl/units/i386-win32/signals.o E:/fpc/rtl/units/i386-win32/dos.o E:/fpc/rtl/units/i386-win32/crt.o E:/fpc/rtl/units/i386-win32/objects.o >   E:/fpc/rtl/units/i386-win32/messages.o E:/fpc/rtl/units/i386-win32/rtlconsts.o E:/fpc/rtl/units/i386-win32/sysconst.o E:/fpc/rtl/units/i386-win32/sysutils.o E:/fpc/rtl/units/i386-win32/math.o E:/fpc/rtl/units/i386-win32/types.o E:/fpc/rtl/units/i386-win32/strutils.o E:/fpc/rtl/units/i386-win32/dateutils.o E:/fpc/rtl/units/i386-win32/varutils.o E:/fpc/rtl/units/i386-win32/variants.o E:/fpc/rtl/units/i386-win32/typinfo.o E:/fpc/rtl/units/i386-win32/fgl.o E:/fpc/rtl/units/i386-win32/classes.o E:/fpc/rtl/units/i386-win32/convutils.o E:/fpc/rtl/units/i386-win32/stdconvs.o E:/fpc/rtl/units/i386-win32/cpu.o E:/fpc/rtl/units/i386-win32/mmx.o E:/fpc/rtl/units/i386-win32/charset.o E:/fpc/rtl/units/i386-win32/character.o E:/fpc/rtl/units/i386-win32/ucomplex.o E:/fpc/rtl/units/i386-win32/getopts.o E:/fpc/rtl/units/i386-win32/winevent.o E:/fpc/rtl/units/i386-win32/sockets.o E:/fpc/rtl/units/i386-win32/printer.o E:/fpc/rtl/units/i386-win32/video.o >   E:/fpc/rtl/units/i386-win32/mouse.o E:/fpc/rtl/units/i386-win32/keyboard.o E:/fpc/rtl/units/i386-win32/fmtbcd.o E:/fpc/rtl/units/i386-win32/winsysut.o E:/fpc/rtl/units/i386-win32/sharemem.o E:/fpc/rtl/units/i386-win32/exeinfo.o E:/fpc/rtl/units/i386-win32/fpintres.o E:/fpc/rtl/units/i386-win32/windirs.o E:/fpc/rtl/units/i386-win32/libimpsystem.a E:/fpc/rtl/units/i386-win32/libimpsysinitpas.a E:/fpc/rtl/units/i386-win32/libimpsysinitcyg.a E:/fpc/rtl/units/i386-win32/libimpsysinitgprof.a E:/fpc/rtl/units/i386-win32/libimpheaptrc.a E:/fpc/rtl/units/i386-win32/libimpwindows.a E:/fpc/rtl/units/i386-win32/libimpwinsock.a E:/fpc/rtl/units/i386-win32/libimpwinsock2.a E:/fpc/rtl/units/i386-win32/libimpinitc.a E:/fpc/rtl/units/i386-win32/libimpcmem.a E:/fpc/rtl/units/i386-win32/libimpsignals.a E:/fpc/rtl/units/i386-win32/libimpdos.a E:/fpc/rtl/units/i386-win32/libimpsysutils.a E:/fpc/rtl/units/i386-win32/libimpvarutils.a >   E:/fpc/rtl/units/i386-win32/libimpsharemem.a E:/fpc/rtl/units/i386-win32/libimpfpintres.a > e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/math.rst E:/fpc/rtl/units/i386-win32/varutils.rst E:/fpc/rtl/units/i386-win32/typinfo.rst E:/fpc/rtl/units/i386-win32/variants.rst E:/fpc/rtl/units/i386-win32/classes.rst E:/fpc/rtl/units/i386-win32/dateutils.rst E:/fpc/rtl/units/i386-win32/sysconst.rst > e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res > e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat > make[7]: Leaving directory `E:/fpc/rtl/win32' > make[6]: Leaving directory `E:/fpc/rtl' > e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl 'OPT=' all > make[6]: Entering directory `E:/fpc/rtl' > e:/fpc-bin/bin/i386-win32/make -C win32 all > make[7]: Entering directory `E:/fpc/rtl/win32' > E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win > Runtime error 226 at $0040C776 >     $0040C776 >     $0040FB59 >     $7C81A1C2 >     $7C845A7C >     $7C83FE59 >     $7C82EB2F >     $7C828355 Can you add OPT="-gl" as argument to your make call? Then we'll get at least a stacktrace containing the line numbers. Maybe then we'll find what's wrong exactly. Regards, Sven _______________________________________________ fpc-devel maillist  -  http://lists.freepascal.org/mailman/listinfo/fpc-devel

Sven, I added OPT="-gl" but I got exactly the same output. I also tried with clean all OPT="-gl" and got the same.

--  
Leonardo M. Ramé
http://leonardorame.blogspot.com

Reply by email

Sven Barth
to Sergei Gorelkin: 26.11.2011 17:18, Leonardo M. Ramé пишет: $0040C776 is systhrd.inc line 125 "if…
Sergei Gorelkin wrote 29 lines
26.11.2011 17:18, Leonardo M. Ramé пишет: >>> Runtime error 226 at $0040C776 >>> $0040C776 >>> $0040FB59 >>> $7C81A1C2 >>> $7C845A7C >>> $7C83FE59 >>> $7C82EB2F >>> $7C828355 >> $0040C776 is systhrd.inc line 125 "if TLSKey=$ffffffff then RunError(226) $0040FB59 is syswin.inc line 356, DLL_THREAD_ATTACH branch of exec_tls_callback This is TLS callback feature showing its dark side. Something specfic to your system is creating a thread in your ppc2.exe, presumably it happens before ppc2.exe is initialized (if it initializes, TLSKey will receive value other than -1). Check for antivirus software, etc. If you want to get a clue what it is, you may use e.g. ProcessExplorer tool (http://technet.microsoft.com/ru-ru/sysinternals/bb896653). Launch any FPC binary that launches (it will display help and wait for keypress), find it in process list, right-click and select Properties, then "Threads" tab. If I'm correct, you'll see more than one item in the thread list.

If your assumption should be correct, what can be done against this from FPC side?

Regards,
Sven

Reply by email

Sergei Gorelkin
to Leonardo M. Ramé: ----- Original Message ----- Sven, I added OPT="-gl" but I got exactly the same output. I…

26.11.2011 17:18, Leonardo M. Ramé пишет:

Show quoted text 9 lines
>> Runtime error 226 at $0040C776 >> $0040C776 >> $0040FB59 >> $7C81A1C2 >> $7C845A7C >> $7C83FE59 >> $7C82EB2F >> $7C828355 >

$0040C776 is systhrd.inc line 125 "if TLSKey=$ffffffff then RunError(226) $0040FB59 is syswin.inc line 356, DLL_THREAD_ATTACH branch of exec_tls_callback

This is TLS callback feature showing its dark side.

Something specfic to your system is creating a thread in your ppc2.exe, presumably it happens before ppc2.exe is initialized (if it initializes, TLSKey will receive value other than -1).

Check for antivirus software, etc. If you want to get a clue what it is, you may use e.g. ProcessExplorer tool (http://technet.microsoft.com/ru-ru/sysinternals/bb896653). Launch any FPC binary that launches (it will display help and wait for keypress), find it in process list, right-click and select Properties, then "Threads" tab. If I'm correct, you'll see more than one item in the thread list.

Regards,
Sergei

Reply by email

Leonardo M. Ramé
to Sven Barth: If your assumption should be correct, what can be done against this from FPC side? Sven

----- Original Message -----

Show quoted text 45 lines
From: Sven Barth To: Cc: Sent: Saturday, November 26, 2011 3:40 PM Subject: Re: [fpc-devel] Building trunk on Win32 On 26.11.2011 19:50, Sergei Gorelkin wrote: > 26.11.2011 17:18, Leonardo M. Ramé пишет: > >>>> Runtime error 226 at $0040C776 >>>> $0040C776 >>>> $0040FB59 >>>> $7C81A1C2 >>>> $7C845A7C >>>> $7C83FE59 >>>> $7C82EB2F >>>> $7C828355 >>> > > $0040C776 is systhrd.inc line 125 "if TLSKey=$ffffffff then RunError(226) > $0040FB59 is syswin.inc line 356, DLL_THREAD_ATTACH branch of > exec_tls_callback > > This is TLS callback feature showing its dark side. > > Something specfic to your system is creating a thread in your ppc2.exe, > presumably it happens before ppc2.exe is initialized (if it initializes, > TLSKey will receive value other than -1). > > Check for antivirus software, etc. If you want to get a clue what it is, > you may use e.g. ProcessExplorer tool > (http://technet.microsoft.com/ru-ru/sysinternals/bb896653). Launch any > FPC binary that launches (it will display help and wait for keypress), > find it in process list, right-click and select Properties, then > "Threads" tab. If I'm correct, you'll see more than one item in the > thread list. If your assumption should be correct, what can be done against this from FPC side? Regards, Sven

This machine is running Win2003 32bits as Guest on VirtualBox 4.1.2 on Ubuntu 11.10 x86_64. On Windows it is not running any antivirus and I enabled only the default services, disabled firewall/updates/antivirus/etc.

I did a test with processexplorer as you suggested, by running fpc, then go to procexp->ppc386.exe->properties->threads and captured the attached screenshot. 

Hope this help to find the problem.

-- 
Leonardo M. Ramé
http://leonardorame.blogspot.com  

Reply by email

Sergei Gorelkin
to Sven Barth: If your assumption should be correct, what can be done against this from FPC side? Sven

26.11.2011 21:40, Sven Barth пишет:

Show quoted text 17 lines
On 26.11.2011 19:50, Sergei Gorelkin wrote: > 26.11.2011 17:18, Leonardo M. Ramé пишет: > > > $0040C776 is systhrd.inc line 125 "if TLSKey=$ffffffff then RunError(226) > $0040FB59 is syswin.inc line 356, DLL_THREAD_ATTACH branch of > exec_tls_callback > > This is TLS callback feature showing its dark side. > > Something specfic to your system is creating a thread in your ppc2.exe, > presumably it happens before ppc2.exe is initialized (if it initializes, > TLSKey will receive value other than -1). > If your assumption should be correct, what can be done against this from FPC side?

At this point I have two ideas:
1) Initialize TLSKey in DLL_PROCESS_ATTACH branch of callback
2) Make all this callback stuff optional, because it is actually needed for very few cases. "Optional" means referencing it from a fake function, which users who need the feature should call or reference. Otherwise it is smartlinked away.

Regards,
Sergei

Reply by email

Leonardo M. Ramé
to Sergei Gorelkin: 26.11.2011 23:10, Leonardo M. Ramé пишет: I committed a fix in svn revision 19693.…

From: Sergei Gorelkin

Show quoted text 20 lines
To: Sent: Saturday, November 26, 2011 6:55 PM Subject: Re: [fpc-devel] Building trunk on Win32 26.11.2011 23:10, Leonardo M. Ramé пишет: > This machine is running Win2003 32bits as Guest on VirtualBox 4.1.2 on Ubuntu 11.10 x86_64. On Windows it is not running any antivirus and I enabled only the default services, disabled firewall/updates/antivirus/etc. > > I did a test with processexplorer as you suggested, by running fpc, then go to procexp->ppc386.exe->properties->threads and captured the attached screenshot. > > Hope this help to find the problem. > I committed a fix in svn revision 19693. Please update and re-test. Regards, Sergei _______________________________________________ fpc-devel maillist  -  http://lists.freepascal.org/mailman/listinfo/fpc-devel

This is the output I get after update:

...
make.exe[6]: Leaving directory `E:/fpc/rtl'
e:/FPC-bin/bin/i386-win32/make.exe -C E:/fpc/rtl 'OPT=' all make.exe[6]: Entering directory `E:/fpc/rtl'
e:/FPC-bin/bin/i386-win32/make.exe -C win32 all
make.exe[7]: Entering directory `E:/fpc/rtl/win32' E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win ustrings.inc(1475,11) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString" ustrings.inc(1481,11) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString" ustrings.inc(1500,11) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString" ustrings.inc(1512,11) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString" ustrings.inc(1747,10) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "ShortString" ustrings.inc(1762,9) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "ShortString" ustrings.inc(1778,10) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "ShortString" ustrings.inc(1793,10) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "ShortString" ustrings.inc(1808,10) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "ShortString" ustrings.inc(1825,11) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "ShortString" ustrings.inc(1840,11) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "ShortString" ustrings.inc(1854,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(1864,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(1873,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(1882,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(1891,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(1900,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(1911,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(1920,6) Warning: Implicit string type conversion from "ShortString" to "UnicodeString" ustrings.inc(2404,13) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "RawByteString" text.inc(1774,14) Warning: Implicit string type conversion from "AnsiString" to "UnicodeString" text.inc(1801,14) Warning: Implicit string type conversion from "AnsiString" to "WideString" text.inc(1994,44) Warning: Implicit string type conversion with potential data loss from "UnicodeString" to "AnsiString" text.inc(2004,44) Warning: Implicit string type conversion with potential data loss from "WideString" to "AnsiString" make.exe[7]: *** [system.ppu] Error 255
make.exe[7]: Leaving directory `E:/fpc/rtl/win32'
make.exe[6]: *** [win32_all] Error 2
make.exe[6]: Leaving directory `E:/fpc/rtl'
make.exe[5]: *** [rtl] Error 2
make.exe[5]: Leaving directory `E:/fpc/compiler'
make.exe[4]: *** [next] Error 2
make.exe[4]: Leaving directory `E:/fpc/compiler'
make.exe[3]: *** [ppc3.exe] Error 2
make.exe[3]: Leaving directory `E:/fpc/compiler'
make.exe[2]: *** [cycle] Error 2
make.exe[2]: Leaving directory `E:/fpc/compiler'
make.exe[1]: *** [compiler_cycle] Error 2
make.exe[1]: Leaving directory `E:/fpc'
e:\FPC-bin\bin\i386-win32\make.exe: *** [build-stamp.i386-win32] Error 2  
-- 
Leonardo M. Ramé
http://leonardorame.blogspot.com

Reply by email

Sergei Gorelkin
to Leonardo M. Ramé: ----- Original Message ----- This machine is running Win2003 32bits as Guest on…

26.11.2011 23:10, Leonardo M. Ramé пишет:

Show quoted text 6 lines
This machine is running Win2003 32bits as Guest on VirtualBox 4.1.2 on Ubuntu 11.10 x86_64. On Windows it is not running any antivirus and I enabled only the default services, disabled firewall/updates/antivirus/etc. I did a test with processexplorer as you suggested, by running fpc, then go to procexp->ppc386.exe->properties->threads and captured the attached screenshot. Hope this help to find the problem.

I committed a fix in svn revision 19693. Please update and re-test.

Regards,
Sergei

Reply by email

Jonas Maebe
to Sergei Gorelkin: 27.11.2011 13:09, Jonas Maebe пишет: and got the same. From this I concluded that…
Sergei Gorelkin wrote 9 lines
27.11.2011 13:09, Jonas Maebe пишет: > > I regularly use OPT at the top level myself and I've never seen it being ignored in that situation. > Earlier in this thread Leonardo wrote: >> Sven, I added OPT="-gl" but I got exactly the same output. I also tried with clean all OPT="-gl" and got the same. From this I concluded that something goes wrong with OPT at top level at least in this particular case.

It can also mean that the code in the lineinfo unit didn't work for some reason, which seems more likely to me. Even the -Xs added by the top level "make all" doesn't cause problems in that case, because the OPT parameters are added at the end of the command line and -g will disable -Xs if it comes after it.

Jonas

Reply by email

Sergei Gorelkin
to Leonardo M. Ramé: From: Sergei Gorelkin This is the output I get after update: ... make.exe[6]: Leaving…

27.11.2011 0:41, Leonardo M. Ramé пишет:

This is the output I get after update: ...

Well, now ppc2.exe at least starts.

Can you further try to build with OPT=-dDISABLE_TLS_DIRECTORY ? But don't execute 'make clean all OPT=-dDISABLE_TLS_DIRECTORY' at the top-level directory, as in this case OPT is apparently ignored. Instead, change dir to 'e:\fpc\compiler' and execute

make cycle OPT=-dDISABLE_TLS_DIRECTORY

Sergei

Reply by email

Sergei Gorelkin
to Jonas Maebe: I regularly use OPT at the top level myself and I've never seen it being ignored in that…

27.11.2011 13:09, Jonas Maebe пишет:

Show quoted text 7 lines
On 27 Nov 2011, at 12:05, Sergei Gorelkin wrote: > But don't execute 'make clean all OPT=-dDISABLE_TLS_DIRECTORY' at the top-level directory, as in this case OPT is apparently ignored. I regularly use OPT at the top level myself and I've never seen it being ignored in that situation.
Earlier in this thread Leonardo wrote
> Sven, I added OPT="-gl" but I got exactly the same output. I also tried with clean all OPT="-gl"

and got the same.

From this I concluded that something goes wrong with OPT at top level at least in this particular case.

Sergei

Reply by email

Sergei Gorelkin
to Jonas Maebe: It can also mean that the code in the lineinfo unit didn't work for some reason, which…

27.11.2011 13:26, Jonas Maebe пишет:

Show quoted text 15 lines
On 27 Nov 2011, at 12:19, Sergei Gorelkin wrote: > 27.11.2011 13:09, Jonas Maebe пишет: >> >> I regularly use OPT at the top level myself and I've never seen it being ignored in that situation. >> > Earlier in this thread Leonardo wrote: > >>> Sven, I added OPT="-gl" but I got exactly the same output. I also tried with clean all OPT="-gl" and got the same. > > From this I concluded that something goes wrong with OPT at top level at least in this particular case. It can also mean that the code in the lineinfo unit didn't work for some reason, which seems more likely to me. Even the -Xs added by the top level "make all" doesn't cause problems in that case, because the OPT parameters are added at the end of the command line and -g will disable -Xs if it comes after it.

After re-testing and seeing that OPT is indeed passed correctly, I agree that I had made a wrong conclusion here. But let's wait for feedback; if compiler alone can be cycled with DISABLE_TLS_DIRECTORY then the whole trunk is very probably can build that way too.

Sergei

Reply by email

Leonardo M. Ramé
to Sergei Gorelkin

----- Original Message -----

Show quoted text 41 lines
From: Sergei Gorelkin To: Cc: Sent: Sunday, November 27, 2011 9:07 AM Subject: Re: [fpc-devel] Building trunk on Win32 27.11.2011 13:26, Jonas Maebe пишет: > > On 27 Nov 2011, at 12:19, Sergei Gorelkin wrote: > >> 27.11.2011 13:09, Jonas Maebe пишет: >>> >>> I regularly use OPT at the top level myself and I've never seen it being ignored in that situation. >>> >> Earlier in this thread Leonardo wrote: >> >>>> Sven, I added OPT="-gl" but I got exactly the same output. I also tried with clean all OPT="-gl" and got the same. >> >>   From this I concluded that something goes wrong with OPT at top level at least in this particular case. > > It can also mean that the code in the lineinfo unit didn't work for some reason, which seems more likely to me. Even the -Xs added by the top level "make all" doesn't cause problems in that case, because the OPT parameters are added at the end of the command line and -g will disable -Xs if it comes after it. > After re-testing and seeing that OPT is indeed passed correctly, I agree that I had made a wrong conclusion here. But let's wait for feedback; if compiler alone can be cycled with DISABLE_TLS_DIRECTORY then the whole trunk is very probably can build that way too. Sergei _______________________________________________ fpc-devel maillist  -  http://lists.freepascal.org/mailman/listinfo/fpc-devel

Well, I found I had an e:\pp directory containing an fpc 2.5.1, and my PATH was pointing to it, so my previous tests could have been influenced by some files from that directory.

After deleting it, I compiled from top level directory using:

e:\fpc-bin\bin\i386-win32\make clean OPT="-dDISABLE_TLS_DIRECTORY"  all PP=e:\fpc-bin\bin\i386-win32\ppc386.exe

and it worked without issues.
 
Then, I did e:\fpc-bin\bin\i386-win32\make clean all PP=e:\fpc-bin\bin\i386-win32\ppc386.exe and got this:

...
win32/libimpvarutils.a E:/fpc/rtl/units/i386-win32/libimpsharemem.a E:/fpc/rtl/units/i386-win32/libimpfpintres.a e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/math.rst E:/fpc/rtl/units/i386-win32/varutils.rst E:/fpc/rtl/units/i386-win32/typinfo.rst E:/fpc/rtl/units/i386-win32/variants.rst E:/fpc/rtl/units/i386-win32/classes.rst E:/fpc/rtl/units/i386-win32/dateutils.rst E:/fpc/rtl/units/i386-win32/sysconst.rst e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res   e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[7]: Leaving directory `E:/fpc/rtl/win32'
make[6]: Leaving directory `E:/fpc/rtl'
e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl 'OPT=' all make[6]: Entering directory `E:/fpc/rtl'
e:/fpc-bin/bin/i386-win32/make -C win32 all
make[7]: Entering directory `E:/fpc/rtl/win32'
E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win make[7]: *** [system.ppu] Error 255
make[7]: Leaving directory `E:/fpc/rtl/win32'
make[6]: *** [win32_all] Error 2
make[6]: Leaving directory `E:/fpc/rtl'
make[5]: *** [rtl] Error 2
make[5]: Leaving directory `E:/fpc/compiler'
make[4]: *** [next] Error 2
make[4]: Leaving directory `E:/fpc/compiler'
make[3]: *** [ppc3.exe] Error 2
make[3]: Leaving directory `E:/fpc/compiler'
make[2]: *** [cycle] Error 2
make[2]: Leaving directory `E:/fpc/compiler'
make[1]: *** [compiler_cycle] Error 2
make[1]: Leaving directory `E:/fpc'
e:\fpc-bin\bin\i386-win32\make: *** [build-stamp.i386-win32] Error 2

Conclussion, the DISABLE_TLS_DIRECTORY worked as expected. 

-- 
Leonardo M. Ramé
http://leonardorame.blogspot.com

Reply by email

Sergei Gorelkin
to Leonardo M. Ramé

27.11.2011 16:45, Leonardo M. Ramé пишет:

Show quoted text 9 lines
Well, I found I had an e:\pp directory containing an fpc 2.5.1, and my PATH was pointing to it, so my previous tests could have been influenced by some files from that directory. After deleting it, I compiled from top level directory using: e:\fpc-bin\bin\i386-win32\make clean OPT="-dDISABLE_TLS_DIRECTORY" all PP=e:\fpc-bin\bin\i386-win32\ppc386.exe and it worked without issues.

Good. Even better is that we didn't enable these TLS callbacks for 2.6 :-/

Show quoted text 32 lines
Then, I did e:\fpc-bin\bin\i386-win32\make clean all PP=e:\fpc-bin\bin\i386-win32\ppc386.exe and got this: ... win32/libimpvarutils.a E:/fpc/rtl/units/i386-win32/libimpsharemem.a E:/fpc/rtl/units/i386-win32/libimpfpintres.a e:/FPC-bin/bin/i386-Win32/rm.exe -f E:/fpc/rtl/units/i386-win32/math.rst E:/fpc/rtl/units/i386-win32/varutils.rst E:/fpc/rtl/units/i386-win32/typinfo.rst E:/fpc/rtl/units/i386-win32/variants.rst E:/fpc/rtl/units/i386-win32/classes.rst E:/fpc/rtl/units/i386-win32/dateutils.rst E:/fpc/rtl/units/i386-win32/sysconst.rst e:/FPC-bin/bin/i386-Win32/rm.exe -f fpcmade.i386-win32 Package.fpc ppas.bat script.res link.res e:/FPC-bin/bin/i386-Win32/rm.exe -f *.s *_ppas.bat make[7]: Leaving directory `E:/fpc/rtl/win32' make[6]: Leaving directory `E:/fpc/rtl' e:/fpc-bin/bin/i386-win32/make -C E:/fpc/rtl 'OPT=' all make[6]: Entering directory `E:/fpc/rtl' e:/fpc-bin/bin/i386-win32/make -C win32 all make[7]: Entering directory `E:/fpc/rtl/win32' E:/fpc/compiler/ppc2.exe -Ur -Xs -O2 -n -Fi../inc -Fi../i386 -Fi../win -FE. -FUE:/fpc/rtl/units/i386-win32 -di386 -dRELEASE -Us -Sg system.pp -Fi../win make[7]: *** [system.ppu] Error 255 make[7]: Leaving directory `E:/fpc/rtl/win32' make[6]: *** [win32_all] Error 2 make[6]: Leaving directory `E:/fpc/rtl' make[5]: *** [rtl] Error 2 make[5]: Leaving directory `E:/fpc/compiler' make[4]: *** [next] Error 2 make[4]: Leaving directory `E:/fpc/compiler' make[3]: *** [ppc3.exe] Error 2 make[3]: Leaving directory `E:/fpc/compiler' make[2]: *** [cycle] Error 2 make[2]: Leaving directory `E:/fpc/compiler' make[1]: *** [compiler_cycle] Error 2 make[1]: Leaving directory `E:/fpc' e:\fpc-bin\bin\i386-win32\make: *** [build-stamp.i386-win32] Error 2 Conclussion, the DISABLE_TLS_DIRECTORY worked as expected.

The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise suggests that the foreign thread raises exceptions and FPC tries to handle them. Error 255 is most likely caused by Halt(255) in rtl/inc/except.inc line 200 or 303, these are the only places where RTL can exit with code 255. This is explainable: FPC won't have ExceptObjectStack or ExceptAddressStack set up for the foreign thread, they will contain nil values.

But I don't imagine how it manages to work *without* TLS callbacks. The difference is that RTL will remain in single-threaded mode, but SetUnhandledExceptionFilter that is used to intercept exceptions is AFAIK global and will still break in.

Sergei

Reply by email

Sven Barth
to Sergei Gorelkin
Sergei Gorelkin wrote 13 lines
The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise suggests that the foreign thread raises exceptions and FPC tries to handle them. Error 255 is most likely caused by Halt(255) in rtl/inc/except.inc line 200 or 303, these are the only places where RTL can exit with code 255. This is explainable: FPC won't have ExceptObjectStack or ExceptAddressStack set up for the foreign thread, they will contain nil values. But I don't imagine how it manages to work *without* TLS callbacks. The difference is that RTL will remain in single-threaded mode, but SetUnhandledExceptionFilter that is used to intercept exceptions is AFAIK global and will still break in.

Also interesting question: why does so far only Leonardo experience that problem? I myself have no problem building trunk on a Windows 7 machine using 2.4.4 as a starting compiler.

Regards,
Sven

Reply by email

Leonardo M. Ramé
to Sven Barth

----- Original Message -----

Show quoted text 27 lines
From: Sven Barth To: Cc: Sent: Sunday, November 27, 2011 1:10 PM Subject: Re: [fpc-devel] Building trunk on Win32 On 27.11.2011 16:45, Sergei Gorelkin wrote: > The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise > suggests that the foreign thread raises exceptions and FPC tries to > handle them. Error 255 is most likely caused by Halt(255) in > rtl/inc/except.inc line 200 or 303, these are the only places where RTL > can exit with code 255. > This is explainable: FPC won't have ExceptObjectStack or > ExceptAddressStack set up for the foreign thread, they will contain nil > values. > > But I don't imagine how it manages to work *without* TLS callbacks. The > difference is that RTL will remain in single-threaded mode, but > SetUnhandledExceptionFilter that is used to intercept exceptions is > AFAIK global and will still break in. Also interesting question: why does so far only Leonardo experience that problem? I myself have no problem building trunk on a Windows 7 machine using 2.4.4 as a starting compiler. Regards, Sven

Maybe because of my setup:

Win2003 32bits (and its updates) running on a VirtualBox machine that hosted on a Linux x86_64.

--  
Leonardo M. Ramé
http://leonardorame.blogspot.com

Reply by email

Sergei Gorelkin
to Sven Barth: Also interesting question: why does so far only Leonardo experience that problem? I…

27.11.2011 19:10, Sven Barth пишет:

Show quoted text 18 lines
On 27.11.2011 16:45, Sergei Gorelkin wrote: > The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise > suggests that the foreign thread raises exceptions and FPC tries to > handle them. Error 255 is most likely caused by Halt(255) in > rtl/inc/except.inc line 200 or 303, these are the only places where RTL > can exit with code 255. > This is explainable: FPC won't have ExceptObjectStack or > ExceptAddressStack set up for the foreign thread, they will contain nil > values. > > But I don't imagine how it manages to work *without* TLS callbacks. The > difference is that RTL will remain in single-threaded mode, but > SetUnhandledExceptionFilter that is used to intercept exceptions is > AFAIK global and will still break in. Also interesting question: why does so far only Leonardo experience that problem? I myself have no problem building trunk on a Windows 7 machine using 2.4.4 as a starting compiler.

He has some software which creates threads in compiler process. Maybe something specific to VM, maybe something specific to server OS.
I also build trunk successfully on Windows XP (32bit) and Windows 7 (64bit), on both of them Process Explorer shows just a single thread in compiler process.

Another point to look at is webtbs/tw2423.pp, testsuite shows it fails consistently with RTE 226, while I have never seen it failing locally.

Sergei

Reply by email

Sven Barth
to Sergei Gorelkin
Sergei Gorelkin wrote 29 lines
27.11.2011 19:10, Sven Barth пишет: > On 27.11.2011 16:45, Sergei Gorelkin wrote: >> The fact it works with DISABLE_TLS_DIRECTORY and fails otherwise >> suggests that the foreign thread raises exceptions and FPC tries to >> handle them. Error 255 is most likely caused by Halt(255) in >> rtl/inc/except.inc line 200 or 303, these are the only places where RTL >> can exit with code 255. >> This is explainable: FPC won't have ExceptObjectStack or >> ExceptAddressStack set up for the foreign thread, they will contain nil >> values. >> >> But I don't imagine how it manages to work *without* TLS callbacks. The >> difference is that RTL will remain in single-threaded mode, but >> SetUnhandledExceptionFilter that is used to intercept exceptions is >> AFAIK global and will still break in. > > Also interesting question: why does so far only Leonardo experience > that problem? I myself have no > problem building trunk on a Windows 7 machine using 2.4.4 as a > starting compiler. > He has some software which creates threads in compiler process. Maybe something specific to VM, maybe something specific to server OS. I also build trunk successfully on Windows XP (32bit) and Windows 7 (64bit), on both of them Process Explorer shows just a single thread in compiler process. Another point to look at is webtbs/tw2423.pp, testsuite shows it fails consistently with RTE 226, while I have never seen it failing locally.

I've remembered that I also have a Windows 2003 VM running on my Linux x86_64 system (using QEMU though). I did now run a "make cycle" and tested the test you mentioned (using the newly compiled compiler). No problems here (revision is 19692 - it's a coincidence though that it's directly before your change). I also checked the compiler process using Process Explorer: only one thread there.

Regards,
Sven

Reply by email