Skip Menu |

This queue is for tickets about the Moose CPAN distribution.

Report information
The Basics
Id: 74329
Status: resolved
Priority: 0/
Queue: Moose

People
Owner: Nobody in particular
Requestors: w.phillip.moore [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 2.0401
Fixed in: (no value)



Subject: Class::Load::XS appears to be "recommends" not "requires"
I noticed something by accident today: a bug in my build system tried to compile Moose even though a required dependency was missing. Normally, when a required dependency is missing, I expect "perl Makefile.PL" or "make test" to implode, but to my surprise, everything worked. The issue is a small, but important edge condition. On AIX, Class::Load::XS does not work at all with perl5.14, if you build a 32 bit perl. Therefore, everything that depends on that module, on that particular platform, can not use Moose. As a result, when building Moose, and anything else that needs Class::Load::XS, I have to drop that platform from support. If Class::Load::XS is missing, then I am still able to build Moose-2.0401, with no test suite failures, at least on 32 bit AIX with perl5.14. Now, I haven't tried it yet, and I haven't taken the time to dig into it, but I'm guessing that Class::Load handles the absence of Class::Load:XS gracefully. Perhaps this is the case of Class::Load::XS being considered required because without performance is significantly impacted? if so, then I would rather be able to have a poorly performing Moose on that platform, rather than no Moose.
Subject: Re: [rt.cpan.org #74329] Class::Load::XS appears to be "recommends" not "requires"
Date: Tue, 24 Jan 2012 11:05:01 -0600
To: Phillip Moore via RT <bug-Moose [...] rt.cpan.org>
From: Jesse Luehrs <doy [...] tozt.net>
Personally, I'd rather get Class::Load::XS working on AIX than fiddle with the dependencies here. Can you report this bug against Class::Load::XS along with any debugging information you have? It doesn't do anything incredibly complicated, so I can't imagine fixing it would be that hard. -doy
Subject: Re: [rt.cpan.org #74329] Class::Load::XS appears to be "recommends" not "requires"
Date: Tue, 24 Jan 2012 12:15:01 -0500
To: bug-Moose [...] rt.cpan.org
From: Phillip Moore <w.phillip.moore [...] gmail.com>
I completely agree - I would also prefer to get that module working, however, it doesn't. I have reported it https://rt.cpan.org/Ticket/Display.html?id=72496 Rolsky doesn't have access to the systems necessary to debug this, and I can't grant him access to mine (internal corporate platforms -- you know the deal here, I'm sure). Honestly, since AIX is such a niche platform, I seriously doubt that it's going to get fixed. In my case, having it working, and for that matter having Moose working on 32-bit AIX perl 5.14, is a corner case, and not a hard requirement. It would be nice if Moose worked on ALL my supported platforms, but right now, it doesn't. Short term, I'm going to patch Moose's metadata locally, and let it build without Class::Load::XS on that one platform/compiler combination (it will be used for all the others). I have no problem maintaining that, if you feel that this should remain a required dependency. I maintain a lot of patches and hacks that CPAN authors don't want -- story my my life :-P On Tue, Jan 24, 2012 at 12:05 PM, Jesse Luehrs via RT <bug-Moose@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=74329 > > > Personally, I'd rather get Class::Load::XS working on AIX than fiddle > with the dependencies here. Can you report this bug against > Class::Load::XS along with any debugging information you have? It > doesn't do anything incredibly complicated, so I can't imagine fixing it > would be that hard. > > -doy >
I'm not sure about the rest of the discussion, but this ticket's subject is wrong. See https://metacpan.org/source/DOY/Moose-2.0402/META.json Class::Load::XS is listed under requires.
Subject: Re: [rt.cpan.org #74329] Class::Load::XS appears to be "recommends" not "requires"
Date: Mon, 20 Feb 2012 04:57:31 -0500
To: bug-Moose [...] rt.cpan.org
From: Phillip Moore <w.phillip.moore [...] gmail.com>
The point of this ticket was that Class::Load::XS isn't really required, it's optional. If you make it a "recommends" instead of "requires", then you can build Moose on the platforms where Class::Load::XS doesn't work, and Moose will pass it's entire test suite. By making that module a "requires", you prevent Moose from being installed on platforms that can't install Class::Load::XS, when in reality, Class::Load::XS is just an optimization for Class::Load. Without the ::XS module, Class::Load works fine, and so does Moose (although I will assume it suffers a performance penalty in this case). However, it's a moot point now, because the one platform on which Class::Load::XS didn't work for me was 32bit AIX 6, using perl5.14, and that is fixed as of the latest release. For the platforms *I* am using, this is no longer an issue. I don't care if you close this particular ticket, but I just wanted to point out that Moose does NOT really "require" Class::Load::XS, since it *can* function without it. On Sun, Feb 19, 2012 at 3:35 PM, Dave Rolsky via RT <bug-Moose@rt.cpan.org> wrote: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=74329 > > > I'm not sure about the rest of the discussion, but this ticket's subject > is wrong. See https://metacpan.org/source/DOY/Moose-2.0402/META.json > > Class::Load::XS is listed under requires.