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

Devel::CheckLib not listed as a dependency? #263

Closed
wbazant opened this issue Sep 10, 2018 · 16 comments
Closed

Devel::CheckLib not listed as a dependency? #263

wbazant opened this issue Sep 10, 2018 · 16 comments

Comments

@wbazant
Copy link

wbazant commented Sep 10, 2018

I see that this was added in the previous release, and that the module longer installs correctly:

mib112014i:~ wb4$ cpan install DBD::mysql
Loading internal null logger. Install Log::Log4perl for logging messages
CPAN: Storable loaded ok (v2.62)
Reading '/Users/wb4/.cpan/Metadata'
  Database was generated on Fri, 24 Aug 2018 11:54:23 GMT
CPAN: Time::HiRes loaded ok (v1.9741)
CPAN: HTTP::Tiny loaded ok (v0.070)
Fetching with HTTP::Tiny:
http://mirror.sov.uk.goscomb.net/CPAN/authors/01mailrc.txt.gz
Reading '/Users/wb4/.cpan/sources/authors/01mailrc.txt.gz'
CPAN: Compress::Zlib loaded ok (v2.074)
............................................................................DONE
Fetching with HTTP::Tiny:
http://mirror.sov.uk.goscomb.net/CPAN/modules/02packages.details.txt.gz
Reading '/Users/wb4/.cpan/sources/modules/02packages.details.txt.gz'
  Database was generated on Sun, 09 Sep 2018 22:55:01 GMT
  HTTP::Date not available
............................................................................DONE
Fetching with HTTP::Tiny:
http://mirror.sov.uk.goscomb.net/CPAN/modules/03modlist.data.gz
Reading '/Users/wb4/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /Users/wb4/.cpan/Metadata
Running install for module 'DBD::mysql'
Fetching with HTTP::Tiny:
http://mirror.sov.uk.goscomb.net/CPAN/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.047.tar.gz
CPAN: Digest::SHA loaded ok (v5.96)
Fetching with HTTP::Tiny:
http://mirror.sov.uk.goscomb.net/CPAN/authors/id/C/CA/CAPTTOFU/CHECKSUMS
Checksum for /Users/wb4/.cpan/sources/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.047.tar.gz ok
'YAML' not installed, will not store persistent state
CPAN: CPAN::Meta::Requirements loaded ok (v2.131)
CPAN: Parse::CPAN::Meta loaded ok (v1.4414)
CPAN: CPAN::Meta loaded ok (v2.143240)
The content of '/Users/wb4/.cpan/build/DBD-mysql-4.047-0/META.json' is not a HASH reference. Cannot use it.
Configuring C/CA/CAPTTOFU/DBD-mysql-4.047.tar.gz with Makefile.PL
Can't locate Devel/CheckLib.pm in @INC (you may need to install the Devel::CheckLib module) (@INC contains: /Users/wb4/perl5/lib/perl5/5.26.2/darwin-thread-multi-2level /Users/wb4/perl5/lib/perl5/5.26.2 /Users/wb4/perl5/lib/perl5/darwin-thread-multi-2level /Users/wb4/perl5/lib/perl5 /Users/wb4/homebrew/Cellar/perl/5.26.2/lib/perl5/site_perl/5.26.2/darwin-thread-multi-2level /Users/wb4/homebrew/Cellar/perl/5.26.2/lib/perl5/site_perl/5.26.2 /Users/wb4/homebrew/Cellar/perl/5.26.2/lib/perl5/5.26.2/darwin-thread-multi-2level /Users/wb4/homebrew/Cellar/perl/5.26.2/lib/perl5/5.26.2 /Users/wb4/homebrew/lib/perl5/site_perl/5.26.2/darwin-thread-multi-2level /Users/wb4/homebrew/lib/perl5/site_perl/5.26.2 .) at Makefile.PL line 12.
BEGIN failed--compilation aborted at Makefile.PL line 12.
Warning: No success on command[/Users/wb4/homebrew/Cellar/perl/5.26.2/bin/perl Makefile.PL]
  CAPTTOFU/DBD-mysql-4.047.tar.gz
  /Users/wb4/homebrew/Cellar/perl/5.26.2/bin/perl Makefile.PL -- NOT OK
@Grinnz
Copy link
Contributor

Grinnz commented Sep 10, 2018

It is a configure phase dependency. Your CPAN.pm is out of date. cpanm would also work.

@ttshivers
Copy link

I'm having the same issue with cpanm with this new version:

# cpanm --version
cpanm (App::cpanminus) version 1.7044 (/opt/perl5/bin/cpanm)
perl version 5.028000 (/opt/perl5/perls/perl-5.28.0/bin/perl)

  %Config:
    archname=x86_64-linux
    installsitelib=/opt/perl5/perls/perl-5.28.0/lib/site_perl/5.28.0
    installsitebin=/opt/perl5/perls/perl-5.28.0/bin
    installman1dir=/opt/perl5/perls/perl-5.28.0/man/man1
    installman3dir=/opt/perl5/perls/perl-5.28.0/man/man3
    sitearchexp=/opt/perl5/perls/perl-5.28.0/lib/site_perl/5.28.0/x86_64-linux
    sitelibexp=/opt/perl5/perls/perl-5.28.0/lib/site_perl/5.28.0
    archlibexp=/opt/perl5/perls/perl-5.28.0/lib/5.28.0/x86_64-linux
    privlibexp=/opt/perl5/perls/perl-5.28.0/lib/5.28.0
  %ENV:
    PERLBREW_HOME=/root/.perlbrew
    PERLBREW_MANPATH=/opt/perl5/perls/perl-5.28.0/man
    PERLBREW_PATH=/opt/perl5/bin:/opt/perl5/perls/perl-5.28.0/bin
    PERLBREW_PERL=perl-5.28.0
    PERLBREW_ROOT=/opt/perl5
    PERLBREW_SHELLRC_VERSION=0.84
    PERLBREW_VERSION=0.84
  @INC:
    FatPacked::36150040=HASH(0x2279b18)
    /opt/perl5/perls/perl-5.28.0/lib/site_perl/5.28.0/x86_64-linux
    /opt/perl5/perls/perl-5.28.0/lib/site_perl/5.28.0
    /opt/perl5/perls/perl-5.28.0/lib/5.28.0/x86_64-linux
    /opt/perl5/perls/perl-5.28.0/lib/5.28.0
# cpanm DBD::mysql -v
cpanm (App::cpanminus) 1.7044 on perl 5.028000 built for x86_64-linux
Work directory is /root/.cpanm/work/1536605005.10429
You have make /usr/bin/make
You have LWP 6.34
You have /bin/tar: tar (GNU tar) 1.23
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Written by John Gilmore and Jay Fenlason.
You have /usr/bin/unzip
Searching DBD::mysql () on cpanmetadb ...
--> Working on DBD::mysql
Fetching http://www.cpan.org/authors/id/C/CA/CAPTTOFU/DBD-mysql-4.047.tar.gz ... OK
Unpacking DBD-mysql-4.047.tar.gz
DBD-mysql-4.047/
DBD-mysql-4.047/Changes
DBD-mysql-4.047/constants.h
DBD-mysql-4.047/dbdimp.c
DBD-mysql-4.047/dbdimp.h
DBD-mysql-4.047/lib/
DBD-mysql-4.047/lib/Bundle/
DBD-mysql-4.047/lib/Bundle/DBD/
DBD-mysql-4.047/lib/Bundle/DBD/mysql.pm
DBD-mysql-4.047/lib/DBD/
DBD-mysql-4.047/lib/DBD/mysql/
DBD-mysql-4.047/lib/DBD/mysql/GetInfo.pm
DBD-mysql-4.047/lib/DBD/mysql/INSTALL.pod
DBD-mysql-4.047/lib/DBD/mysql.pm
DBD-mysql-4.047/LICENSE
DBD-mysql-4.047/Makefile.PL
DBD-mysql-4.047/Makefile.PL.embedded
DBD-mysql-4.047/MANIFEST
DBD-mysql-4.047/MANIFEST.SKIP
DBD-mysql-4.047/META.json
DBD-mysql-4.047/META.yml
DBD-mysql-4.047/myld
DBD-mysql-4.047/mysql.xs
DBD-mysql-4.047/README.md
DBD-mysql-4.047/socket.c
DBD-mysql-4.047/t/
DBD-mysql-4.047/t/00base.t
DBD-mysql-4.047/t/05dbcreate.t
DBD-mysql-4.047/t/10connect.t
DBD-mysql-4.047/t/15reconnect.t
DBD-mysql-4.047/t/16dbi-get_info.t
DBD-mysql-4.047/t/20createdrop.t
DBD-mysql-4.047/t/25lockunlock.t
DBD-mysql-4.047/t/29warnings.t
DBD-mysql-4.047/t/30insertfetch.t
DBD-mysql-4.047/t/31insertid.t
DBD-mysql-4.047/t/32insert_error.t
DBD-mysql-4.047/t/35limit.t
DBD-mysql-4.047/t/35prepare.t
DBD-mysql-4.047/t/40bindparam.t
DBD-mysql-4.047/t/40bindparam2.t
DBD-mysql-4.047/t/40bit.t
DBD-mysql-4.047/t/40blobs.t
DBD-mysql-4.047/t/40catalog.t
DBD-mysql-4.047/t/40keyinfo.t
DBD-mysql-4.047/t/40listfields.t
DBD-mysql-4.047/t/40nulls.t
DBD-mysql-4.047/t/40nulls_prepare.t
DBD-mysql-4.047/t/40numrows.t
DBD-mysql-4.047/t/40server_prepare.t
DBD-mysql-4.047/t/40server_prepare_crash.t
DBD-mysql-4.047/t/40server_prepare_error.t
DBD-mysql-4.047/t/40types.t
DBD-mysql-4.047/t/41bindparam.t
DBD-mysql-4.047/t/41blobs_prepare.t
DBD-mysql-4.047/t/41int_min_max.t
DBD-mysql-4.047/t/42bindparam.t
DBD-mysql-4.047/t/43count_params.t
DBD-mysql-4.047/t/50chopblanks.t
DBD-mysql-4.047/t/50commit.t
DBD-mysql-4.047/t/51bind_type_guessing.t
DBD-mysql-4.047/t/52comment.t
DBD-mysql-4.047/t/53comment.t
DBD-mysql-4.047/t/55utf8.t
DBD-mysql-4.047/t/55utf8mb4.t
DBD-mysql-4.047/t/56connattr.t
DBD-mysql-4.047/t/60leaks.t
DBD-mysql-4.047/t/65segfault.t
DBD-mysql-4.047/t/65types.t
DBD-mysql-4.047/t/70takeimp.t
DBD-mysql-4.047/t/71impdata.t
DBD-mysql-4.047/t/75supported_sql.t
DBD-mysql-4.047/t/76multi_statement.t
DBD-mysql-4.047/t/80procs.t
DBD-mysql-4.047/t/81procs.t
DBD-mysql-4.047/t/85init_command.t
DBD-mysql-4.047/t/86_bug_36972.t
DBD-mysql-4.047/t/87async.t
DBD-mysql-4.047/t/88async-multi-stmts.t
DBD-mysql-4.047/t/89async-method-check.t
DBD-mysql-4.047/t/91errcheck.t
DBD-mysql-4.047/t/92ssl_backronym_vulnerability.t
DBD-mysql-4.047/t/92ssl_optional.t
DBD-mysql-4.047/t/92ssl_riddle_vulnerability.t
DBD-mysql-4.047/t/99_bug_server_prepare_blob_null.t
DBD-mysql-4.047/t/lib.pl
DBD-mysql-4.047/t/manifest.t
DBD-mysql-4.047/t/mysql.dbtest
DBD-mysql-4.047/t/pod.t
DBD-mysql-4.047/t/rt110983-valid-mysqlfd.t
DBD-mysql-4.047/t/rt118977-zerofill.t
DBD-mysql-4.047/t/rt25389-bin-case.t
DBD-mysql-4.047/t/rt50304-column_info_parentheses.t
DBD-mysql-4.047/t/rt61849-bind-param-buffer-overflow.t
DBD-mysql-4.047/t/rt75353-innodb-lock-timeout.t
DBD-mysql-4.047/t/rt83494-quotes-comments.t
DBD-mysql-4.047/t/rt85919-fetch-lost-connection.t
DBD-mysql-4.047/t/rt86153-reconnect-fail-memory.t
DBD-mysql-4.047/t/rt88006-bit-prepare.t
DBD-mysql-4.047/t/rt91715.t
DBD-mysql-4.047/t/version.t
Entering DBD-mysql-4.047
Checking configure dependencies from META.json
Running Makefile.PL
Configuring DBD-mysql-4.047 ... Can't locate Devel/CheckLib.pm in @INC (you may need to install the Devel::CheckLib module) (@INC contains: /opt/perl5/perls/perl-5.28.0/lib/site_perl/5.28.0/x86_64-linux /opt/perl5/perls/perl-5.28.0/lib/site_perl/5.28.0 /opt/perl5/perls/perl-5.28.0/lib/5.28.0/x86_64-linux /opt/perl5/perls/perl-5.28.0/lib/5.28.0 .) at Makefile.PL line 12.
BEGIN failed--compilation aborted at Makefile.PL line 12.
N/A
! Configure failed for DBD::mysql. See /root/.cpanm/work/1536605005.10429/build.log for details.

@omega-tree
Copy link

Same issue. all my dependent builds are failing due to this.

@mbeijen
Copy link
Contributor

mbeijen commented Sep 10, 2018

I had the same issue with cpan in a fresh perl 5.28.0 but Devel::CheckLib is listed as configure requires in the module's META.yaml. Strange!

@Grinnz
Copy link
Contributor

Grinnz commented Sep 10, 2018

I'm getting the same results. You can even see in the above output "Checking configure dependencies from META.json" which is where the prereq should be discovered.

@Grinnz
Copy link
Contributor

Grinnz commented Sep 10, 2018

I found the issue: the generated META.json is invalid due to characters in the x_contributors array. Please try generating the distribution with an up to date version of JSON::PP installed.

@ttshivers
Copy link

Would it be proper to submit a pull request for this @Grinnz ?

@Grinnz
Copy link
Contributor

Grinnz commented Sep 10, 2018

No, this cannot be fixed in code.

@Grinnz
Copy link
Contributor

Grinnz commented Sep 10, 2018

Please also use an up to date ExtUtils::MakeMaker when generating the distribution, that could also be the issue.

@Grinnz
Copy link
Contributor

Grinnz commented Sep 10, 2018

With the modules I mentioned up to date (possibly also CPAN::Meta), the generated META.json should be correct, as it worked for my distribution here: https://metacpan.org/source/DBOOK/Net-Amazon-Signature-V4-0.19/META.json

@Grinnz
Copy link
Contributor

Grinnz commented Sep 10, 2018

Based on this diff, I think that out of date ExtUtils::MakeMaker when releasing is the issue (the META.json from 4.046 is fine).

https://metacpan.org/diff/file?target=CAPTTOFU/DBD-mysql-4.047/&source=CAPTTOFU%2FDBD-mysql-4.046#META.json

preaction added a commit to preaction/Yancy that referenced this issue Sep 11, 2018
The install of 4.047 fails due to an invalid META.json file. See
perl5-dbi/DBD-mysql#263
eserte added a commit to eserte/bbbike that referenced this issue Sep 11, 2018
@mbeijen
Copy link
Contributor

mbeijen commented Sep 11, 2018

So the problem is indeed that META.json is malformed, probably because the out-of-date ExtUtils::MakeMaker.

$ cpan

cpan shell -- CPAN exploration and modules installation (v2.11)
Enter 'h' for help.

cpan[1]> look DBD::mysql

Working directory is /home/michiel/.cpan/build/DBD-mysql-4.047-RI6eow

~/.cpan/build/DBD-mysql-4.047-RI6eow$ json_pp < META.json
illegal backslash escape sequence in string, at character offset 2586 (before "\\x{00e5}ker <ilmari...") at /home/michiel/.plenv/versions/5.22.1/bin/json_pp line 44.

I actually wanted to do a 4.048 release on CPAN with a fixed META.yml because it will be a few hours until @CaptTofu wakes up (he is East Coast US) but can't because @CaptTofu did not yet push 4.047 to Github.

@CaptTofu can you please update your local ExtUtils::MakeMaker, try and create a dist and check if the JSON is valid, make a new release and push it to CPAN and Github?

@jjn1056
Copy link

jjn1056 commented Sep 12, 2018

FWIW I get this on a clean install to ubuntu 18.04 with Perl version 5.26.2

@rolffujino
Copy link

We get this error on a clean deployment of CentOS 7.4.

djjudas21 added a commit to djjudas21/photodb-perl that referenced this issue Sep 13, 2018
@ttshivers
Copy link

It looks like 4.047 has been pushed to GitHub #261 yesterday, so hopefully it is possible for a new release to be made soon to fix this issue.

@mbeijen
Copy link
Contributor

mbeijen commented Sep 15, 2018

I've just uploaded 4.048 to CPAN (and pushed it to github) with a valid META.json so the latest release on CPAN is now non-broken.

@CaptTofu @dveeden

@mbeijen mbeijen closed this as completed Sep 15, 2018
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this issue Sep 23, 2018
Upstream changes:
2018-09-15 Daniël van Eeden, Patrick Galbraith, Michiel Beijen,
DBI/DBD community (4.048)
* Fix corrupted META.json so cpan installations work as expected.
   perl5-dbi/DBD-mysql#263
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants