Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin

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

2011-11-27 Thread 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.


Jonas___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin

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

2011-11-27 Thread 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.


Jonas___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Building trunk on Win32

2011-11-27 Thread Sergei Gorelkin

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

2011-11-27 Thread Leonardo M . Ramé
- Original Message -

 From: Sergei Gorelkin sergei_gorel...@mail.ru
 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

2011-11-27 Thread Sergei Gorelkin

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

2011-11-27 Thread 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.


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

2011-11-27 Thread Leonardo M . Ramé
- Original Message -

 From: Sven Barth pascaldra...@googlemail.com
 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

2011-11-27 Thread Sergei Gorelkin

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

2011-11-27 Thread Sven Barth

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


Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Leonardo M . Ramé


 From: Pierre Free Pascal pie...@freepascal.org
To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC developers' list' 
fpc-devel@lists.freepascal.org 
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

Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Sven Barth

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_FULLVERSION20700}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

2011-11-26 Thread Leonardo M . Ramé
- Original Message -

 From: Leonardo M. Ramé martinr...@yahoo.com
 To: FPC developers' list fpc-devel@lists.freepascal.org
 Cc: 
 Sent: Saturday, November 26, 2011 10:17 AM
 Subject: Re: [fpc-devel] Building trunk on Win32
 
 
 
  From: Pierre Free Pascal pie...@freepascal.org
 To: 'Leonardo M. Ramé' martinr...@yahoo.com; 'FPC 
 developers' list' fpc-devel@lists.freepascal.org 
 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

Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Sven Barth

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 

Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Leonardo M . Ramé
- Original Message -

 From: Sven Barth pascaldra...@googlemail.com
 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 
 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

Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Sven Barth

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

2011-11-26 Thread Sergei Gorelkin

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

2011-11-26 Thread Leonardo M . Ramé
- Original Message -

 From: Sven Barth pascaldra...@googlemail.com
 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  
attachment: threads.JPG___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Building trunk on Win32

2011-11-26 Thread Sergei Gorelkin

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

2011-11-26 Thread Leonardo M . Ramé
From: Sergei Gorelkin sergei_gorel...@mail.ru
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

2011-11-25 Thread Pierre Free Pascal
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:\fpce:\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