windows build and MSYS exceptions

Hale Boyes, Kevin Kevin.HaleBoyes at encana.com
Thu Apr 19 10:54:50 EDT 2007


I'm running the build on a single CPU here so I have no idea about
it being a race condition.  Seems my latest build, over night, got
a lot further than ever before so I'll just stick with the retry
method.

About the binary installer...  I've been using gnucash for a number
of years (on linux) and work as a developer so I've wanted to get
a build version up and running.  Unfortunately, I'm currently working
in a windows environment so when I get a spare cycle during the day
I have a go at the build.  Also, by building my own copy
on windows I can help test the build process and eventually test a
running windows-based gnucash.  Down the road, if I ever get there,
there is a new features that I'd like to try to implement.  My small
way of contributing to a product that I rely on.


Thanks,
Kevin.


-----Original Message-----
From: Derek Atkins [mailto:warlord at MIT.EDU] 
Sent: Thursday, April 19, 2007 8:37 AM
To: Hale Boyes, Kevin 
Cc: gnucash-devel at gnucash.org
Subject: Re: windows build and MSYS exceptions

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

This email communication and any files transmitted with it may contain confidential and or proprietary information and is provided for the use of the intended recipient only. Any review, retransmission or dissemination of this information by anyone other than the intended recipient is prohibited.  If you receive this email in error, please contact the sender and delete this communication and any copies immediately. Thank you. 
http://www.encana.com





More information about the gnucash-devel mailing list