Skip Menu |

Preferred bug tracker

Please visit the preferred bug tracker to report your issue.

This queue is for tickets about the Inline CPAN distribution.

Report information
The Basics
Id: 81094
Status: resolved
Priority: 0/
Queue: Inline

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

Bug Information
Severity: Critical
Broken in:
  • 0.50
  • 0.51
Fixed in: (no value)



Subject: Inline build fails using INSTALL_BASE
cygwin 1.7.17
perl 5.14.2

Trying to update my PDL install location using the INSTALL_BASE
option for EU::MM along with --install-base for M::B, the Inline make
test failed (apparently because the Makefile generated by the test(s)
seem to be trying to access a location in the system perl5 location
and not the location under INSTALL_BASE.

Here is one example of the failure log with the full log attached to
this ticket along with the output from perl -V. 

make[1]: Entering directory `/cygdrive/e/chm/pdl/try/Inline-0.51/C'
PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e" "test_harness(0, '../blib/lib', '../blib/arch')" t/*.t
t/00init.t .............. ok
Uncaught exception from user code:
        make[2]: Entering directory `/cygdrive/e/chm/pdl/try/Inline-0.51/C/_Inline_test/build/_01syntax_t_6b3a'
Files found in blib/arch: installing files in blib/lib into architecture dependent library tree
Installing /cygdrive/e/chm/pdl/try/Inline-0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.bs
Installing /cygdrive/e/chm/pdl/try/Inline-0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll
chmod 755 /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll
chmod: cannot access `/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll': No such file or directory
Makefile:705: recipe for target `pure_install' failed
make[2]: *** [pure_install] Error 1
make[2]: Leaving directory `/cygdrive/e/chm/pdl/try/Inline-0.51/C/_Inline_test/build/_01syntax_t_6b3a'

A problem was encountered while attempting to compile and install your Inline
C code. The command that failed was:
  make pure_install > out.make_install 2>&1

The build directory was:
/cygdrive/e/chm/pdl/try/Inline-0.51/C/_Inline_test/build/_01syntax_t_6b3a

To debug the problem, cd to the build directory, and inspect the output files.

 at t/01syntax.t line 34.
BEGIN failed--compilation aborted at t/01syntax.t line 43.
 at t/01syntax.t line 43.
One or more DATA sections were not processed by Inline.

t/01syntax.t ............
Dubious, test returned 2 (wstat 512, 0x200)
Failed 5/5 subtests

Thanks,
Chris

Subject: cygwin-perl-V.txt
Summary of my perl5 (revision 5 version 14 subversion 2) configuration: Platform: osname=cygwin, osvers=1.7.15(0.26053), archname=cygwin-thread-multi-64int uname='cygwin_nt-5.1 winxp 1.7.15(0.26053) 2012-05-09 10:25 i686 cygwin ' config_args='-de -Dlibperl=cygperl5_14.dll -Dcc=gcc-4 -Dld=g++-4 -Darchname=i686-cygwin-threads-64int -Dmksymlinks -Dusethreads -Accflags=-g' hint=recommended, useposix=true, d_sigaction=define useithreads=define, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=define, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc-4', ccflags ='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-strict-aliasing -pipe -fstack-protector', optimize='-O3', cppflags='-DPERL_USE_SAFE_PUTENV -U__STRICT_ANSI__ -g -fno-strict-aliasing -pipe -fstack-protector' ccversion='', gccversion='4.5.3', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=12345678 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12 ivtype='long long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='g++-4', ldflags =' -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -fstack-protector -L/usr/local/lib' libpth=/usr/local/lib /usr/lib /lib libs=-lgdbm -ldb -ldl -lcrypt -lgdbm_compat perllibs=-ldl -lcrypt libc=/usr/lib/libc.a, so=dll, useshrplib=true, libperl=cygperl5_14.dll gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags=' --shared -Wl,--enable-auto-import -Wl,--export-all-symbols -Wl,--enable-auto-image-base -L/usr/local/lib -fstack-protector' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_PRESERVE_IVUV PERL_USE_SAFE_PUTENV USE_64_BIT_INT USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_PERL_ATOF USE_REENTRANT_API Locally applied patches: Bug#55162 File::Spec::case_tolerant performance CYG07 $vendorarch/auto/.rebase CYG15 static Win32CORE CYG17 cyg-1.7 paths-utf8 0c612ce82 Fix building static extensions on cygwin, -UUSEIMPORTLIB 1bac5ecc1 Fix 64-bit threading sv.c: S_anonymise_cv_maybe Cygwin::sync_winenv added Built under cygwin Compiled at Jul 12 2012 14:17:21 %ENV: PERL5LIB="/home/chm/local/lib/perl5" @INC: /home/chm/local/lib/perl5/cygwin-thread-multi-64int /home/chm/local/lib/perl5 /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/site_perl/5.14 /usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/vendor_perl/5.14 /usr/lib/perl5/5.14/i686-cygwin-threads-64int /usr/lib/perl5/5.14 /usr/lib/perl5/site_perl/5.10 /usr/lib/perl5/vendor_perl/5.10 /usr/lib/perl5/site_perl/5.8 .
Subject: inline-test-log.txt

Message body is not shown because it is too large.

A plain 'perl Makefile.PL; make; make test;'
worked ok so I redid the Inline build with the
INSTALL_BASE option and then forced
install without tests passing.  Now if I run
the tests they pass.

--Chris

On Sat Nov 10 13:02:31 2012, CHM wrote:
Show quoted text
> cygwin 1.7.17
> perl 5.14.2
>
> Trying to update my PDL install location using the INSTALL_BASE
> option for EU::MM along with --install-base for M::B, the Inline make
> test failed (apparently because the Makefile generated by the test(s)
> seem to be trying to access a location in the system perl5 location
> and not the location under INSTALL_BASE.
>
> Here is one example of the failure log with the full log attached to
> this ticket along with the output from perl -V.
>
> make[1]: Entering directory `/cygdrive/e/chm/pdl/try/Inline-0.51/C'
> PERL_DL_NONLAZY=1 /usr/bin/perl.exe "-MExtUtils::Command::MM" "-e"
> "test_harness(0, '../blib/lib', '../blib/arch')" t/*.t
> t/00init.t .............. ok
> Uncaught exception from user code:
> make[2]: Entering directory
> `/cygdrive/e/chm/pdl/try/Inline-
> 0.51/C/_Inline_test/build/_01syntax_t_6b3a'
> Files found in blib/arch: installing files in blib/lib into
> architecture
> dependent library tree
> Installing
> /cygdrive/e/chm/pdl/try/Inline-
> 0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.bs
> Installing
> /cygdrive/e/chm/pdl/try/Inline-
> 0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll
> chmod 755
> /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-
> 64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll
> chmod: cannot access
> `/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads-
> 64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll':
> No such file or directory
> Makefile:705: recipe for target `pure_install' failed
> make[2]: *** [pure_install] Error 1
> make[2]: Leaving directory
> `/cygdrive/e/chm/pdl/try/Inline-
> 0.51/C/_Inline_test/build/_01syntax_t_6b3a'
>
> A problem was encountered while attempting to compile and install your
> Inline
> C code. The command that failed was:
> make pure_install > out.make_install 2>&1
>
> The build directory was:
> /cygdrive/e/chm/pdl/try/Inline-
> 0.51/C/_Inline_test/build/_01syntax_t_6b3a
>
> To debug the problem, cd to the build directory, and inspect the
> output files.
>
> at t/01syntax.t line 34.
> BEGIN failed--compilation aborted at t/01syntax.t line 43.
> at t/01syntax.t line 43.
> One or more DATA sections were not processed by Inline.
>
> t/01syntax.t ............
> Dubious, test returned 2 (wstat 512, 0x200)
> Failed 5/5 subtests
>
> Thanks,
> Chris


On Sat Nov 10 13:02:31 2012, CHM wrote: Show quoted text
> Installing > /cygdrive/e/chm/pdl/try/Inline- > 0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.bs > Installing > /cygdrive/e/chm/pdl/try/Inline- > 0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll > chmod 755 > /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads- > 64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll > chmod: cannot access > `/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads- > 64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll': > No such file or directory
We see that _01syntax_t_6b3a.dll has been installed to the correct location - which, incidentally, is the same location to which it would have been installed even if INSTALL_BASE had *not* been specified. But then chmod goes beserk, and tries to chmod a _01syntax_t_6b3a.dll that's in a completely different (and non-exzistent) location. I tried building Inline-0.51 (with 'perl Makefile.PL INSTALL_BASE=C:/foo_bar'), on a native Win32 (MinGW) build of perl- 5.16.0, and it all went fine. (This was a perl that did not already have Inline installed.) On my Cygwin-1.7.7 installation (perl-5.10.1), I already had a build of Inline-0.49 that had been installed with INSTALL_BASE=~/modules so I removed it and built and installed Inline-0.51 (with 'perl Makefile.PL INSTALL_BASE=~/modules'). All went fine, except for that fork (rebase ?) issue, which is a completely different issue, and one that I can no longer be bothered with. So, I'm thinking we have some sort of Cygwin and/or EU::MM bug at play here - but it could also well be that Inline is the culprit. It's difficult for me to tell if I can't reproduce the error. It would bew interesting to see the original (troublesome) /cygdrive/e/chm/pdl/try/Inline- 0.51/C/_Inline_test/build/_01syntax_t_6b3a/Makefile if you still have it, or have the energy to reproduce it. Good that you found a workaround, though that doesn't make the bug any less annoying, of course. Cheers, Rob
Subject: Re: [rt.cpan.org #81094] Inline build fails using INSTALL_BASE
Date: Sun, 11 Nov 2012 11:31:32 -0500
To: bug-Inline [...] rt.cpan.org
From: Chris Marshall <devel.chm.01 [...] gmail.com>
Hi Rob- Perhaps the problem is perl version specific as I have not had trouble building Inline with perl 5.10.x from cygwin. This build was with the latest cygwin perl 5.14.2. The good news is that since all this was installed in a separate location, I should be able to reproduce the bug using a different INSTALL_BASE. Of course, I need to get PDL up and running first but will follow up with the details when I can do so. --Chris On Sat, Nov 10, 2012 at 10:47 PM, Sisyphus via RT <bug-Inline@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 > > > On Sat Nov 10 13:02:31 2012, CHM wrote: >
>> Installing >> /cygdrive/e/chm/pdl/try/Inline- >> 0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.bs >> Installing >> /cygdrive/e/chm/pdl/try/Inline- >> 0.51/C/_Inline_test/lib/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll >> chmod 755 >> /usr/lib/perl5/site_perl/5.14/i686-cygwin-threads- >> 64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll >> chmod: cannot access >> `/usr/lib/perl5/site_perl/5.14/i686-cygwin-threads- >> 64int/auto/_01syntax_t_6b3a/_01syntax_t_6b3a.dll': >> No such file or directory
> > We see that _01syntax_t_6b3a.dll has been installed to the correct > location - which, incidentally, is the same location to which it would > have been installed even if INSTALL_BASE had *not* been specified. > > But then chmod goes beserk, and tries to chmod a _01syntax_t_6b3a.dll > that's in a completely different (and non-exzistent) location. > > I tried building Inline-0.51 (with 'perl Makefile.PL > INSTALL_BASE=C:/foo_bar'), on a native Win32 (MinGW) build of perl- > 5.16.0, and it all went fine. (This was a perl that did not already > have Inline installed.) > On my Cygwin-1.7.7 installation (perl-5.10.1), I already had a build of > Inline-0.49 that had been installed with INSTALL_BASE=~/modules so I > removed it and built and installed Inline-0.51 (with 'perl Makefile.PL > INSTALL_BASE=~/modules'). All went fine, except for that fork > (rebase ?) issue, which is a completely different issue, and one that I > can no longer be bothered with. > > So, I'm thinking we have some sort of Cygwin and/or EU::MM bug at play > here - but it could also well be that Inline is the culprit. > It's difficult for me to tell if I can't reproduce the error. > > It would bew interesting to see the original (troublesome) > /cygdrive/e/chm/pdl/try/Inline- > 0.51/C/_Inline_test/build/_01syntax_t_6b3a/Makefile > if you still have it, or have the energy to reproduce it. > > Good that you found a workaround, though that doesn't make the bug any > less annoying, of course. > > Cheers, > Rob > >
On Sun Nov 11 11:31:44 2012, devel.chm.01@gmail.com wrote: Show quoted text
> Hi Rob- > > Perhaps the problem is perl version specific as I > have not had trouble building Inline with perl 5.10.x > from cygwin. This build was with the latest cygwin > perl 5.14.2. > > The good news is that since all this was installed > in a separate location, I should be able to reproduce > the bug using a different INSTALL_BASE. Of > course, I need to get PDL up and running first but > will follow up with the details when I can do so. > > --Chris
I've just installed the latest cygwin-1.7.17 (perl-5.14.2) on a Windows 7 box, and then installed Inline-0.51 (and its dependency chain) into ~/modules by specifying INSTALL_BASE=~/modules. I still didn't strike the problem you reported - but I did something a little differently. When it came to installing Parse-RecDescent-1.967009, the Makefile.PL croaked because EU::MM was at version 6.57_05, but 6.62 was needed. Rather than opt for an earlier version of P::RD, I installed version 6.62 of EU::MM (also into ~/modules) and all then went fine. Having done that, I then re-jigged things to build Inline-0.51 (perl Makefile.PL INSTALL_BASE=~/elsewhere) using version 6.57_05 of EU::MM and got exactly the same problem as you did. Apparently that's the version of EU::MM that originally shipped with 5.14.0 ... I haven't checked which version of EU::MM shgipped with 5.14.2 ... is upgrading to a later version of EU::MM an acceptable solution to this problem ? Cheers, Rob
Subject: Re: [rt.cpan.org #81094] Inline build fails using INSTALL_BASE
Date: Sun, 11 Nov 2012 16:39:39 -0500
To: bug-Inline [...] rt.cpan.org
From: Chris Marshall <devel.chm.01 [...] gmail.com>
I did a clean Inline-0.51 install into a new location (which required Test::Warn, Sub::Uplevel to be installed and Carp to be updated) and the test still failed. Then after an install of ExtUtils::MakeMaker 6.62 Inline build and installed just fine. It looks like the problem is a bug in the earlier EU::MM and setting a higher minimum version for Inline to build seems reasonable to me. --Chris On Sun, Nov 11, 2012 at 3:05 PM, Sisyphus via RT <bug-Inline@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 > > > On Sun Nov 11 11:31:44 2012, devel.chm.01@gmail.com wrote:
>> Hi Rob- >> >> Perhaps the problem is perl version specific as I >> have not had trouble building Inline with perl 5.10.x >> from cygwin. This build was with the latest cygwin >> perl 5.14.2. >> >> The good news is that since all this was installed >> in a separate location, I should be able to reproduce >> the bug using a different INSTALL_BASE. Of >> course, I need to get PDL up and running first but >> will follow up with the details when I can do so. >> >> --Chris
> > I've just installed the latest cygwin-1.7.17 (perl-5.14.2) on a Windows > 7 box, and then installed Inline-0.51 (and its dependency chain) into > ~/modules by specifying INSTALL_BASE=~/modules. > > I still didn't strike the problem you reported - but I did something a > little differently. > When it came to installing Parse-RecDescent-1.967009, the Makefile.PL > croaked because EU::MM was at version 6.57_05, but 6.62 was needed. > Rather than opt for an earlier version of P::RD, I installed version > 6.62 of EU::MM (also into ~/modules) and all then went fine. > > Having done that, I then re-jigged things to build Inline-0.51 (perl > Makefile.PL INSTALL_BASE=~/elsewhere) using version 6.57_05 of EU::MM > and got exactly the same problem as you did. > > Apparently that's the version of EU::MM that originally shipped with > 5.14.0 ... I haven't checked which version of EU::MM shgipped with > 5.14.2 ... is upgrading to a later version of EU::MM an acceptable > solution to this problem ? > > Cheers, > Rob >
On Sun Nov 11 16:39:50 2012, devel.chm.01@gmail.com wrote: Show quoted text
> I did a clean Inline-0.51 install into a new location > (which required Test::Warn, Sub::Uplevel to be > installed and Carp to be updated) and the test > still failed. > > Then after an install of ExtUtils::MakeMaker 6.62 > Inline build and installed just fine. It looks like > the problem is a bug in the earlier EU::MM and > setting a higher minimum version for Inline to > build seems reasonable to me.
Inline-0.51_02 has been pushed to CPAN. PREREQ_PM for EU::MM now gets set to 6.62 - but only if INSTALL_BASE is specified on the command line, and only then if the current version of EU::MM =~ m/6\.57/ Cheers, Rob
Fixed in 0.52 Thank you for the report