Is there someone here who can provide info/link to building perl (using mingw port of gcc) without it being dependent on libgcc_s_sjlj-1.dll, libstdc++-6.dll ?

(I'm familiar enough with building perl using mingw - I'm just seeking advice re the mechanism for removing the aforementioned dependencies.)

I provide the following by way of information. Feel free to comment on it. Also feel free to ignore it.

My mingw-built Math::Float128 ppm package doesn't work correctly with ActivePerl build 1600 (5.16.0). Essentially it works fine .... the only problem arises when it comes to printing out the actual value contained in the Math::Float128 object:

C:\_32>perl -MMath::Float128 -le "$x=Math::Float128->new('2.3');print $x;"

The expected result is:

C:\_32>perl -MMath::Float128 -le "$x=Math::Float128->new('2.3');print $x;"

I'm thinking this must be some runtime issue, so I've been comparing the dll files that my mingw-built perl-5.16.0 loads with the dll's that ActivePerl loads. I was thinking they must be loading different C runtimes but, alas, the evidence is that they're loading the very same msvcrt.dll.
They also load the same system dll's.

Only difference I can find is that the mingw build's perl516.dll has dependencies upon libgcc_s_sjlj-1.dll, libstdc++-6.dll and the system WS2_32.dll, whereas the AS perl516.dll does not.

I don't know how to remove the WS2_32.dll dependency, but at least I can start by building a mingw-built perl that doesn't have the dependencies on the 2 helper dll's. Then build Math::Float128 using that perl and see if that works any better with ActivePerl. Instinctively I feel that it won't make any difference, but I can't think of anything else to try.

It's quite likely that other versions of ActivePerl (not just 5.16.0) are affected in the same way, but this is untested.


Reply via email to