Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the ExtUtils-ParseXS CPAN distribution.

Report information
The Basics
Id: 70213
Status: resolved
Priority: 0/
Queue: ExtUtils-ParseXS

People
Owner: Nobody in particular
Requestors: tove [...] gentoo.org
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in:
  • 3.02
  • 3.03
Fixed in: (no value)



Subject: INCLUDE: ... | results in "Cannot open... No such file or directory..."
echo 'INCLUDE: cat XSInclude.xsh |' >> t/XSMore.xs ExtUtils-ParseXS-2.2206 # make test PERL_DL_NONLAZY=1 /usr/bin/perl5.12.3 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/basic.t .. ok t/more.t ... 1/25 Warning: duplicate function definition 'include_ok' detected in cat XSInclude.xsh |, line 5 ... ExtUtils-ParseXS-3.03 # make test PERL_DL_NONLAZY=1 /usr/bin/perl5.12.3 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/001-basic.t ............................ ok t/002-more.t ............................. 1/28 Cannot open 'cat XSInclude.xsh |': No such file or directory in XSMore.xs, line 192 ... Real world example: rxvt-unicode uses INCLUDE: $PERL <iom_perl.xs -pe s/IOM_MODULE/urxvt/g,s/IOM_CLASS/urxvt/g | and started to fail with a newer ExtUtils-ParseXS (https://bugs.gentoo.org/show_bug.cgi?id=378723) Thanks
From: tove [...] gentoo.org
On Thu Aug 11 10:27:10 2011, tove wrote: | INCLUDE: cat XSInclude.xsh |' >> t/XSMore.xs | [...] | Cannot open 'cat XSInclude.xsh |': No such file or directory in XSMore.xs, line 192 This is caused by the change from the two-argument open to the open in explicit "read" mode: https://github.com/tsee/extutils- parsexs/commit/028d103bb2b016596634d507f78809e8f1cb0dd4#L4L1443
Subject: Re: [rt.cpan.org #70213] INCLUDE: ... | results in "Cannot open... No such file or directory..."
Date: Mon, 05 Sep 2011 08:50:38 +0200
To: bug-ExtUtils-ParseXS [...] rt.cpan.org
From: Steffen Mueller <smueller [...] cpan.org>
On 09/02/2011 12:45 PM, Torsten Veller via RT wrote: Show quoted text
> Queue: ExtUtils-ParseXS > Ticket<URL: https://rt.cpan.org/Ticket/Display.html?id=70213> > > On Thu Aug 11 10:27:10 2011, tove wrote: > > | INCLUDE: cat XSInclude.xsh |'>> t/XSMore.xs > | [...] > | Cannot open 'cat XSInclude.xsh |': No such file or directory in > XSMore.xs, line 192 > > This is caused by the change from the two-argument open to the open in > explicit "read" mode: > https://github.com/tsee/extutils- > parsexs/commit/028d103bb2b016596634d507f78809e8f1cb0dd4#L4L1443 >
Thank you for the bug report and the diagnosis. I have not missed it, I'm just too busy to get to it. I hope I'll find some time this week. Feel free to beat me to a patch. That XS should continue to work, no doubt. Despite that, the proper and portable way to rewrite the bit of XS in question is: INCLUDE: XSInclude.xsh Or if you really need to run a command (this isn't portable, obviously): INCLUDE_COMMAND: cat XSInclude.xsh Best regards, Steffen
I'm running the perl testsuite with a fix for this. I will push the commit once the tests are done. Thanks again for reporting this and sorry for breaking it. Nevertheless, please consider using the newer INCLUDE_COMMAND as the slightly safer variant of INCLUDE: ... | since it offers $^X as the currently running perl. Best regards, Steffen