User Information
| Display Name: | Marcus Holland-Moritz |
|---|
| Partial Email Address: | mhx...@gmx.net |
| Posts: |
|
| 1) Marcus Holland-Moritz Re: [PATCH] buildperl.pl: allow older perl to compile with newer gcc |
|
|
| Hi Sam, Thanks a lot for your explanation and for fixing this! Cheers, Marcus... |
|
|
|
|
|
|
|
Hi Sam, On 2009-11-09, at 00:10:29 +1300, Sam Vilain wrote: > On Sun, 2009-11-08 at 11:29 +0100, Marcus Holland-Moritz wrote:> > Still, the question is how/why 52d674631edd5d1237df7203efc4396c3b77f8e7> > got tagged as perl-5.004_05, as it was almost one year before 5.004_05> > was actually released:> > > > Tim Bunce <Tim.Bunce@pobox.com> > > Fri, 15 May 1998 23:04:30 +0000 (23:04 +0000)> > p4raw-id: //depot/maint-5.004/perl@999> > > > "Update Porting/makerel script for perforce dir structure"> > Files: Porting/makerel> > > > I've CC'd Sam who can hopefuly shed some light on where the tags stem from.> > Yes, looks like it was one that slipped through the cracks. There were> no real tags in the Perforce repository, and I ended up using the table> I found here for the list:> > http://cpansearch.perl.org/src/RGARCIA/Module-CoreList-2.13/lib/Module/CoreList.pm> > (search for '%patchlevel')> > As you can see the "5.00405" release has the wrong change associated> with it, I produced a corrected tag for that, tagging exactly the commit> you point out - and a patch to Module::CoreList. So, its omission in> the official version seems to be another mistake.> > I've gone and updated the tag on camel to point to the new version;> people who have the old version of the tag, and care, should 'git fetch> origin tag perl-5.004_05'Thanks a lot for your explanation and for fixing this! Cheers, Marcus -- You are in the hall of the mountain king.
Attachment: signature.asc
|
|
|
| 2) Marcus Holland-Moritz Re: [PATCH] buildperl.pl: allow older perl to compile with newer gcc |
|
|
| Hi Philippe, Looking at the date, I'm not surprised: mhx@r2d2 ~ $ perl -le'print~~gmtime[stat... |
|
|
|
|
|
|
|
Hi Philippe, On 2009-11-08, at 10:25:07 +0100, Philippe Bruhat (BooK) wrote: > On Sun, Nov 08, 2009 at 09:52:57AM +0100, Philippe Bruhat (BooK) wrote:> > > > > The question is whether the 5.004_05 tag in the repo is> > > correct. I'd say it should match the contents of the> > > tarball that's available from CPAN.> > > > I've started to run a comparison of the content of the commits in the git> > tree to the content of the CPAN archive, to find which one is the closest> > to it...> > > > [after letting the script run a few hours]> > > > I already checked about 1400 commits and found nothing, this is harder> > than I thought. :-)> > Of course, using diff -ru --strip-trailing-cr gives better results than a> bare diff -ru. Starting the search in the right place (origin/maint-5.004)> also speeds up things a lot. ;-)> > So, the commit that exactly matches the content> of http://www.cpan.org/src/perl5.004_05.tar.gz is> f21c173c5f797b475e2d34e9ddd0b93c58d36e12:> > $ git log -1 f21c173c5f797b475e2d34e9ddd0b93c58d36e12> commit f21c173c5f797b475e2d34e9ddd0b93c58d36e12> Author: Chip Salzenberg <chip@pobox.com>> Date: Thu Apr 29 19:08:59 1999 +0000> > Fix a few scripts' permissions.> Update MANIFEST and, yet again, Changes.> > p4raw-id: //depot/maint-5.004/perl@3296Looking at the date, I'm not surprised: [email protected: m...@r2d2] ~ $ perl -le'print~~gmtime[stat shift]->[9]' perl5.004_05.tar.gz Thu Apr 29 20:04:24 1999 The commit was about one hour before the release of 5.004_05. Still, the question is how/why 52d674631edd5d1237df7203efc4396c3b77f8e7 got tagged as perl-5.004_05, as it was almost one year before 5.004_05 was actually released: Tim Bunce <Tim.Bunce@pobox.com> Fri, 15 May 1998 23:04:30 +0000 (23:04 +0000) p4raw-id: //depot/maint-5.004/perl@999 "Update Porting/makerel script for perforce dir structure" Files: Porting/makerel I've CC'd Sam who can hopefuly shed some light on where the tags stem from. Cheers, Marcus -- The economy depends about as much on economists as the weather does on weather forecasters. -- Jean-Paul Kauffmann
Attachment: signature.asc
|
|
|
| 3) Marcus Holland-Moritz Re: [PATCH] buildperl.pl: allow older perl to compile with newer gcc |
|
|
| Hi Philippe, Yes. My bad. I meant 5.004_05, but my fingers dared not to follow my brain ;) Can you... |
|
|
|
|
|
|
|
Hi Philippe, On 2009-11-08, at 01:01:14 +0100, Philippe Bruhat (BooK) wrote: > On Sat, Nov 07, 2009 at 07:26:00AM +0100, Marcus Holland-Moritz wrote:> > > > > > diff --git a/cpan/Devel-PPPort/devel/buildperl.pl b/cpan/Devel-PPPort/devel/buildperl.pl> > > index 49b7fbb..fefd480 100644> > > --- a/cpan/Devel-PPPort/devel/buildperl.pl> > > +++ b/cpan/Devel-PPPort/devel/buildperl.pl> > > @@ -99,7 +99,7 @@ my @patch = (> > > },> > > {> > > perl => [> > > - qr/^5\.004_0[1234]$/,> > > + qr/^5\.004_0[12345]$/,> > > ],> > > subs => [> > > [ \&patch_doio ],> > > > any special reason why you added 5.005_05 for the doio patch?> > My patch is for 5.004_05, not 5.005_05.Yes. My bad. I meant 5.004_05, but my fingers dared not to follow my brain ;) > > While this might sound like a dumb question at first -- I guess> > you added it because it didn't compile for you -- I'd be glad> > for some details, as *with* your change, it doesn't compile for> > me...> > Indeed, I added that because it didn't compile for me.> > First of all, I create the archives using > > git archive --format=tar --prefix=$tag/ $tag^{tree} \> | gzip > /tmp/perl/source/$tag.tar.gz> > With $tag being perl-5.004_05 in this case.> > Maybe this tag doesn't generate the same archive as the one you're using?Can you compare yours against the one from CPAN (which is what I'm using): http://www.cpan.org/src/perl5.004_05.tar.gz> > `sh cflags libperl.a doio.o` doio.c> > CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -DDEBUGGING -g > > doio.c:86: error: redefinition of 'union semun'> > make: *** [doio.o] Error 1> > The error I get *without* my change is:> > `sh cflags libperl.a doio.o` doio.c> CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -I/usr/local/include -O2 > doio.c: In function ‘Perl_nextargv’:> doio.c:505: attention : ignoring return value of ‘fchown’, declared with attribute warn_unused_result> doio.c: In function ‘Perl_do_ipcctl’:> doio.c:1445: erreur: storage size of ‘unsemds’ isn’t known> doio.c:1486: erreur: storage size of ‘semun’ isn’t known> make: *** [doio.o] Erreur 1> make all: 512> > > ...which is because this piece of code had been added between> > 5.005_04 and 5.005_05 in perl.h...> > > > # ifndef HAS_UNION_SEMUN /* Provide the union semun. */> > union semun {> > int val;> > struct semid_ds *buf;> > unsigned short *array;> > };> > # endif> > > > ...which was precisely why I excluded 5.004_05 from the doio> > patch. So, maybe you can provide me with some details on why> > exactly it doesn't work for you so we can find a solution> > that works for both systems.> > When looking at the logs in the git tree, it seems that the patch> you're talking about was added in bd89102fe7784367e3eeddc7cefae29defae903a:> > $ git log -n1 -p bd89102fe7784367e3eeddc7cefae29defae903a -- perl.h> commit bd89102fe7784367e3eeddc7cefae29defae903a> Author: Andy Dougherty <doughera@lafayette.edu>> Date: Thu May 28 09:27:25 1998 -0400> > [PATCH 5.004_65] Config_65-02-03.diff: SunOS and Solaris hints> Date: Thu, 28 May 1998 13:27:25 -0400 (EDT)> Subject: [PATCH 5.004_65] Config_65-03-04.diff: semctl probing> Date: Thu, 28 May 1998 13:28:21 -0400 (EDT)> > p4raw-id: //depot/perl@1047> > diff --git a/perl.h b/perl.h> index fc96064..8645c39 100644> --- a/perl.h> +++ b/perl.h> @@ -2090,6 +2090,26 @@ enum {> UNLOCK_SV_MUTEX; \> } while (0)> > +#ifdef HAS_SEM> +# include <sys/ipc.h>> +# include <sys/sem.h>> +# ifndef HAS_UNION_SEMUN /* Provide the union semun. */> + union semun {> + int val;> + struct semid_ds *buf;> + unsigned short *array;> + };> +# endif> +# ifdef USE_SEMCTL_SEMUN> +# define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun)> +# else> +# ifdef USE_SEMCTL_SEMID_DS> +# define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun.buf)> +# endif> +# endif> +# ifndef Semctl /* Place our bets on the semun horse. */> +# define Semctl(id, num, cmd, semun) semctl(id, num, cmd, semun)> +# endif> +#endif> > #endif /* Include guard */> -> > What worries me is that this patch is for Perl 5.004_65.> But the only 5.004_xx tags in the git tree are:> > $ git tag -l 'perl-5.004*'> perl-5.004> perl-5.004_01> perl-5.004_02> perl-5.004_03> perl-5.004_04> perl-5.004_05> > Since the versions I see in the log messages go up to 5.004_71, it seems> that some tags are missing...IIRC, 5.004_50 and onwards were development releases (just like 5.(7|9|11).x today). And just as 5.8.9 was released after 5.9.5, for example, 5.004_05 was most probably released after 5.004_65. (Indeed, checking in the APC I can see a 5.004_65 tarball from 1998-05-15 while 5.004_05 is from 1999-04-29.) The question is whether the 5.004_05 tag in the repo is correct. I'd say it should match the contents of the tarball that's available from CPAN. > The best way to go with my patch is probably to ignore the parts related> to 5.004_05, as obviously I didn't know what I was doing.I indeed changed the behaviour of the doio patch back to *not* patching 5.004_05. With this, I can build all perls on my box. Thanks for your work! Cheers, Marcus -- Computer programmers do it byte by byte.
Attachment: signature.asc
|
|
|
| 4) Marcus Holland-Moritz Re: [PATCH] buildperl.pl: allow older perl to compile with newer gcc |
|
|
| Hi Philippe, any special reason why you added 5.005_05 for the doio patch? While this might sound... |
|
|
|
|
|
|
|
Hi Philippe, On 2009-11-03, at 12:58:06 +0100, Philippe Bruhat (BooK) wrote: > Perl versions tested to compile (under linux):> - 5.004_05> - 5.005 5.005_01 5.005_02 5.005_03 5.005_04> - 5.6.0 5.6.1 5.6.2> - 5.8.0 5.8.1 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.8.8 5.8.9-RC1 5.8.9> - 5.9.0 5.9.1 5.9.2 5.9.3 5.9.4 5.9.5> ---> cpan/Devel-PPPort/devel/buildperl.pl | 71 +++++++++++++++++++++++++++++++++-> 1 files changed, 69 insertions(+), 2 deletions(-)> > diff --git a/cpan/Devel-PPPort/devel/buildperl.pl b/cpan/Devel-PPPort/devel/buildperl.pl> index 49b7fbb..fefd480 100644> --- a/cpan/Devel-PPPort/devel/buildperl.pl> +++ b/cpan/Devel-PPPort/devel/buildperl.pl> @@ -99,7 +99,7 @@ my @patch = (> },> {> perl => [> - qr/^5\.004_0[1234]$/,> + qr/^5\.004_0[12345]$/,> ],> subs => [> [ \&patch_doio ],any special reason why you added 5.005_05 for the doio patch? While this might sound like a dumb question at first -- I guess you added it because it didn't compile for you -- I'd be glad for some details, as *with* your change, it doesn't compile for me... `sh cflags libperl.a doio.o` doio.c CCCMD = cc -DPERL_CORE -c -Dbool=char -DHAS_BOOL -DDEBUGGING -g doio.c:86: error: redefinition of 'union semun' make: *** [doio.o] Error 1 ...which is because this piece of code had been added between 5.005_04 and 5.005_05 in perl.h... # ifndef HAS_UNION_SEMUN /* Provide the union semun. */ union semun { int val; struct semid_ds *buf; unsigned short *array; }; # endif ...which was precisely why I excluded 5.004_05 from the doio patch. So, maybe you can provide me with some details on why exactly it doesn't work for you so we can find a solution that works for both systems. Thanks, Marcus -- The Gordian Maxim: If a string has one end, it has another.
Attachment: signature.asc
|
|
|
| 5) Marcus Holland-Moritz Re: [PATCH] buildperl.pl: allow older perl to compile with newer gcc |
|
|
| Hi Philippe, thanks for the patch, I've just applied it and I'm now re-building all my perls (5.003... |
|
|
|
|
|
|
|
Hi Philippe, thanks for the patch, I've just applied it and I'm now re-building all my perls (5.003 .. 5.11.1). It will be part of the next release. Cheers, Marcus -- C makes it easy for you to shoot yourself in the foot. C++ makes that harder, but when you do, it blows away your whole leg. -- Bjarne Stroustrup
Attachment: signature.asc
|
|
|
|
 | |