Skip Menu |

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

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

People
Owner: Nobody in particular
Requestors: fernando.osx [...] gmail.com
Cc: pali [...] cpan.org
AdminCc:

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



Subject: assert_lib fails if gcc output is not executable
Date: Mon, 9 May 2016 17:30:26 -0300
To: bug-Devel-CheckLib [...] rt.cpan.org
From: "Fernando O." <fernando.osx [...] gmail.com>
Package: Devel::CheckLib (1.07) File: /usr/local/share/perl5/Devel/CheckLib.pm Notice lines 353-354: my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); push @missing, $header if $rv != 0 || ! -x $exefile; And lines 411-414: my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); if ($rv != 0 || ! -x $exefile) { push @missing, $lib; } On some linux systems, the output of gcc (invoked in @sys_cmd) is NOT executable by default. In this case, the test (-x $exefile) will fail even if the file exists. To work around this issue, add system("chmod 755 $exefile"); Just after lines 353 and 411 above. Fernando Oscar Schmitt
On 2016-05-09 16:30:51, fernando.osx@gmail.com wrote: Show quoted text
> Package: Devel::CheckLib (1.07) > > File: /usr/local/share/perl5/Devel/CheckLib.pm > > Notice lines 353-354: > > my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); > push @missing, $header if $rv != 0 || ! -x $exefile; > > And lines 411-414: > > my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); > if ($rv != 0 || ! -x $exefile) { > push @missing, $lib; > } > > On some linux systems, the output of gcc (invoked in @sys_cmd) is NOT > executable by default. In this case, the test (-x $exefile) will fail even > if the file exists. > > To work around this issue, add > > system("chmod 755 $exefile");
Or better: use perl's builtin chmod. Show quoted text
> Just after lines 353 and 411 above. > > Fernando Oscar Schmitt
On Mon May 09 16:30:51 2016, fernando.osx@gmail.com wrote: Show quoted text
> Package: Devel::CheckLib (1.07) > > File: /usr/local/share/perl5/Devel/CheckLib.pm > > Notice lines 353-354: > > my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); > push @missing, $header if $rv != 0 || ! -x $exefile; > > And lines 411-414: > > my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); > if ($rv != 0 || ! -x $exefile) { > push @missing, $lib; > } > > On some linux systems, the output of gcc (invoked in @sys_cmd) is NOT > executable by default. In this case, the test (-x $exefile) will fail even > if the file exists. > > To work around this issue, add > > system("chmod 755 $exefile"); > > Just after lines 353 and 411 above. > > Fernando Oscar Schmitt
I created pull request which fixes this problem: https://github.com/mattn/p5-Devel-CheckLib/pull/26
On Štv Máj 31 05:19:49 2018, PALI wrote: Show quoted text
> On Mon May 09 16:30:51 2016, fernando.osx@gmail.com wrote:
> > Package: Devel::CheckLib (1.07) > > > > File: /usr/local/share/perl5/Devel/CheckLib.pm > > > > Notice lines 353-354: > > > > my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); > > push @missing, $header if $rv != 0 || ! -x $exefile; > > > > And lines 411-414: > > > > my $rv = $args{debug} ? system(@sys_cmd) : _quiet_system(@sys_cmd); > > if ($rv != 0 || ! -x $exefile) { > > push @missing, $lib; > > } > > > > On some linux systems, the output of gcc (invoked in @sys_cmd) is NOT > > executable by default. In this case, the test (-x $exefile) will fail > > even > > if the file exists. > > > > To work around this issue, add > > > > system("chmod 755 $exefile"); > > > > Just after lines 353 and 411 above. > > > > Fernando Oscar Schmitt
> > I created pull request which fixes this problem: > https://github.com/mattn/p5-Devel-CheckLib/pull/26
It is included in Devel::CheckLib 1.12