Skip Menu |

This queue is for tickets about the Module-Build CPAN distribution.

Report information
The Basics
Id: 64476
Status: stalled
Priority: 0/
Queue: Module-Build

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

Bug Information
Severity: Normal
Broken in: 0.36_20
Fixed in: (no value)



Subject: Document a nested XS limitation
It should documented that the following module layout is not possible on Windows and AIX with Module::Build. So such a layout should be avoided at all. Socket::GetAddrInfo just fell into this trap. Base.pm Base\XS.xs Base\PP.pm Reason: On Windows a .def file is created which used the basename only as function to boot. You cannot specifiy or override (in EU::MM fashion) to boot the XS part. Thus hurts esp. when people develop on unix and blaim windows then, when it does not work. It is just a bad Module::Build and ExtUtils::CBuilder design, not a windows limitation. See ExtUtils::CBuilder::Base::prelink ExtUtils::Mksymlists -- Reini Urban
Subject: Re: [rt.cpan.org #64476] Document a nested XS limitation
Date: Wed, 05 Jan 2011 10:57:47 +1100
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
On 2011.1.5 9:36 AM, Reini Urban via RT wrote: Show quoted text
> It should documented that the following module layout is not possible on > Windows and AIX with Module::Build. So such a layout should be avoided > at all.
Documenting it implies it cannot be fixed. Can it be fixed? Show quoted text
> Socket::GetAddrInfo just fell into this trap. > > Base.pm > Base\XS.xs > Base\PP.pm > > Reason: On Windows a .def file is created which used the basename only > as function to boot. You cannot specifiy or override (in EU::MM fashion) > to boot the XS part. > Thus hurts esp. when people develop on unix and blaim windows then, when > it does not work. > It is just a bad Module::Build and ExtUtils::CBuilder design, not a > windows limitation. > > See ExtUtils::CBuilder::Base::prelink ExtUtils::Mksymlists
-- Ahh email, my old friend. Do you know that revenge is a dish that is best served cold? And it is very cold on the Internet!
Subject: Re: [rt.cpan.org #64476] Document a nested XS limitation
Date: Wed, 5 Jan 2011 16:34:51 +0100
To: bug-Module-Build [...] rt.cpan.org
From: Reini Urban <rurban [...] x-ray.at>
2011/1/5 Michael G Schwern via RT <bug-Module-Build@rt.cpan.org>: Show quoted text
> <URL: https://rt.cpan.org/Ticket/Display.html?id=64476 > > > On 2011.1.5 9:36 AM, Reini Urban via RT wrote:
>> It should documented that the following module layout is not possible on >> Windows and AIX with Module::Build. So such a layout should be avoided >> at all.
> > Documenting it implies it cannot be fixed.  Can it be fixed?
Fixing is not that important, though it should be trivial. The problem is that I have to support older perls also, with older Module::Build installed, which are very likely not updated. Of course I can do a require => new version, but more important is to warn authors that their modules might not work on windows with such a layout, so that they can change their layout and not blame windows. Most authors don't have windows at hand and rely on cpan testers, and there are seldom MSWin32 test reports. And maybe authors can be persuaded to switch over to EU::MM. -- Reini
Subject: Re: [rt.cpan.org #64476] Document a nested XS limitation
Date: Thu, 06 Jan 2011 10:26:12 +1100
To: bug-Module-Build [...] rt.cpan.org
From: Michael G Schwern <schwern [...] pobox.com>
On 2011.1.6 2:35 AM, Reini Urban via RT wrote: Show quoted text
>> Documenting it implies it cannot be fixed. Can it be fixed?
> > Fixing is not that important
Fixing is always important else you'll be having the same complaint next year, and the year after that, and after that. Show quoted text
> though it should be trivial.
Great! We're not Windows developers, it's not trivial to us. Can you supply a patch? Show quoted text
> The problem is that I have to support older perls also, with > older Module::Build installed, which are very likely not updated.
Then why fix any bugs in anything? Somebody's always going to have the old version of whatever installed. Oh, wait, we have a dependency system with versions. Use configure_requires. Show quoted text
> Of course I can do a require => new version, but more important is > to warn authors that their modules might not work on windows with such > a layout, so that they can change their layout and not blame windows.
You want us to warn authors that there might be bugs in old versions of software. Gotcha. I'll begin printing leaflets immediately. Show quoted text
> Most authors don't have windows at hand and rely on cpan testers, and there > are seldom MSWin32 test reports.
Yes, we need Windows smokers. Well volunteered! Doesn't have to be everything. Even for just the critical modules you clearly care about, that would be very helpful. Show quoted text
> And maybe authors can be persuaded to switch over to EU::MM.
But... oh no! Somebody might have an old version of MM installed that has Windows bugs! What will you do?! Reini, you're clearly annoyed, but MakeMaker is not some magical fairy land. It has all the issues you've outlined about Module::Build and far, far more. It requires even more effort to maintain cross platform. It's had people quietly dealing with and fixing bugs for years now. Don't delude yourself. You can bitch, but you also have to help. Now, do you want this fixed or not? Your call. -- If you want the truth to stand clear before you, never be for or against. The struggle between "for" and "against" is the mind's worst disease. -- Sent-ts'an
Subject: Re: [rt.cpan.org #64476] Document a nested XS limitation
Date: Wed, 5 Jan 2011 19:00:10 -0500
To: bug-Module-Build [...] rt.cpan.org
From: David Golden <dagolden [...] cpan.org>
On Wed, Jan 5, 2011 at 6:26 PM, Michael G Schwern via RT <bug-Module-Build@rt.cpan.org> wrote: Show quoted text
> Oh, wait, we have a dependency system with versions.  Use configure_requires.
Yes, I'm very much looking forward to April when the official support is dropped for anything too old to have configure_requires. -- David
Reini, I would much rather have a patch to fix this if it is indeed trivial to do. (And it can be documented that it doesn't work on older M::B's, too.) I know that doesn't help legacy users stuck with older Module::Build, but that's been true of every bug fix for M::B (and EU::MM for that matter) for people without at least Perl 5.10.1 (or an updated CPAN client). -- David