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

Reply via email to