Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perl 5.36 cpan | Devel::Declare does not build #70

Closed
shawnlaffan opened this issue Mar 13, 2023 · 4 comments
Closed

perl 5.36 cpan | Devel::Declare does not build #70

shawnlaffan opened this issue Mar 13, 2023 · 4 comments

Comments

@shawnlaffan
Copy link
Contributor

Devel::Declare does not build. As a consequence, MooseX::Declare also does not build.

The same failures occur with a local version of the 5.36 build so it is not a docker isssue.

Both of these modules are deprecated on CPAN so do we need to provide them with Strawberry Perl?

Building and testing Devel-Declare-0.006022 ... cp lib/Devel/Declare/Context/Simple.pm blib\lib\Devel\Declare\Context\Si
mple.pm
cp lib/Devel/Declare/MethodInstaller/Simple.pm blib\lib\Devel\Declare\MethodInstaller\Simple.pm
cp lib/Devel/Declare.pm blib\lib\Devel\Declare.pm
Running Mkbootstrap for Declare ()
"C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 "Declare.bs"
"C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonempty -- Declare.bs blib\arch\auto\Devel\Declare\Decl
are.bs 644
"C:\strawberry\perl\bin\perl.exe" "C:\strawberry\perl\lib\ExtUtils/xsubpp"  -typemap C:\strawberry\perl\lib\ExtUtils\typ
emap  Declare.xs > Declare.xsc
"C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- Declare.xsc Declare.c
gcc -c  -IC:\strawberry\perl\vendor\lib\B\Hooks\OP\Check\Install -DWIN32 -DWIN64 -D__USE_MINGW_ANSI_STDIO -DPERL_TEXTMOD
E_SCRIPTS -DMULTIPLICITY -DPERL_IMPLICIT_SYS -DUSE_PERLIO -D__USE_MINGW_ANSI_STDIO -fwrapv -fno-strict-aliasing -mms-bit
fields -O2   -DVERSION=\"0.006022\" -DXS_VERSION=\"0.006022\"  "-IC:\strawberry\perl\lib\CORE"   Declare.c
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:145: warning: "PL_lex_stuff" redefined
  145 | #define PL_lex_stuff            (PL_parser->lex_stuff)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4928: note: this is the location of the previous definition
 4928 | # define PL_lex_stuff      D_PPP_my_PL_parser_var(lex_stuff)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:152: warning: "PL_linestr" redefined
  152 | #define PL_linestr              (PL_parser->linestr)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4924: note: this is the location of the previous definition
 4924 | # define PL_linestr        D_PPP_my_PL_parser_var(linestr)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:155: warning: "PL_expect" redefined
  155 | #define PL_expect               (PL_parser->expect)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4920: note: this is the location of the previous definition
 4920 | # define PL_expect         D_PPP_my_PL_parser_var(expect)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:156: warning: "PL_copline" redefined
  156 | #define PL_copline              (PL_parser->copline)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4921: note: this is the location of the previous definition
 4921 | # define PL_copline        D_PPP_my_PL_parser_var(copline)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:157: warning: "PL_bufptr" redefined
  157 | #define PL_bufptr               (PL_parser->bufptr)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4925: note: this is the location of the previous definition
 4925 | # define PL_bufptr         D_PPP_my_PL_parser_var(bufptr)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:161: warning: "PL_bufend" redefined
  161 | #define PL_bufend               (PL_parser->bufend)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4926: note: this is the location of the previous definition
 4926 | # define PL_bufend         D_PPP_my_PL_parser_var(bufend)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:165: warning: "PL_lex_state" redefined
  165 | #define PL_lex_state            (PL_parser->lex_state)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4927: note: this is the location of the previous definition
 4927 | # define PL_lex_state      D_PPP_my_PL_parser_var(lex_state)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:166: warning: "PL_rsfp" redefined
  166 | #define PL_rsfp                 (PL_parser->rsfp)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4922: note: this is the location of the previous definition
 4922 | # define PL_rsfp           D_PPP_my_PL_parser_var(rsfp)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:167: warning: "PL_rsfp_filters" redefined
  167 | #define PL_rsfp_filters         (PL_parser->rsfp_filters)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4923: note: this is the location of the previous definition
 4923 | # define PL_rsfp_filters   D_PPP_my_PL_parser_var(rsfp_filters)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:168: warning: "PL_in_my" redefined
  168 | #define PL_in_my                (PL_parser->in_my)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4930: note: this is the location of the previous definition
 4930 | # define PL_in_my          D_PPP_my_PL_parser_var(in_my)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:169: warning: "PL_in_my_stash" redefined
  169 | #define PL_in_my_stash          (PL_parser->in_my_stash)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4931: note: this is the location of the previous definition
 4931 | # define PL_in_my_stash    D_PPP_my_PL_parser_var(in_my_stash)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:170: warning: "PL_tokenbuf" redefined
  170 | #define PL_tokenbuf             (PL_parser->tokenbuf)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4929: note: this is the location of the previous definition
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:157: warning: "PL_bufptr" redefined
  157 | #define PL_bufptr               (PL_parser->bufptr)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4925: note: this is the location of the previous definition
 4925 | # define PL_bufptr         D_PPP_my_PL_parser_var(bufptr)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:161: warning: "PL_bufend" redefined
  161 | #define PL_bufend               (PL_parser->bufend)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4926: note: this is the location of the previous definition
 4926 | # define PL_bufend         D_PPP_my_PL_parser_var(bufend)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:165: warning: "PL_lex_state" redefined
  165 | #define PL_lex_state            (PL_parser->lex_state)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4927: note: this is the location of the previous definition
 4927 | # define PL_lex_state      D_PPP_my_PL_parser_var(lex_state)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:166: warning: "PL_rsfp" redefined
  166 | #define PL_rsfp                 (PL_parser->rsfp)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4922: note: this is the location of the previous definition
 4922 | # define PL_rsfp           D_PPP_my_PL_parser_var(rsfp)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:167: warning: "PL_rsfp_filters" redefined
  167 | #define PL_rsfp_filters         (PL_parser->rsfp_filters)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4923: note: this is the location of the previous definition
 4923 | # define PL_rsfp_filters   D_PPP_my_PL_parser_var(rsfp_filters)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:168: warning: "PL_in_my" redefined
  168 | #define PL_in_my                (PL_parser->in_my)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4930: note: this is the location of the previous definition
 4930 | # define PL_in_my          D_PPP_my_PL_parser_var(in_my)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:169: warning: "PL_in_my_stash" redefined
  169 | #define PL_in_my_stash          (PL_parser->in_my_stash)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4931: note: this is the location of the previous definition
 4931 | # define PL_in_my_stash    D_PPP_my_PL_parser_var(in_my_stash)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:170: warning: "PL_tokenbuf" redefined
  170 | #define PL_tokenbuf             (PL_parser->tokenbuf)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4929: note: this is the location of the previous definition
 4929 | # define PL_tokenbuf       D_PPP_my_PL_parser_var(tokenbuf)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:172: warning: "PL_error_count" redefined
  172 | #define PL_error_count          (PL_parser->error_count)
      |
In file included from stolen_chunk_of_toke.c:20,
                 from Declare.xs:7:
ppport.h:4932: note: this is the location of the previous definition
 4932 | # define PL_error_count    D_PPP_my_PL_parser_var(error_count)
      |
In file included from Declare.xs:7:
stolen_chunk_of_toke.c:228:1: warning: 'Perl_filter_read' redeclared without dllimport attribute: previous dllimport ign
ored [-Wattributes]
  228 | Perl_filter_read(pTHX_ int idx, SV *buf_sv, int maxlen)
      | ^~~~~~~~~~~~~~~~
Declare.xs:14: warning: "PERL_VERSION_GE" redefined
   14 | #define PERL_VERSION_GE(r,v,s) \
      |
In file included from C:\strawberry\perl\lib\CORE/perl.h:2999,
                 from Declare.xs:3:
C:\strawberry\perl\lib\CORE/handy.h:553: note: this is the location of the previous definition
  553 | # define PERL_VERSION_GE(j,n,p)  (! PERL_VERSION_LT(j,n,p))
      |
"C:\strawberry\perl\bin\perl.exe" -MExtUtils::Mksymlists \
     -e "Mksymlists('NAME'=>\"Devel::Declare\", 'DLBASE' => 'Declare', 'DL_FUNCS' => {  }, 'FUNCLIST' => [], 'IMPORTS' =
> {  }, 'DL_VARS' => []);"
g++ Declare.def -o blib\arch\auto\Devel\Declare\Declare.xs.dll -shared -s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawber
ry\c\lib" -L"C:\strawberry\c\x86_64-w64-mingw32\lib" -L"C:\strawberry\c\lib\gcc\x86_64-w64-mingw32\10.3.0" Declare.o   "
C:\strawberry\perl\lib\CORE\libperl536.a" -lmoldname -lkernel32 -luser32 -lgdi32 -lwinspool -lcomdlg32 -ladvapi32 -lshel
l32 -lole32 -loleaut32 -lnetapi32 -luuid -lws2_32 -lmpr -lwinmm -lversion -lodbc32 -lodbccp32 -lcomctl32 -Wl,--enable-au
to-image-base
c:/strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: Declare.o:Declare.c:
(.text+0x9ef): undefined reference to `hook_op_check'
c:/strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/10.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: Declare.o:Declare.c:
(.text+0xf0f): undefined reference to `hook_op_check'
collect2.exe: error: ld returned 1 exit status
gmake: *** [makefile:485: blib\arch\auto\Devel\Declare\Declare.xs.dll] Error 1
! Installing Devel::Declare failed. See C:\spbuild\msys64\.cpanm\work\1678660460.2688\build.log for details. Retry with
--force to force install it.
Searching MooseX::Method::Signatures::Meta::Method on mirror https://cpan.metacpan.org ...
Unpacking MooseX-Method-Signatures-0.49.tar.gz
Entering MooseX-Method-Signatures-0.49
Checking configure dependencies from META.json
Checking if you have Module::Build::Tiny 0.034 ... Yes (0.039)
Running Build.PL
FAIL
shawnlaffan added a commit that referenced this issue Mar 13, 2023
…o not build

Devel::Declare is deprecated.  #70

CPANPLUS fails to build locally, disable for now.  #64

Alien::Libxml2: set PKG_CONFIG_DIR. #71

Other test files are disabled on a per file basis.
Most of these pass on a local copy of the build.
Includes #65, #66, #67, #68 and #73
@shawnlaffan
Copy link
Contributor Author

@genio - Given both Devel::Declare and MooseX::Declare are deprecated I think we can not distribute them. If they are needed then it can be left to others to get them working again.

@genio
Copy link
Member

genio commented Mar 16, 2023

Sounds reasonable to me

@shawnlaffan
Copy link
Contributor Author

Thanks @genio

Closing issue.

@shawnlaffan
Copy link
Contributor Author

This might actually self-resolve when we sort out the underlying cause behind #80 but I still see no reason to distribute the modules given their deprecation status. Users can build them locally if needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants