develooper Front page | perl.perl5.porters | Postings from March 2018

RE: perl static build for gcc+win32

Thread Previous
From:
Konovalov, Vadim
Date:
March 4, 2018 08:30
Subject:
RE: perl static build for gcc+win32
Message ID:
8FC9F990A991F24AA0166C36379560B980D78FF6@MX202CL01.corp.emc.com
> From: sisyphus1@optusnet.com.au
> 
> > Next, "ALL_STATIC" means
> "BUILD_STATIC", so I've edited it to be so.
> > Therefore I
> think the attached edit looks.
> > If this is agreed, I will
> prepare similar edit for other makefiles in 
> > win32/
> directory.
> 
> Hi,
> 
> Using gcc version 7.2.0
> (x86_64-posix-seh-rev1, built by MinGW-W64 project) and GNU
> Make 3.82.90 (built for i686-pc-mingw32).
> 
> With your
> patched GNUmakefile, building 5.27.9 with
> "ALL_STATIC=define"
> worked pretty well for me.
> 
> Comparing
> test results with a "usual" build of 5.27.9 (same toolset,
> same source, same configuration except "ALL_STATIC" not
> defined) there were some test failures with the "static"
> build that did not arise with the "usual" build:
> 
> ../cpan/Module-Load/t/02_Module-Load.t	(Wstat: 256 Tests:
> 7 Failed: 1)
>   Failed test:	7
>   Non-zero exit status: 1

The reason of this failure is that this test breaks the Data::Dumper:: package

Namely, the line from (generated) perllibst.h
    newXS("Data::Dumper::bootstrap", boot_Data__Dumper, file);
...helps for such built-in modules to be bootstrapped

Here it is,

sub _reset{
    undef %{Data::Dumper::};     # < -- comment out this line and the test will pas
    undef %{XYZ::Module::};
    no warnings q[uninitialized];
    eval "undef %{$afx$cnt::}";
    delete $INC{'Data/Dumper.pm'};
}

After commenting out offensive line I have:

..\..\..\perl.exe 02_Module-Load.t
...
ok 5 - autoload_remote
# Subtest: complex
    ok 1 - .
    ok 2 - .
    ok 3 - .
    ok 4 - .
    ok 5 - .
    ok 6 - .
    ok 7 - .
    ok 8 - .
    ok 9 - .
    ok 10 - .
    ok 11 - .
    1..11
ok 6 - complex
# Subtest: dumpxs
    ok 1 - .
    ok 2 - .
    ok 3 - .
    ok 4 - .
    ok 5 - .
    ok 6 - .
    ok 7 - .
    ok 8 - .
    ok 9 - .
    1..9
ok 7 - dumpxs
1..7

> 
> ../ext/XS-APItest/t/bootstrap.t  (Wstat: 256 Tests: 1
> Failed: 1)
>   Failed test:	1
>   Non-zero exit status: 1
> 
> ../ext/XS-APItest/t/keyword_plugin_threads.t  (Wstat: 0
> Tests: 1 Failed: 1)
>   Failed test:	1
> 
> But no problem with
> the patched GNUmakefile.

All in all, my patch is seemingly an improvement, otherwise build fails at all

Regards,
Vadim

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About