[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.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___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
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 De : fpc-devel-boun...@lists.freepascal.org [mailto:fpc-devel-boun...@lists.freepascal.org] 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
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.p
Re: [fpc-devel] Building trunk on Win32
On 26.11.2011 14:17, Leonardo M. Ramé wrote: 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
- Original Message - > 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 >
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/u
Re: [fpc-devel] Building trunk on Win32
- Original Message - > From: Sven Barth > To: fpc-devel@lists.freepascal.org > 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
Re: [fpc-devel] Building trunk on Win32
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=$ 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
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=$ 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
26.11.2011 21:40, Sven Barth пишет: 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=$ 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
- Original Message - > From: Sven Barth > To: fpc-devel@lists.freepascal.org > 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=$ 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 <>___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
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 - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
From: Sergei Gorelkin >To: fpc-devel@lists.freepascal.org >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 - fpc-devel@lists.freepascal.org >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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
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. Jonas___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
27.11.2011 13:09, Jonas Maebe пишет: 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
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. Jonas___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
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 - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
- Original Message - > From: Sergei Gorelkin > To: fpc-devel@lists.freepascal.org > 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 - fpc-devel@lists.freepascal.org > 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
27.11.2011 16:45, Leonardo M. Ramé пишет: 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 :-/ 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
- Original Message - > From: Sven Barth > To: fpc-devel@lists.freepascal.org > 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
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. Sergei ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel
Re: [fpc-devel] Building trunk on Win32
On 27.11.2011 18:48, Sergei Gorelkin wrote: 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 ___ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel