Discussion:
[rt.cpan.org #81094] Inline build fails using INSTALL_BASE
Chris Marshall via RT
2012-11-10 18:02:32 UTC
Permalink
Sat Nov 10 13:02:31 2012: Request 81094 was acted upon.
Transaction: Ticket created by CHM
Queue: Inline
Subject: Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >


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
Chris Marshall via RT
2012-11-10 18:48:06 UTC
Permalink
Sat Nov 10 13:48:05 2012: Request 81094 was acted upon.
Transaction: Correspondence added by CHM
Queue: Inline
Subject: Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >


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
Post by Chris Marshall via RT
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
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-
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
make pure_install > out.make_install 2>&1
/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
Sisyphus via RT
2012-11-11 03:47:46 UTC
Permalink
Sat Nov 10 22:47:45 2012: Request 81094 was acted upon.
Transaction: Correspondence added by SISYPHUS
Queue: Inline
Subject: Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >
Post by Chris Marshall via RT
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-
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
devel.chm.01-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org via RT
2012-11-11 16:31:44 UTC
Permalink
Sun Nov 11 11:31:44 2012: Request 81094 was acted upon.
Transaction: Correspondence added by devel.chm.01-***@public.gmane.org
Queue: Inline
Subject: Re: [rt.cpan.org #81094] Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >


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
Post by Chris Marshall via RT
<URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >
Post by Chris Marshall via RT
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-
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
Sisyphus via RT
2012-11-11 20:05:21 UTC
Permalink
Sun Nov 11 15:05:20 2012: Request 81094 was acted upon.
Transaction: Correspondence added by SISYPHUS
Queue: Inline
Subject: Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >
Post by devel.chm.01-***@public.gmane.org via RT
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
devel.chm.01-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org via RT
2012-11-11 21:39:51 UTC
Permalink
Sun Nov 11 16:39:50 2012: Request 81094 was acted upon.
Transaction: Correspondence added by devel.chm.01-***@public.gmane.org
Queue: Inline
Subject: Re: [rt.cpan.org #81094] Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >


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
Post by Chris Marshall via RT
<URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >
Post by devel.chm.01-***@public.gmane.org via RT
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
Sisyphus via RT
2012-11-20 09:48:52 UTC
Permalink
Tue Nov 20 04:48:51 2012: Request 81094 was acted upon.
Transaction: Correspondence added by SISYPHUS
Queue: Inline
Subject: Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >
Post by devel.chm.01-***@public.gmane.org via RT
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
Sisyphus via RT
2013-03-07 02:15:28 UTC
Permalink
Wed Mar 06 21:15:25 2013: Request 81094 was acted upon.
Transaction: Correspondence added by SISYPHUS
Queue: Inline
Subject: Inline build fails using INSTALL_BASE
Broken in: 0.50, 0.51
Severity: Critical
Owner: Nobody
Requestors: chm-***@public.gmane.org
Status: open
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=81094 >


Fixed in 0.52
Thank you for the report

Loading...