Skip Menu |

This queue is for tickets about the Gnome2 CPAN distribution.

Report information
The Basics
Id: 89188
Status: resolved
Worked: 1 hour (60 min)
Priority: 0/
Queue: Gnome2

People
Owner: XAOC [...] cpan.org
Requestors: ppisar [...] redhat.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 1.043
Fixed in: 1.044

Attachments
0001-Fix-build-ensure-existence-of-blib-lib-Gnome2-for-en.patch



Subject: 1.043 does build because of already created blib/lib/Gnome2
The make phase fails with: mkdir blib/lib/Gnome2 mkdir: cannot create directory 'blib/lib/Gnome2': File exists make: *** [blib/lib/Gnome2/enums.pod] Error 1 This is a regression since 1.042 because of the new explicit mkdir in the Makefile.PL.
On Wed Oct 02 04:59:24 2013, ppisar wrote: Show quoted text
> The make phase fails with: > > mkdir blib/lib/Gnome2 > mkdir: cannot create directory 'blib/lib/Gnome2': File exists > make: *** [blib/lib/Gnome2/enums.pod] Error 1 > > This is a regression since 1.042 because of the new explicit mkdir in > the Makefile.PL.
Hi, What version of Perl are you using? I've run into issues with 5.18.1 not creating the blib/lib/Gnome directory on two separate hosts, hence the change in the last release. Thanks, Brian
On Wed Oct 02 17:46:43 2013, XAOC wrote: Show quoted text
> What version of Perl are you using? > > I've run into issues with 5.18.1 not creating the blib/lib/Gnome > directory on two separate hosts, hence the change in the last release.
Sorry, can you give me the full details; Perl version, OS, distro with version, hardware architecture. I have two identical copies of Debian 7.1/Wheezy on i386 and x86_64, and the x86_64 copy doesn't have the blib/lib/Gnome2 directory when 'make' goes to generate enums.pod, hence the original change.
On Wed Oct 02 17:56:10 2013, XAOC wrote: Show quoted text
> Sorry, can you give me the full details; Perl version, OS, distro with > version, hardware architecture. > > I have two identical copies of Debian 7.1/Wheezy on i386 and x86_64, > and the x86_64 copy doesn't have the blib/lib/Gnome2 directory when > 'make' goes to generate enums.pod, hence the original change.
Never mind, I figured out what the problem is. ExtUtils::MakeMaker enumerates over the files in the hash MAN3PODS in different orders between the latest and greatest and the version that comes with Debian Wheezy. Once the Makefile was generated with the latest EU::MM, the file 'enums.pod' would try to be made prior to the blib/lib/Gnome2 directory being created, causing an error. Older versions of EU::MM didn't show this behavior. If I change the path to enums.pod so it gets put last in the MAN3PODS hash (hardcode the Gnome2 directory), Gnome2 will build with no issues. To reproduce: install the latest and greatest EU::MM, remove the 'mkdir' from the 2nd to last line in Makefile.PL and then try to build Gnome2. The build should fail at the point when 'make' goes to generate the POD files.
Found the RT ticket for the change in EU::MM that sorts all of the MAN*POD hashes prior to generating files, and linked it to this ticket.
Subject: Re: [rt.cpan.org #89188] 1.043 does build because of already created blib/lib/Gnome2
Date: Thu, 3 Oct 2013 08:50:43 +0200
To: Brian Manning via RT <bug-Gnome2 [...] rt.cpan.org>
From: Petr Pisar <ppisar [...] redhat.com>
On Wed, Oct 02, 2013 at 06:57:24PM -0400, Brian Manning via RT wrote: Show quoted text
> On Wed Oct 02 17:56:10 2013, XAOC wrote:
> > Sorry, can you give me the full details; Perl version, OS, distro with > > version, hardware architecture. > > > > I have two identical copies of Debian 7.1/Wheezy on i386 and x86_64, > > and the x86_64 copy doesn't have the blib/lib/Gnome2 directory when > > 'make' goes to generate enums.pod, hence the original change.
> > Never mind, I figured out what the problem is. > > ExtUtils::MakeMaker enumerates over the files in the hash MAN3PODS in > different orders between the latest and greatest and the version that comes > with Debian Wheezy. Once the Makefile was generated with the latest EU::MM, > the file 'enums.pod' would try to be made prior to the blib/lib/Gnome2 > directory being created, causing an error. Older versions of EU::MM didn't > show this behavior. > > > If I change the path to enums.pod so it gets put last in the MAN3PODS hash > (hardcode the Gnome2 directory), Gnome2 will build with no issues. > > To reproduce: install the latest and greatest EU::MM, remove the 'mkdir' > from the 2nd to last line in Makefile.PL and then try to build Gnome2. The > build should fail at the point when 'make' goes to generate the POD files.
I observe the creating existing directory with perl-v5.16.3 and ExtUtils-MakeMaker-6.64 as well as with perl-v5.18.1 and ExtUtils-MakeMaker-6.78. What do you mean with latest EU::MM? 6.78 or 6.79_01? You can simply work around the problem with "test -d || mkdir". -- Petr
Download (untitled)
application/pgp-signature 230b

Message body not shown because it is not plain text.

On Thu Oct 03 02:51:03 2013, ppisar wrote: Show quoted text
> On Wed, Oct 02, 2013 at 06:57:24PM -0400, Brian Manning via RT wrote:
> > To reproduce: install the latest and greatest EU::MM, remove the > > 'mkdir' > > from the 2nd to last line in Makefile.PL and then try to build > > Gnome2. The > > build should fail at the point when 'make' goes to generate the POD > > files.
> > I observe the creating existing directory with perl-v5.16.3 and > ExtUtils-MakeMaker-6.64 as well as with perl-v5.18.1 and > ExtUtils-MakeMaker-6.78. > > What do you mean with latest EU::MM? 6.78 or 6.79_01?
I explain the issue in more detail in the post I made to the gtk-perl mailing list [1], along with versions that work and don't work and links to the relevant RT ticket (which has been linked to this ticket). Show quoted text
> You can simply work around the problem with "test -d || mkdir".
Unfortunately, that's not portable across operating systems. I'm currently waiting for an answer on a possible fix from one of the other developers. Thanks, Brian [1] https://mail.gnome.org/archives/gtk-perl-list/2013-October/msg00002.html
Torsten Schoenfeld via gnome.org 12:52 PM (54 minutes ago) to gtk-perl-list On 03.10.2013 01:43, Brian Manning wrote: Show quoted text
> I've made a change to Gnome2 [3] that hardcodes the path to the Gnome2 > output directory under blib so EU::MM sorts enums.pod differently now > when it generates the Makefile. The change is working for me on older > and current versions of EU::MM.
Thanks for your investigation. Show quoted text
> Torsten, can you look at this and see if this change is the right way > to go? There's also another '$(FULLEXT)/enums.pod' being used at the > bottom of Makefile.PL; can it/should it be hardcoded to 'Gnome2' also?
I think it would be better to make enums.pod's dependence on the existence of blib/lib/Gnome2 explicit, as per the attached patch. I tested this with EU::MM 6.57_05 and 6.78: both have the Makefile target and hence the build succeeds.
Subject: 0001-Fix-build-ensure-existence-of-blib-lib-Gnome2-for-en.patch
From 1547e9b2bf4f9a001a35552136bbcf2f33c9ea72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torsten=20Sch=C3=B6nfeld?= <kaffeetisch@gmx.de> Date: Thu, 3 Oct 2013 21:49:44 +0200 Subject: [PATCH] Fix build: ensure existence of blib/lib/Gnome2 for enums.pod --- Makefile.PL | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.PL b/Makefile.PL index 8ef6e19..fdfdd12 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -138,7 +138,7 @@ sub MY::postamble { 'PERL_GNOME_VFS' => $build_reqs{'perl-Gnome2-VFS'}, ) . " -\$(INST_LIB)/\$(FULLEXT)/enums.pod : \$(BLIB_DONE) maps podifyenums.pl +\$(INST_LIB)/\$(FULLEXT)/enums.pod : \$(BLIB_DONE) \$(INST_LIB)/\$(FULLEXT)/ maps podifyenums.pl \$(PERLRUNINST) -M\$(NAME) podifyenums.pl \$(NAME) maps > \$@ "; } -- 1.8.1.2
Subject: Re: [rt.cpan.org #89188] 1.043 does build because of already created blib/lib/Gnome2
Date: Mon, 7 Oct 2013 08:43:02 +0200
To: Brian Manning via RT <bug-Gnome2 [...] rt.cpan.org>
From: Petr Pisar <ppisar [...] redhat.com>
On Thu, Oct 03, 2013 at 04:49:44PM -0400, Brian Manning via RT wrote: Show quoted text
> I think it would be better to make enums.pod's dependence on the existence > of blib/lib/Gnome2 explicit, as per the attached patch. I tested this with > EU::MM 6.57_05 and 6.78: both have the Makefile target and hence the build > succeeds. >
Yes, this is the best solution. I tested it with 6.78 successfully. -- Petr
Download (untitled)
application/pgp-signature 230b

Message body not shown because it is not plain text.

This issue was resolved (and verified) in 1.044. Changing ticket status to 'resolved'.