The icu module has a complicated build with scripts generating makefiles...
I am not sure what approach to even take debugging this, but some ideas might be: * make a copy of a main/icu[/wntmsci12.pro] directory that builds and a copy of one that doesn't, then diff the files to see what's different * compare build logs with it working and not working, to see what steps differ (eg. build order of some files might be different) * try and follow the makefile to understand the problem analytically; my first try didn't get me far * give up completely, and just hack it. Make a loop in build.pl that just keeps cleaning and rebuilding the module. If it builds 50% of the time, with 10 retries only 1 in 1024 builds will fail, with 20 retries only 1 in 2^20 will fail, etc. Something like this might already have been tried in the past, as build.pl contains the following code which is only run on Windows: sub give_second_chance { my $pid = shift; # A malicious hack for mysterious windows problems - try 2 times # to run dmake in the same directory if errors occurs my $child_nick = $processes_hash{$pid}; $running_children{$folders_hashes{$child_nick}}--; delete $processes_hash{$pid}; start_child($child_nick, $folders_hashes{$child_nick}); }; On Sun, Feb 7, 2016 at 1:42 AM, Patricia Shanahan <p...@acm.org> wrote: > My next step is to try to get rid of the intermittent failure of the icu > build. It seems to be the one thing standing between me a repeatable > unattended build. If you know anything about its cause, please let me know. > > Here is a typical failure output: > > Generating Code... > link.exe @C:\cygwin32\tmp\nm2E74.tmp > Creating library .\..\..\lib\icule.lib and object .\..\..\lib\icule.exp > if exist ..\..\bin\icule40.dll.manifest mt.exe -manifest > ..\..\bin\icule40.dll.manifest -outputresource:..\..\bin\icule40.dll;2 > copy ".\LEFontInstance.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LEGlyphFilter.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LEGlyphStorage.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LEInsertionList.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LELanguages.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LEScripts.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LESwaps.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LETypes.h" ..\..\include\layout > 1 file(s) copied. > copy ".\LayoutEngine.h" ..\..\include\layout > 1 file(s) copied. > copy ".\loengine.h" ..\..\include\layout > 1 file(s) copied. > cd "..\allinone" > cd "C:\OpenOfficeDev\Trunk\main\icu\wntmsci12.pro > \misc\build\icu\source\allinone\..\layoutex" > C:\PROGRA~2\MICROS~1.0\VC\bin\nmake.exe / /F > layoutex.mak EXCEPTIONSWITCH="-EHa -Zc:wchar_t-" > > Microsoft (R) Program Maintenance Utility Version 9.00.30729.01 > Copyright (C) Microsoft Corporation. All rights reserved. > > if not exist ".\Release/" mkdir ".\Release" > rc.exe /l 0x409 /fo".\Release\layoutex.res" /i "..\common" /d > "NDEBUG" .\layoutex.rc > Microsoft (R) Windows (R) Resource Compiler Version 6.1.7600.16385 > Copyright (C) Microsoft Corporation. All rights reserved. > > NMAKE : fatal error U1073: don't know how to make '".\..\..\lib\icuin.lib"' > Stop. > NMAKE : fatal error U1077: 'C:\PROGRA~2\MICROS~1.0\VC\bin\nmake.exe' : > return code '0x2' > Stop. > dmake: Error code 2, while making './ > wntmsci12.pro/misc/build/so_built_so_icu' > > 1 module(s): > icu > need(s) to be rebuilt > > Reason(s): > > ERROR: error 65280 occurred while making > /cygdrive/c/OpenOfficeDev/Trunk/main/icu > > When you have fixed the errors in that module you can resume the build by > running: > > build --all:icu > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org > For additional commands, e-mail: dev-h...@openoffice.apache.org > >