Boost logo

Boost-Build :

Subject: Re: [Boost-build] Boost 1.43.0 seems to produce broken libraries with MinGw version 4.5.0
From: Peter Rockett (p.rockett_at_[hidden])
Date: 2010-07-23 12:02:14


  On 19/07/10 13:53, Peter Rockett wrote:
> On 16/07/10 19:18, Vladimir Prus wrote:
>> On Friday 16 July 2010 19:16:31 Peter Rockett wrote:
>>
>>> It throws a up a message box saying "The application failed to
>>> initialize properly(0xc0000005). Click on OK to terminate the
>>> application."
>> Could you use depends.exe to see if there's some library loading
>> problem?
>>
>>
>> Thanks,
>>
>> --
>> Vladimir Prus
>> http://vladimir_prus.blogspot.com
>> Boost.Build: http://boost.org/boost-build2
>> _______________________________________________
>> Unsubscribe& other changes:
>> http://lists.boost.org/mailman/listinfo.cgi/boost-build
>
> The typical output from depends.exe is as follows; I have many example
> programs that do exactly the same thing. I'm not too sure what this is
> telling me that might be helpful:
>
> Started "EXAMPLE_BIPGRAPH.EXE" (process 0x898) at address 0x00400000
> by thread 1. Successfully hooked module.
> Loaded "NTDLL.DLL" at address 0x7C900000 by thread 1. Successfully
> hooked module.
> Loaded "KERNEL32.DLL" at address 0x7C800000 by thread 1. Successfully
> hooked module.
> DllMain(0x7C900000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL"
> called by thread 1.
> DllMain(0x7C900000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL"
> returned 1 (0x1) by thread 1.
> DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL"
> called by thread 1.
> DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL"
> returned 1 (0x1) by thread 1.
> Injected "DEPENDS.DLL" at address 0x08370000 by thread 1.
> DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL"
> called by thread 1.
> DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL"
> returned 1 (0x1) by thread 1.
> Loaded "MSVCRT.DLL" at address 0x77C10000 by thread 1. Successfully
> hooked module.
> Loaded "LIBGCC_S_DW2-1.DLL" at address 0x6E940000 by thread 1.
> Successfully hooked module.
> Loaded "LIBSTDC++-6.DLL" at address 0x6FC40000 by thread 1.
> Successfully hooked module.
> First chance exception 0xC0000005 (Access Violation) occurred in
> "NTDLL.DLL" at address 0x7C917CB2 by thread 1.
> First chance exception 0xC0000005 (Access Violation) occurred in
> "NTDLL.DLL" at address 0x7C9666C6 by thread 1.
> Second chance exception 0xC0000005 (Access Violation) occurred in
> "NTDLL.DLL" at address 0x7C9666C6 by thread 1.
> Exited "EXAMPLE_BIPGRAPH.EXE" (process 0x898) with code -1073741819
> (0xC0000005) by thread 1.
>
>
> Peter
>
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost-build

I have now resolved this issue: There is a 'feature' in MinGW 4.5.0
which requires the linker to be passed the '--enable-runtime-reloc-v2'
option which by default is turned off. This has proved so awkward that a
new version of the binutils package has been produced (version 2.20.51)
in which this option is _enabled_ by default! The relevant discussion is
buried in the MinGW-notify list, not the MinGW-users list.

Peter


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk