Skip Menu |

This queue is for tickets about the Devel-CheckLib CPAN distribution.

Report information
The Basics
Id: 114102
Status: open
Priority: 0/
Queue: Devel-CheckLib

People
Owner: Nobody in particular
Requestors: sisyphus [...] cpan.org
Cc: ether [...] cpan.org
AdminCc:

Bug Information
Severity: Normal
Broken in: (no value)
Fixed in: (no value)



Subject: Devel::CheckLib breaks Math::GMP
Hi, When I try to build Math-GMP-2.11 I get: C:\Users\sisyphus\.cpan\build\Math-GMP-2.11>perl Makefile.PL Can't link/include C library 'gmp', aborting. Getting Math-GMP-2.11 to build successfully is as simple as editing the Makefile.PL so that: use Devel::CheckLib; check_lib_or_exit( header => 'gmp.h', lib => 'gmp', ); becomes: #use Devel::CheckLib; #check_lib_or_exit( # header => 'gmp.h', # lib => 'gmp', #); If you really must use Devel::CheckLib, it would be nice if you could get it fixed. I don't actually *need* Math::GMP, but it's a handy reference to have - and one of which I would avail myself if Devel::CheckLib did not cause 'cpan -i Math::GMP' to fail. FYI, in my particular scenario, the gmp library gets found by default because its location is in $Config{libpth}, and gmp.h gets found by default because its location is in $ENV{CPATH}. I would have expected that Devel::CheckLib would be alert to both of those possibilities but apparently it's oblivious to at least one of them. I couldn't care less about Devel::CheckLib, so I'm not going to file a bug report against it. But I do care about Math::GMP - hence Math::GMP scores the bug report ;-) See also https://rt.cpan.org/Ticket/Display.html?id=111149 Cheers, Rob
Hi Rob, sorry for the late reply. On Sat Apr 30 09:14:16 2016, SISYPHUS wrote: Show quoted text
> Hi, > > When I try to build Math-GMP-2.11 I get: > > C:\Users\sisyphus\.cpan\build\Math-GMP-2.11>perl Makefile.PL > Can't link/include C library 'gmp', aborting. > > Getting Math-GMP-2.11 to build successfully is as simple as editing > the Makefile.PL so that: > > use Devel::CheckLib; > check_lib_or_exit( > header => 'gmp.h', > lib => 'gmp', > ); > > becomes: > > #use Devel::CheckLib; > #check_lib_or_exit( > # header => 'gmp.h', > # lib => 'gmp', > #); > > If you really must use Devel::CheckLib, it would be nice if you could > get it fixed.
It should be fixed in Devel::CheckLib, and yes - I really must use it, to prevent tester false tests/builds. Show quoted text
> > I don't actually *need* Math::GMP, but it's a handy reference to have > - and one of which I would avail myself if Devel::CheckLib did not > cause 'cpan -i Math::GMP' to fail. > > FYI, in my particular scenario, the gmp library gets found by default > because its location is in $Config{libpth}, and gmp.h gets found by > default because its location is in $ENV{CPATH}. > I would have expected that Devel::CheckLib would be alert to both of > those possibilities but apparently it's oblivious to at least one of > them. >
Not sure if $Config{libpth} is supposed to find it there. Show quoted text
> I couldn't care less about Devel::CheckLib, so I'm not going to file a > bug report against it.
Well, you'll have to if you want to see this fixed with your configuration. It works perfectly fine here. Show quoted text
> But I do care about Math::GMP - hence Math::GMP scores the bug report > ;-) >
This bug report does not belong here. I'm marking it as REJECTED. Please report it to Devel::CheckLib and get it fixed there. Regards, -- Shlomi Fish Show quoted text
On 2016-05-03 01:58:52, SHLOMIF wrote: Show quoted text
> This bug report does not belong here. I'm marking it as REJECTED. > Please report it to Devel::CheckLib and get it fixed there.
RT tickets can be moved between queues. IMO module authors are somewhat responsible for at least reporting issues known to exist upstream of their modules.
On Tue May 03 04:58:52 2016, SHLOMIF wrote: Show quoted text
> It should be fixed in Devel::CheckLib, and yes - I really must use it, to prevent tester false tests/builds.
I doubt that removing the Devel::CheckLib checks will lead to any additional FAIL reports. You'll only get FAIL reports if gmp.h gets found && the gmp library is unloadable. With my gmp modules, it has generally been the case that if the library is unloadable then gmp.h is also not found - and you'll therefore get an UNKNOWN. I don't use Devel::CheckLib for my gmp modules - and I did not ever receive any FAIL reports as a result .... until last week: http://www.cpantesters.org/cpan/report/c628c1da-08d4-11e6-bd5b-64b10cd78722 (This turns out to have been the result of some ldconfig misconfiguration.) Show quoted text
> Not sure if $Config{libpth} is supposed to find it there.
It's quite common on Windows to add additional paths to libpth - and that's the reason that it's so readily configurable (as the EXTRALIBDIRS entry in the configurable section of win32/Makefile) in the perl source. For example, I believe Strawberry Perl adds to libpth in precisely that way. Show quoted text
> This bug report does not belong here. I'm marking it as REJECTED. > Please report it to Devel::CheckLib and get it fixed there.
Seems to me that you're more concerned about having a cpan-tester "clean slate" than about dealing with an issue that an actual "user" has. You're quite free to prioritize as you see fit but if one of *my* modules was suffering as the result of a bug in a dependency (that I was committed to retaining) then *I* would file the bug report, myself. It's unlikely I'll file a bug report with Devel::CheckLib while I regard the presence of that module as pointless (when it allows a build to proceed) and obstructionist (when it prevents a build from proceeding). Cheers, Rob
On Tue May 03 14:41:34 2016, ETHER wrote: Show quoted text
> On 2016-05-03 01:58:52, SHLOMIF wrote: >
> > This bug report does not belong here. I'm marking it as REJECTED. > > Please report it to Devel::CheckLib and get it fixed there.
> > RT tickets can be moved between queues. IMO module authors are > somewhat responsible for at least reporting issues known to exist > upstream of their modules.
I moved this ticket here - please handle it as you see fit.