Skip Menu |

This queue is for tickets about the B-Generate CPAN distribution.

Report information
The Basics
Id: 21030
Status: resolved
Priority: 0/
Queue: B-Generate

People
Owner: Nobody in particular
Requestors: alexchorny [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 1.06_1
Fixed in: (no value)



Subject: nmake fail
perl v5.8.7 built for MSWin32-x86-multi-thread Binary build 813 c:\Perl\bin\perl.exe Build --makefile_env_macros 1 lib\B\Generate.pm -> blib\lib\B\Generate.pm lib\B\Generate.xs -> lib\B\Generate.c Generating script 'lib\B\Generate.ccs' cl -nologo -c @"lib\B\Generate.ccs" -Fo"lib\B\Generate.obj" "lib\B\Generate.c" Generate.c lib\B\Generate.xs(103) : warning C4101: 'val' : unreferenced local variable lib\B\Generate.xs(221) : warning C4101: 'value' : unreferenced local variable lib\B\Generate.xs(242) : warning C4101: 'value' : unreferenced local variable lib\B\Generate.xs(464) : warning C4133: '=' : incompatible types - from 'struct sv *' to 'struct cv *' lib\B\Generate.xs(520) : warning C4047: 'initializing' : 'int ' differs in levels of indirection from 'struct sv ** ' lib\B\Generate.xs(521) : warning C4047: 'initializing' : 'int ' differs in levels of indirection from 'struct av *' lib\B\Generate.xs(522) : warning C4047: 'initializing' : 'int ' differs in levels of indirection from 'struct av *' lib\B\Generate.xs(526) : warning C4047: 'function' : 'struct av *' differs in levels of indirection from 'int ' lib\B\Generate.xs(526) : warning C4024: 'Perl_av_fetch' : different types for formal and actual parameter 2 lib\B\Generate.xs(527) : warning C4047: 'function' : 'struct av *' differs in levels of indirection from 'int ' lib\B\Generate.xs(527) : warning C4024: 'Perl_av_fetch' : different types for formal and actual parameter 2 lib\B\Generate.xs(537) : error C2143: syntax error : missing ')' before 'type' lib\B\Generate.xs(537) : error C2198: 'Perl_pad_alloc' : too few actual parameters lib\B\Generate.xs(537) : error C2059: syntax error : ')' lib\B\Generate.xs(545) : warning C4047: '=' : 'struct sv ** ' differs in levels of indirection from 'int ' lib\B\Generate.xs(546) : warning C4047: '=' : 'struct av *' differs in levels of indirection from 'int ' lib\B\Generate.xs(547) : warning C4047: '=' : 'struct av *' differs in levels of indirection from 'int ' lib\B\Generate.xs(662) : warning C4244: '=' : conversion from 'long ' to 'unsigned short ', possible loss of data lib\B\Generate.xs(683) : warning C4244: '=' : conversion from 'long ' to 'unsigned short ', possible loss of data lib\B\Generate.xs(690) : warning C4133: 'function' : incompatible types - from 'struct op *' to 'struct interpreter *' lib\B\Generate.xs(690) : error C2198: 'Perl_fold_constants' : too few actual parameters lib\B\Generate.c(1590) : warning C4244: '=' : conversion from 'unsigned long ' to 'unsigned short ', possible loss of data lib\B\Generate.c(1616) : warning C4244: '=' : conversion from 'unsigned long ' to 'unsigned short ', possible loss of data lib\B\Generate.xs(1077) : error C2106: '=' : left operand must be l-value lib\B\Generate.c(2153) : warning C4244: '=' : conversion from 'unsigned long ' to 'unsigned short ', possible loss of data error building dll file from 'lib\B\Generate.c' at c:/Perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 143. ------- Alexandr Ciornii, http://chorny.net
Subject: Re: [rt.cpan.org #21030] nmake fail
Date: Wed, 16 Aug 2006 18:29:45 -0500
To: bug-B-Generate [...] rt.cpan.org
From: "Joshua ben Jore" <twists [...] gmail.com>
On 8/16/06, alexchorny@gmail.com via RT <bug-B-Generate@rt.cpan.org> wrote: I'll see if I can do something to replicate this failure on my Linux machine with a perl compiled like your ActiveState copy. Josh
Subject: Vanilla Perl also shows errors
From: Alexandr Ciornii <alexchorny [...] gmail.com>
Same errors on Vanilla Perl gcc -c -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -I"C:\vanilla-perl\perl\lib\CORE" -I"C:\vanilla-perl\mingw\include" -o "lib\B\Generate.o" "lib\B\Generate.c" Generate.xs: In function `XS_B__OP_find_cv': Generate.xs:464: warning: assignment from incompatible pointer type Generate.xs: In function `XS_B__OP_targ': Generate.xs:520: warning: initialization makes integer from pointer without a cast Generate.xs:521: warning: initialization makes integer from pointer without a cast Generate.xs:522: warning: initialization makes integer from pointer without a cast Generate.xs:526: warning: passing arg 2 of `Perl_av_fetch' makes pointer from integer without a cast Generate.xs:527: warning: passing arg 2 of `Perl_av_fetch' makes pointer from integer without a cast Generate.xs:537: error: syntax error before "register" Generate.xs:545: warning: assignment makes pointer from integer without a cast Generate.xs:546: warning: assignment makes pointer from integer without a cast Generate.xs:547: warning: assignment makes pointer from integer without a cast Generate.xs: In function `XS_B__OP_convert': Generate.xs:690: warning: passing arg 1 of `Perl_fold_constants' from incompatible pointer type Generate.xs:690: error: too few arguments to function `Perl_fold_constants' Generate.xs: In function `XS_B__SVOP_sv': Generate.xs:1077: warning: use of conditional expressions as lvalues is deprecated error building dll file from 'lib\B\Generate.c' at C:/vanilla-perl/perl/site/lib/ExtUtils/CBuilder/Platform/Windows.pm line 143. ------- Alexandr Ciornii, http://chorny.net
From: JJORE [...] cpan.org
On Fri Sep 01 04:11:31 2006, alexchorny@gmail.com wrote: Show quoted text
> Same errors on Vanilla Perl
You're invited to post an updated distribution to CPAN. I'd like to think I have time to work on this but really, I don't.
Here's another data point, I get a similar failure on OS X 10.4. 0 windhund /usr/local/src/CPAN/B-Generate-1.06_1$ perl Build.PL Deleting _build Creating custom builder _build/lib/My/Builder.pm in _build/lib/My Checking whether your kit is complete... Looks good Checking prerequisites... Looks good Deleting Build Removed previous script 'Build' Creating new 'Build' script for 'B-Generate' version '1.06_1' 0 windhund /usr/local/src/CPAN/B-Generate-1.06_1$ ./Build cc -I/usr/local/perl/5.8.8/lib/darwin-thread-multi-2level/CORE -c -I/sw/include -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/local/include -O3 -o lib/B/Generate.o lib/B/Generate.c lib/B/Generate.xs: In function 'XS_B__OP_find_cv': lib/B/Generate.xs:464: warning: assignment from incompatible pointer type lib/B/Generate.xs: In function 'XS_B__OP_targ': lib/B/Generate.xs:520: warning: initialization makes integer from pointer without a cast lib/B/Generate.xs:521: warning: initialization makes integer from pointer without a cast lib/B/Generate.xs:522: warning: initialization makes integer from pointer without a cast lib/B/Generate.xs:526: warning: passing argument 2 of 'Perl_av_fetch' makes pointer from integer without a cast lib/B/Generate.xs:527: warning: passing argument 2 of 'Perl_av_fetch' makes pointer from integer without a cast lib/B/Generate.xs:537: error: parse error before 'register' lib/B/Generate.xs:545: warning: assignment makes pointer from integer without a cast lib/B/Generate.xs:546: warning: assignment makes pointer from integer without a cast lib/B/Generate.xs:547: warning: assignment makes pointer from integer without a cast lib/B/Generate.xs: In function 'XS_B__OP_convert': lib/B/Generate.xs:690: warning: passing argument 1 of 'Perl_fold_constants' from incompatible pointer type lib/B/Generate.xs:690: error: too few arguments to function 'Perl_fold_constants' lib/B/Generate.xs: In function 'XS_B__SVOP_sv': lib/B/Generate.xs:1077: warning: target of assignment not really an lvalue; this will be a hard error in the future error building lib/B/Generate.o from 'lib/B/Generate.c' at /usr/local/lib/site_perl/ExtUtils/CBuilder/Base.pm line 108. $ perl -V Summary of my perl5 (revision 5 version 8 subversion 8) configuration: Platform: osname=darwin, osvers=8.8.1, archname=darwin-thread-multi-2level uname='darwin windhund.local 8.8.1 darwin kernel version 8.8.1: mon sep 25 19:42:00 pdt 2006; root:xnu-792.13.8.obj~1release_i386 i386 i386 macbook1,1 darwin ' config_args='-Dprefix=/usr/local/perl/5.8.8 -Duseithreads -Dccflags=-I/sw/include -Dldflags=-L/sw/lib -Dperladmin=schwern@pobox.com -Dcf_email=schwern@pobox.com -Dmyhostname=windhund -Dmydomain=.schwern.org -Dprivlib=/usr/local/perl/5.8.8/lib -Dsiteprefix=/usr/local -Dsitelib=/usr/local/lib/site_perl -Dlibpth=/usr/local/lib /sw/lib /opt/local/lib /usr/lib -Dnetdb_host_type=const char * -Dnetdb_hlen_type=socklen_t -Uinstallusrbinperl' hint=recommended, useposix=true, d_sigaction=define usethreads=define use5005threads=undef useithreads=define usemultiplicity=define useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='cc', ccflags ='-I/sw/include -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/local/include', optimize='-O3', cppflags='-no-cpp-precomp -I/sw/include -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/opt/local/include' ccversion='', gccversion='4.0.1 (Apple Computer, Inc. build 5363)', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='env MACOSX_DEPLOYMENT_TARGET=10.3 cc', ldflags ='-L/sw/lib -L/usr/local/lib -L/opt/local/lib' libpth=/usr/local/lib /sw/lib /opt/local/lib /usr/lib libs=-lgdbm -ldbm -ldl -lm -lc perllibs=-ldl -lm -lc libc=/usr/lib/libc.dylib, so=dylib, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=bundle, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-L/sw/lib -bundle -undefined dynamic_lookup -L/usr/local/lib -L/opt/local/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP USE_ITHREADS USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API Built under darwin Compiled at Oct 14 2006 18:50:36 %ENV: PERL5LIB="/sw/lib/perl5:/sw/lib/perl5/darwin" @INC: /sw/lib/perl5 /sw/lib/perl5/darwin /usr/local/perl/5.8.8/lib/darwin-thread-multi-2level /usr/local/perl/5.8.8/lib /usr/local/lib/site_perl/5.8/darwin-thread-multi-2level /usr/local/lib/site_perl /usr/local/lib/site_perl .
On Thu Oct 26 17:35:05 2006, MSCHWERN wrote: Show quoted text
> lib/B/Generate.xs:537: error: parse error before 'register'
That's this. o->op_targ = Perl_pad_alloc(pTHX_ 0, SVs_PADTMP); pTHX_, when threading is on, is this. # define pTHX register tTHX my_perl PERL_UNUSED_DECL and that ain't legal as a function argument. When threads are off its just void. So to reproduce this bug you need to have ithreads compiled in (technically just IMPLICIT_CONTEXT).
On Sat Nov 11 19:54:02 2006, MSCHWERN wrote: Show quoted text
> On Thu Oct 26 17:35:05 2006, MSCHWERN wrote:
> > lib/B/Generate.xs:537: error: parse error before 'register'
> > That's this. > > o->op_targ = Perl_pad_alloc(pTHX_ 0, SVs_PADTMP);
Oooh, right. That should probably have been aTHX_. Its an argument now, not a parameter declaration. The copy of B::Generate I'm looking at now (1.06 plus a bunch of other people's patches) doesn't reflect the bug. So s/pTHX_/aTHX_/.
Resolved in 1.09