You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apreq-dev@httpd.apache.org by Geoffrey Young <gy...@laserlink.net> on 2001/06/11 14:28:44 UTC

bleedperl problems

hi all...

I've been getting the following warnings in my libapreq build with bleedperl
for a while now... thought I'd report them just in case - my mod_perl tests
have been failing for a similar period.

--Geoff

cc -c
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/modules/perl
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/include
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/regex
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/os/unix -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g   -DVERSION=\"0.10\"
-DXS_VERSION=\"0.10\" -fpic
-I/src/bleedperl/lib/5.7.1/i686-linux-thread-multi/CORE
apache_multipart_buffer.c
apache_multipart_buffer.c: In function `find_boundary':
apache_multipart_buffer.c:185: warning: unused variable `bound_len'
apache_multipart_buffer.c:185: warning: unused variable `len'

cc -c -I../c
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/modules/perl
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/include
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/regex
-I/src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi/auto/Apache/inc
lude/os/unix -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -g   -DVERSION=\"0.3201\"
-DXS_VERSION=\"0.3201\" -fpic
-I/src/bleedperl/lib/5.7.1/i686-linux-thread-multi/CORE  Request.c
Request.xs: In function `upload_hook':
Request.xs:189: warning: unused variable `my_perl'
Request.xs:209: warning: unused variable `my_perl'
Request.xs: In function `clear_hook':
Request.xs:217: warning: value computed is not used
Request.xs:218: warning: value computed is not used

Summary of my perl5 (revision 5.0 version 7 subversion 17) configuration:
  Platform:
    osname=linux, osvers=2.2.14-5.0, archname=i686-linux-thread-multi
    uname='linux spinnaker.laserlink.net 2.2.14-5.0 #1 tue mar 7 21:07:39
est 2000 i686 unknown '
    config_args='-des -Dusethreads -Dprefix=/src/bleedperl -Doptimize=-g
-Dusedevel -Dinstallusrbinperl -Uversiononly'
    hint=previous, 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
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-g',
    cppflags='-D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING -fno-strict-aliasing
-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_REENTRANT -Wall -DDEBUGGING
-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'
    ccversion='', gccversion='egcs-2.91.66 19990314/Linux (egcs-1.1.2
release)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
lseeksize=8
    alignbytes=4, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lpthread -lc -lposix -lcrypt
-lutil
    perllibs=-lnsl -ldl -lm -lpthread -lc -lposix -lcrypt -lutil
    libc=/lib/libc-2.1.3.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_CONTEXT
  Locally applied patches:
        DEVEL10495
  Built under linux
  Compiled at Jun 10 2001 22:04:46
  @INC:
    /src/bleedperl/lib/5.7.1/i686-linux-thread-multi
    /src/bleedperl/lib/5.7.1
    /src/bleedperl/lib/site_perl/5.7.1/i686-linux-thread-multi
    /src/bleedperl/lib/site_perl/5.7.1
    /src/bleedperl/lib/site_perl
    .

Re: bleedperl problems

Posted by Joe Schaefer <jo...@sunstarsys.com>.
Geoffrey Young <gy...@laserlink.net> writes:

> hi all...
> 
> I've been getting the following warnings in my libapreq build with bleedperl
> for a while now... thought I'd report them just in case - my mod_perl tests
> have been failing for a similar period.
> 
> --Geoff

> -DXS_VERSION=\"0.3201\" -fpic
> -I/src/bleedperl/lib/5.7.1/i686-linux-thread-multi/CORE  Request.c
> Request.xs: In function `upload_hook':
> Request.xs:189: warning: unused variable `my_perl'
> Request.xs:209: warning: unused variable `my_perl'

This warning is weird- I think it is generated from the ENTER/LEAVE XS 
macros in the upload_hook code. The rest of them seem reasonable, though.

> usemultiplicity=define
>     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
>     use64bitint=undef use64bitall=undef uselongdouble=undef

The usemultiplicity flag might have something to do with it.  I'm
interested in knowing how/where libapreq fails on this setup- can
you get modperl to build and post the modperl test suite results?


Thanks.
-- 
Joe Schaefer



Re: bleedperl problems

Posted by Joe Schaefer <jo...@sunstarsys.com>.
Doug MacEachern <do...@covalent.net> writes:

> On 12 Jun 2001, Joe Schaefer wrote:
>  
> > On a peripheral note- today I've been trying to get modperl to build 
> > against perl 5.6.1 w/SFIO *and* ithreads- but my compiler is griping
> > about
> > 
> > perlio.c: In function `sfapachewrite':
> > perlio.c:109: warning: passing arg 1 of pointer to function from incompatible pointer type
> 
> this patch should fix, i don't have sfio handy to test tho..
> 
> --- src/modules/perl/perlio.c   2000/08/15 19:36:34     1.6
> +++ src/modules/perl/perlio.c   2001/06/13 20:34:31
> @@ -106,7 +106,7 @@
>      XPUSHs(perl_bless_request_rec(((Apache_t*)disc)->r));
>      XPUSHs(sv_2mortal(newSVpv(buffer,n)));
>      PUTBACK;
> -    (void)(*CvXSUB(cv))(cv); 
> +    (void)(*CvXSUB(cv))(aTHXo_ cv); 
>      FREETMPS;
>      LEAVE;
>      return n;


That does the trick. Everything tests cleanly- even libapreq!
For amusement, I should point out that I tried that fix (and a few
dozen other THX variants) myself before posting, but was editing 
perlio.c inside my modperl source tree instead of apache's.

Oopsie :-)

-- 
Joe Schaefer


Re: bleedperl problems

Posted by Doug MacEachern <do...@covalent.net>.
On 12 Jun 2001, Joe Schaefer wrote:
 
> On a peripheral note- today I've been trying to get modperl to build 
> against perl 5.6.1 w/SFIO *and* ithreads- but my compiler is griping
> about
> 
> perlio.c: In function `sfapachewrite':
> perlio.c:109: warning: passing arg 1 of pointer to function from incompatible pointer type

this patch should fix, i don't have sfio handy to test tho..

--- src/modules/perl/perlio.c   2000/08/15 19:36:34     1.6
+++ src/modules/perl/perlio.c   2001/06/13 20:34:31
@@ -106,7 +106,7 @@
     XPUSHs(perl_bless_request_rec(((Apache_t*)disc)->r));
     XPUSHs(sv_2mortal(newSVpv(buffer,n)));
     PUTBACK;
-    (void)(*CvXSUB(cv))(cv); 
+    (void)(*CvXSUB(cv))(aTHXo_ cv); 
     FREETMPS;
     LEAVE;
     return n;



Re: bleedperl problems

Posted by Joe Schaefer <jo...@sunstarsys.com>.
Doug MacEachern <do...@covalent.net> writes:

> On 12 Jun 2001, Joe Schaefer wrote:
> 
> > Rev 1.11 for Request.xs had a similar workaround for W32, but because it broke
> > other platforms it was removed in 1.13.  I hope your patch fixes things well
> > enough on most platforms that we can get a new version out there.
> 
> hopefully randy kobes can confirm the current cvs is ok with win32?

On a peripheral note- today I've been trying to get modperl to build 
against perl 5.6.1 w/SFIO *and* ithreads- but my compiler is griping
about

perlio.c: In function `sfapachewrite':
perlio.c:109: warning: passing arg 1 of pointer to function from incompatible pointer type

Since I don't see this problem with just 5.6.1+SFIO (no ithreads), I'm
guessing it's a THX thing- but I don't have a clue as to the fix.
Here's the code:

static int sfapachewrite(f, buffer, n, disc)
    Sfio_t* f;      /* stream involved */
    char*           buffer;    /* buffer to write from */
    int             n;      /* number of bytes to send */
    Sfdisc_t*       disc;   /* discipline */        
{
    /* feed buffer to Apache->print */
    CV *cv = GvCV(gv_fetchpv("Apache::print", FALSE, SVt_PVCV));
    dSP;
    ENTER;
    SAVETMPS;
    PUSHMARK(sp);
    XPUSHs(perl_bless_request_rec(((Apache_t*)disc)->r));
    XPUSHs(sv_2mortal(newSVpv(buffer,n)));
    PUTBACK;
    (void)(*CvXSUB(cv))(cv);            /* LINE 109 of perlio.c */ 
    FREETMPS;
    LEAVE;
    return n;
}

If you have any suggestions, I'd be glad to try them out.

% perl -V
Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
  Platform:
    osname=linux, osvers=2.4.3, archname=i586-linux-thread-multi
    uname='linux mumonkan.sunstarsys.com 2.4.3 #3 thu apr 26 11:39:34 edt 2001 i586 unknown '
    config_args=''
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=define uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/gnu/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2 -g',
    cppflags='-D_REENTRANT -DDEBUGGING -fno-strict-aliasing -I/usr/local/include -I/usr/gnu/include'
    ccversion='', gccversion='2.96 20000731 (Red Hat Linux 7.0)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, usemymalloc=y, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib -L/usr/gnu/lib'
    libpth=/usr/local/lib /usr/gnu/lib /lib /usr/lib
    libs=-lsfio -lnsl -lndbm -lgdbm -ldl -lm -lpthread -lc -lposix -lcrypt -lutil
    perllibs=-lsfio -lnsl -ldl -lm -lpthread -lc -lposix -lcrypt -lutil
    libc=/lib/libc-2.1.92.so, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib -L/usr/gnu/lib'


Characteristics of this binary (from libperl): 
  Compile-time options: DEBUGGING MULTIPLICITY USE_ITHREADS USE_LARGE_FILES PERL_IMPLICIT_CONTEXT
  Built under linux
  Compiled at Jun 12 2001 15:08:45
  @INC:
    /usr/lib/perl5/5.6.1/i586-linux-thread-multi
    /usr/lib/perl5/5.6.1
    /usr/lib/perl5/site_perl/5.6.1/i586-linux-thread-multi
    /usr/lib/perl5/site_perl/5.6.1
    /usr/lib/perl5/site_perl

-- 
Joe Schaefer


Re: bleedperl problems

Posted by Doug MacEachern <do...@covalent.net>.
On Tue, 12 Jun 2001, Randy Kobes wrote:
 
> yes, this builds fine without warnings on win32, and all the
> mod_perl tests pass. sorry this is such an annoying platform :)

hey its not your fault randy, thanks for sparing us the pain!




Re: bleedperl problems

Posted by Randy Kobes <ra...@theoryx5.uwinnipeg.ca>.
On Tue, 12 Jun 2001, Doug MacEachern wrote:

> On 12 Jun 2001, Joe Schaefer wrote:
>
> > Rev 1.11 for Request.xs had a similar workaround for W32, but because it broke
> > other platforms it was removed in 1.13.  I hope your patch fixes things well
> > enough on most platforms that we can get a new version out there.
>
> hopefully randy kobes can confirm the current cvs is ok with win32?
>

yes, this builds fine without warnings on win32, and all the
mod_perl tests pass. sorry this is such an annoying platform :)

best regards,
randy


Re: bleedperl problems

Posted by Doug MacEachern <do...@covalent.net>.
On 12 Jun 2001, Joe Schaefer wrote:

> Rev 1.11 for Request.xs had a similar workaround for W32, but because it broke
> other platforms it was removed in 1.13.  I hope your patch fixes things well
> enough on most platforms that we can get a new version out there.

hopefully randy kobes can confirm the current cvs is ok with win32?


Re: bleedperl problems

Posted by Joe Schaefer <jo...@sunstarsys.com>.
Doug MacEachern <do...@covalent.net> writes:

> same problem here.  patch below fixes.  PerlIO_importFILE is not a macro,
> but i'm assuming it is with win32 (or maybe only #ifdef
> PERL_IMPLICIT_SYS), because we've been through this before and it seems to 
> have reappeared.

Rev 1.11 for Request.xs had a similar workaround for W32, but because it broke
other platforms it was removed in 1.13.  I hope your patch fixes things well
enough on most platforms that we can get a new version out there.

-- 
Joe Schaefer


Re: bleedperl problems

Posted by Doug MacEachern <do...@covalent.net>.
same problem here.  patch below fixes.  PerlIO_importFILE is not a macro,
but i'm assuming it is with win32 (or maybe only #ifdef
PERL_IMPLICIT_SYS), because we've been through this before and it seems to 
have reappeared.

Index: Request/Request.xs
===================================================================
RCS file: /home/cvs/httpd-apreq/Request/Request.xs,v
retrieving revision 1.17
diff -u -r1.17 Request.xs
--- Request/Request.xs  2001/06/08 22:20:38     1.17
+++ Request/Request.xs  2001/06/12 21:07:23
@@ -97,8 +97,10 @@
 #ifdef PerlIO
 typedef PerlIO * InputStream;
 
-#ifndef PerlIO_importFILE
-#define PerlIO_importFILE(fp,flags)    (PerlIO*)fp
+#ifdef WIN32
+#   ifndef PerlIO_importFILE
+#      define PerlIO_importFILE(fp,flags)      (PerlIO*)fp
+#   endif
 #endif
 
 #ifdef SFIO