windows build and MSYS exceptions

Derek Atkins warlord at MIT.EDU
Thu Apr 19 10:36:30 EDT 2007


Hi,

"Hale Boyes, Kevin " <Kevin.HaleBoyes at encana.com> writes:

[snip]
> Then,
>
> if /bin/sh ../libtool --tag=CXX --mode=compile g++ -DHAVE_CONFIG_H -I.
> -I. -I.. -I../include -I../generic    -g -O2 -MT EntityManager.lo -MD
> -MP -MF ".deps/EntityManager.Tpo" -c -o EntityManager.lo
> EntityManager.cxx; \
> then mv -f ".deps/EntityManager.Tpo" ".deps/EntityManager.Plo"; else rm
> -f ".deps/EntityManager.Tpo"; exit 1; fi
>       0 [main] sh 3256 open_stackdumpfile: Dumping stack trace to
> sh.exe.stackdump
>  g++ -DHAVE_CONFIG_H -I. -I. -I.. -I../include -I../generic -g -O2 -MT
> EntityManager.lo -MD -MP -MF "" -c EntityManager.cxx  -DDLL_EXPORT -DPIC
> -o .libs/EntityManager.o
> mv: cannot stat `.deps/EntityManager.Tpo': No such file or directory
> make[1]: *** [EntityManager.lo] Error 1
> make[1]: Leaving directory `/d/gnucash-win32/tmp/OpenSP-1.5.2/lib'
> make: *** [all] Error 2
> make: Leaving directory `/d/gnucash-win32/tmp/OpenSP-1.5.2/lib'

This COULD be a race condition.  On Win32 you cannot rename or unlink
and open file, so sometimes if you have multiple CPUs the build can
fail when the rename happens before the close().

> If I restart install.sh it might fail at a different place in OpenSP
> or, as has previously happened, it will finish the compile and
> installation
> of this dependency and move on to the next.  Then it might fail later.
> I've restarted the install about 5 times so far due to this problem.

Yeah, when you hit this race condition, all you can really do is
restart the build.  I'm not sure if there's a global way to tell
make to use only one thread, and even if there is I don't know if
it would solve this race condition.

[stack trace snipped]

Huh.  I have no idea what this stack trace is all about.  I've
never seen THAT before.

> MSYS-1.0.10 Build:2004-03-15 07:17
> Exception: STATUS_ACCESS_VIOLATION at eip=71070C43
> eax=7FFDE000 ebx=00000000 ecx=00000000 edx=0022DA08 esi=00000000
> edi=0022D828
> ebp=0022D3CC esp=0022D3A8 program=D:\gnucash-win32\msys\bin\sh.exe
> cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
> Stack trace:
[snip]

This certainly seems to be "sh" failing..  But I bet it's the
"make" shell, probably as a result of the race condition.

> But it always seems to be a STATUS_ACCESS_VIOLATION.  A look on
> google didn't really turn up anything, short of "re-install windows",
> so I thought I ask here.
>
> Has anyone seen this or know what is going on?

I'm afraid not.

Any reason you don't just install the win32 binary installer?

-derek
-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list