[fpc-devel] Build failure on win64

2012-05-17 Thread Sergei Gorelkin

Hello,

I've just encountered 'make clean all OPT=-dTEST_WIN64_SEH' in trunk failure:

make ./msg2inc.exe
make[5]: Entering directory `C:/trunk/compiler'
C:/trunk/compiler/ppc3.exe -Ur -Xs -O2 -n -Fux86_64 -Fusystems -FuC:/trunk/rtl/units/x86_64-win64 
-Fix86_64 -FE. -FUx86_64/units/x86_64-win64 -dRELEASE -dTEST_WIN64_SEH -dx86_64 -dGDB -dBROWSERLOG 
-Fux86 -Sew -Owdevirtcalls,optvmts -FwC:/trunk/compiler/pp1.wpo -OWdevirtcalls,optvmts 
-FWC:/trunk/compiler/pp2.wpo -dx86_64 -dGDB -dBROWSERLOG -Fux86 -Sew -FE. utils/msg2inc.pp

msg2inc.pp(823,1) Error: Undefined symbol: 
SYSUTILS$_$TMULTIREADEXCLUSIVEWRITESYNCHRONIZER_$__$$_DESTROY
msg2inc.pp(823,1) Fatal: There were 1 errors compiling module, stopping

While I'm not entirely sure whether this is caused by my local changes, the failed command looks 
suspicious at least.
Isn't it plain wrong to use WPO information from compiler to optimize msg2inc, a completely 
independent executable?


Regards,
Sergei
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] Build failure on win64

2012-05-17 Thread Jonas Maebe

On 17 May 2012, at 13:39, Sergei Gorelkin wrote:

 I've just encountered 'make clean all OPT=-dTEST_WIN64_SEH' in trunk failure:
 
 make ./msg2inc.exe
 make[5]: Entering directory `C:/trunk/compiler'
 C:/trunk/compiler/ppc3.exe -Ur -Xs -O2 -n -Fux86_64 -Fusystems 
 -FuC:/trunk/rtl/units/x86_64-win64 -Fix86_64 -FE. 
 -FUx86_64/units/x86_64-win64 -dRELEASE -dTEST_WIN64_SEH -dx86_64 -dGDB 
 -dBROWSERLOG -Fux86 -Sew -Owdevirtcalls,optvmts -FwC:/trunk/compiler/pp1.wpo 
 -OWdevirtcalls,optvmts -FWC:/trunk/compiler/pp2.wpo -dx86_64 -dGDB 
 -dBROWSERLOG -Fux86 -Sew -FE. utils/msg2inc.pp
 msg2inc.pp(823,1) Error: Undefined symbol: 
 SYSUTILS$_$TMULTIREADEXCLUSIVEWRITESYNCHRONIZER_$__$$_DESTROY
 msg2inc.pp(823,1) Fatal: There were 1 errors compiling module, stopping
 
 While I'm not entirely sure whether this is caused by my local changes, the 
 failed command looks suspicious at least.
 Isn't it plain wrong to use WPO information from compiler to optimize 
 msg2inc, a completely independent executable?

It indeed shouldn't be used for that. On the other hand, I don't understand why 
it would be recompiled during the WPO cycle, since how can the message files 
have changed since the last compilation of the regular cycle? (msg2inc should 
only be compiled if the message include files have to be regenerated)


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


Re: [fpc-devel] Build failure on win64

2012-05-17 Thread Sergei Gorelkin

17.05.2012 15:44, Jonas Maebe пишет:


On 17 May 2012, at 13:39, Sergei Gorelkin wrote:


I've just encountered 'make clean all OPT=-dTEST_WIN64_SEH' in trunk failure:

make ./msg2inc.exe
make[5]: Entering directory `C:/trunk/compiler'
C:/trunk/compiler/ppc3.exe -Ur -Xs -O2 -n -Fux86_64 -Fusystems 
-FuC:/trunk/rtl/units/x86_64-win64 -Fix86_64 -FE. -FUx86_64/units/x86_64-win64 
-dRELEASE -dTEST_WIN64_SEH -dx86_64 -dGDB -dBROWSERLOG -Fux86 -Sew 
-Owdevirtcalls,optvmts -FwC:/trunk/compiler/pp1.wpo -OWdevirtcalls,optvmts 
-FWC:/trunk/compiler/pp2.wpo -dx86_64 -dGDB -dBROWSERLOG -Fux86 -Sew -FE. 
utils/msg2inc.pp
msg2inc.pp(823,1) Error: Undefined symbol: 
SYSUTILS$_$TMULTIREADEXCLUSIVEWRITESYNCHRONIZER_$__$$_DESTROY
msg2inc.pp(823,1) Fatal: There were 1 errors compiling module, stopping

While I'm not entirely sure whether this is caused by my local changes, the 
failed command looks suspicious at least.
Isn't it plain wrong to use WPO information from compiler to optimize msg2inc, 
a completely independent executable?


It indeed shouldn't be used for that. On the other hand, I don't understand why 
it would be recompiled during the WPO cycle, since how can the message files 
have changed since the last compilation of the regular cycle? (msg2inc should 
only be compiled if the message include files have to be regenerated)

This turned out to be a bug in 64-bit 'make' program that I was using. For some reason it started 
thinking that errore.msg is always newer than msgtxt.inc (although it was working fine last 8 months).
Using 32-bit make, the trunk builds successfully. This software is truly a never-ending source of 
surprises...


Regards,
Sergei

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