You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@perl.apache.org by Carl Brewer <ca...@bl.echidna.id.au> on 2004/04/26 02:40:35 UTC

[mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)


Stas et al,

Just pulled down the latest from CVS (to test the IPv6 stuff again!)

Known problem? :




steel1: {12} t/REPORT
-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

perl-2.0/xs/typemap  Filter.xs > Filter.xsc && mv Filter.xsc Filter.c
cc -c  -I/data/src/modperl-2.0/src/modules/perl 
-I/data/src/modperl-2.0/xs -I/usr/local/apache2/include 
-I/usr/local/apache2/include  -fno-strict-aliasing -I/usr/pkg/include 
-DMOD_PERL -DMP_COMPAT_1X -DNETBSD -O    -DVERSION=\"0.01\" 
-DXS_VERSION=\"0.01\" -DPIC -fPIC 
"-I/usr/local/perl-5.8.1/lib/5.8.1/i386-netbsd/CORE"  -DMP_HAVE_APR_LIBS 
Filter.c
In file included from Filter.xs:26:
/data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h: In function 
`mpxs_Apache__Filter_print':
/data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:37: invalid 
lvalue in unary `&'
/data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:40: invalid 
lvalue in unary `&'
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0/WrapXS/Apache/Filter
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0/WrapXS/Apache
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0/WrapXS
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0

  2. Used Components and their Configuration:

*** mod_perl version 1.9914

*** using lib/Apache/BuildConfig.pm
*** Makefile.PL options:
   MP_AP_PREFIX   => /usr/local/apache2
   MP_COMPAT_1X   => 1
   MP_GENERATE_XS => 1
   MP_LIBNAME     => mod_perl
   MP_USE_DSO     => 1
   MP_USE_STATIC  => 1


*** /usr/local/apache2/bin/httpd -V
Server version: Apache/2.0.49
Server built:   Mar 20 2004 18:01:46
Server's Module Magic Number: 20020903:7
Architecture:   32-bit
Server compiled with....
  -D APACHE_MPM_DIR="server/mpm/prefork"
  -D APR_HAS_MMAP
  -D APR_HAVE_IPV6 (IPv4-mapped addresses disabled)
  -D APR_USE_SYSVSEM_SERIALIZE
  -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
  -D APR_HAS_OTHER_CHILD
  -D AP_HAVE_RELIABLE_PIPED_LOGS
  -D HTTPD_ROOT="/usr/local/apache2"
  -D SUEXEC_BIN="/usr/local/apache2/bin/suexec"
  -D DEFAULT_PIDLOG="logs/httpd.pid"
  -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
  -D DEFAULT_LOCKFILE="logs/accept.lock"
  -D DEFAULT_ERRORLOG="logs/error_log"
  -D AP_TYPES_CONFIG_FILE="conf/mime.types"
  -D SERVER_CONFIG_FILE="conf/httpd.conf"


*** /usr/local/perl-5.8.1/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 1) configuration:
   Platform:
     osname=netbsd, osvers=1.6.1, archname=i386-netbsd
     uname='netbsd steel1.stealstopper.com 1.6.1 netbsd 1.6.1 (generic) 
#0: tue apr 8 12:05:52 utc 2003 
autobuild@tgm.daemon.org:autobuildnetbsd-1-6i386objautobuildnetbsd-1-6srcsysarchi386compilegeneric 
i386 '
     config_args=''
     hint=recommended, useposix=true, d_sigaction=define
     usethreads=undef use5005threads=undef useithreads=undef 
usemultiplicity=undef
     useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
     use64bitint=undef use64bitall=undef uselongdouble=undef
     usemymalloc=y, bincompat5005=undef
   Compiler:
     cc='cc', ccflags ='-fno-strict-aliasing -I/usr/pkg/include',
     optimize='-O',
     cppflags='-fno-strict-aliasing -I/usr/pkg/include'
     ccversion='', gccversion='2.95.3 20010315 (release) (NetBSD nb3)', 
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, prototype=define
   Linker and Libraries:
     ld='cc', ldflags =' -Wl,-rpath,/usr/pkg/lib 
-Wl,-rpath,/usr/local/lib -L/usr/pkg/lib -L/usr/local/lib'
     libpth=/usr/pkg/lib /usr/local/lib /usr/lib
     libs=-lm -lcrypt -lutil -lc -lposix
     perllibs=-lm -lcrypt -lutil -lc -lposix
     libc=/usr/lib/libc.so, so=so, useshrplib=true, libperl=libperl.so
     gnulibc_version=''
   Dynamic Linking:
     dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E 
-Wl,-R/usr/local/perl-5.8.1/lib/5.8.1/i386-netbsd/CORE'
     cccdlflags='-DPIC -fPIC ', lddlflags='--whole-archive -shared 
-L/usr/pkg/lib -L/usr/local/lib'


Characteristics of this binary (from libperl):
   Compile-time options: USE_LARGE_FILES
   Built under netbsd
   Compiled at Sep 26 2003 19:57:15
   %ENV:
     PERL_LWP_USE_HTTP_10="1"
   @INC:
     /usr/local/perl-5.8.1/lib/5.8.1/i386-netbsd
     /usr/local/perl-5.8.1/lib/5.8.1
     /usr/local/perl-5.8.1/lib/site_perl/5.8.1/i386-netbsd
     /usr/local/perl-5.8.1/lib/site_perl/5.8.1
     /usr/local/perl-5.8.1/lib/site_perl
     .

*** Packages of interest status:

Apache::Request: -
CGI            : 3.00
LWP            : 5.69
mod_perl       : 1.9914


3. This is the core dump trace: (if you get a core dump):

   [CORE TRACE COMES HERE]

This report was generated by t/REPORT on Mon Apr 26 00:39:09 2004 GMT.



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Stas Bekman wrote:
[...]
> are known and Joe promised to take care of them, at least on Solaris:
> 
> but not that one:
> 
>   t/protocol/echo_block.t
> 
> I just added it a day before. So it's a new one. But probably related to 
> blocking (bugs?) in Apache 2.0.49.

Actually, no, echo_timeout is the new one. t/protocol/echo_block.t is the old 
one (just renamed it from echo) with some tweaks, I decided to test first 
whether we need to set the socket to the blocking mode and not do that if it's 
already blocking.:

in t/protocol/TestProtocol/echo_block.pm:

     # make sure the socket is in the blocking mode for recv().
     # on some platforms (e.g. OSX/Solaris) httpd hands us a
     # non-blocking socket
     my $nonblocking = $socket->opt_get(APR::SO_NONBLOCK);
     if ($nonblocking) {
         $socket->opt_set(APR::SO_NONBLOCK => 0);

         # test that we really are in the non-blocking mode
         $socket->opt_get(APR::SO_NONBLOCK)
             or die "failed to set non-blocking mode";
     }

I didn't see Carl's feedback yet, so it's hard to tell. But my guess is that 
Apache reports that the socket is blocking, while it is not. Carl, does that 
if ($nonblocking) branch gets executed? (hint: add a warn "foo" debug print :)

Any difference for the test failure if you comment out the if call, but leave 
the code that's inside of the branch? e.g. replace all the above code with just:

    $socket->opt_set(APR::SO_NONBLOCK => 0);

which seemed to work before.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.4)

Posted by Stas Bekman <st...@stason.org>.
Carl Brewer wrote:
> Stas Bekman wrote:
> 
> 
>> Hmm, strange. And if you run any other test it succeeds?
> 
> 
> make test seems ok except for these :
> 
> Failed Test                 Stat Wstat Total Fail  Failed  List of Failed
> ------------------------------------------------------------------------------- 
> 
> t/apr-ext/uuid.t             255 65280     3    6 200.00%  1-3
> t/filter/both_str_con_add.t                4    3  75.00%  2-4
> t/protocol/echo_block.t                    3    2  66.67%  2-3
> t/protocol/echo_filter.t                   3    2  66.67%  2-3
> 10 tests skipped.

So if you remove that vhost that loads perlloadmodule5.pm:

# APACHE_TEST_CONFIG_ORDER 950
PerlLoadModule TestDirective::perlloadmodule5
Listen 0.0.0.0:8549
<VirtualHost _default_:8549>
     ServerName localhost.localdomain:8549
     # here mod_perl sets the scfg by itself for this vhost
     PerlModule File::Spec
     MyTest5 "Vhost"
     <Location /TestDirective__perlloadmodule5>
         MyTest5 "Dir"
         SetHandler modperl
         PerlResponseHandler TestDirective::perlloadmodule5
     </Location>
</Virtualhost>
<Location /TestDirective__perlloadmodule5>
     SetHandler modperl
     PerlResponseHandler TestDirective::perlloadmodule5
</Location>

from httpd.conf and try again the two tests that I've asked you to run, do you 
see any change?

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.4)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Stas Bekman wrote:


> Hmm, strange. And if you run any other test it succeeds?

make test seems ok except for these :

Failed Test                 Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/apr-ext/uuid.t             255 65280     3    6 200.00%  1-3
t/filter/both_str_con_add.t                4    3  75.00%  2-4
t/protocol/echo_block.t                    3    2  66.67%  2-3
t/protocol/echo_filter.t                   3    2  66.67%  2-3
10 tests skipped.



> 


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.4)

Posted by Stas Bekman <st...@stason.org>.
Carl Brewer wrote:
> Stas Bekman wrote:
> 
> 
>> yes, please submit a verbose run's output only for:
>>
>> t/TEST -v t/apr-ext/uuid.t
> 
> 
> It's not finding perlloadmodule5.pm, but the file exists :
> 
> /data/src/modperl-2.0/t/response/TestDirective/perlloadmodule5.pm
> 
> Looks like a syntax error in httpd.conf, the line :
> 
> 1670: PerlLoadModule TestDirective::perlloadmodule5
> 
> Is causing it to barf, somehow.

Hmm, strange. And if you run any other test it succeeds?

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


[mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.4)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Stas Bekman wrote:


> yes, please submit a verbose run's output only for:
> 
> t/TEST -v t/apr-ext/uuid.t

It's not finding perlloadmodule5.pm, but the file exists :

/data/src/modperl-2.0/t/response/TestDirective/perlloadmodule5.pm

Looks like a syntax error in httpd.conf, the line :

1670: PerlLoadModule TestDirective::perlloadmodule5

Is causing it to barf, somehow.

steel1: {8} t/TEST -v t/apr-ext/uuid.t
/usr/local/apache2/bin/httpd -d /data/src/modperl-2.0/t -f 
/data/src/modperl-2.0/t/conf/httpd.conf -D APACHE2
using Apache/2.0.49 (prefork MPM)

waiting 120 seconds for server to start: ..[Wed Apr 28 16:40:16 2004] 
[info] 27 Apache:: modules loaded
[Wed Apr 28 16:40:16 2004] [info] 5 APR:: modules loaded
[Wed Apr 28 16:40:16 2004] [info] base server + 18 vhosts ready to run tests
.Syntax error on line 1670 of /data/src/modperl-2.0/t/conf/httpd.conf:
Can't locate TestDirective/perlloadmodule5.pm in @INC (@INC contains: 
/data/src/modperl-2.0/Apache-Test/lib /data/src/modperl-2.0/blib/lib 
/data/src/modperl-2.0/blib/arch /data/src/modperl-2.0/t/response 
/data/src/modperl-2.0/t/protocol /data/src/modperl-2.0/t/preconnection 
/data/src/modperl-2.0/t/hooks /data/src/modperl-2.0/t/filter 
/data/src/modperl-2.0/t 
/data/src/modperl-2.0/t/htdocs/testdirective/perlmodule-vh 
/data/src/modperl-2.0/t/htdocs/testdirective/main 
/data/src/modperl-2.0/t/ /data/src/modperl-2.0/t/lib/perl 
/usr/local/perl-5.8.4/lib/5.8.4/i386-netbsd 
/usr/local/perl-5.8.4/lib/5.8.4 
/usr/local/perl-5.8.4/lib/site_perl/5.8.4/i386-netbsd 
/usr/local/perl-5.8.4/lib/site_perl/5.8.4 
/usr/local/perl-5.8.4/lib/site_perl 
/usr/local/perl-5.8.1/lib/site_perl/5.8.4/i386-netbsd 
/usr/local/perl-5.8.1/lib/site_perl/5.8.1/i386-netbsd 
/usr/local/perl-5.8.1/lib/site_perl/5.8.1) at (eval 86) line 3.\n
......................................................................................................................
waiting 120 seconds for server to start: not ok
[  error] giving up after 121 secs. If you think that your system
is slow or overloaded try again with a longer timeout value.
by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
to a high value (e.g. 420) and repeat the last command.

[  error] server failed to start! (please examine t/logs/error_log)



> 
> and
> 
> t/TEST -v t/protocol/echo_block.t

Same error? :

steel1: {9} t/TEST -v t/protocol/echo_block.t
/usr/local/apache2/bin/httpd -d /data/src/modperl-2.0/t -f 
/data/src/modperl-2.0/t/conf/httpd.conf -D APACHE2
using Apache/2.0.49 (prefork MPM)

waiting 120 seconds for server to start: ...[Wed Apr 28 16:44:17 2004] 
[info] 27 Apache:: modules loaded
[Wed Apr 28 16:44:17 2004] [info] 5 APR:: modules loaded
[Wed Apr 28 16:44:17 2004] [info] base server + 18 vhosts ready to run tests
.Syntax error on line 1670 of /data/src/modperl-2.0/t/conf/httpd.conf:
Can't locate TestDirective/perlloadmodule5.pm in @INC (@INC contains: 
/data/src/modperl-2.0/Apache-Test/lib /data/src/modperl-2.0/blib/lib 
/data/src/modperl-2.0/blib/arch /data/src/modperl-2.0/t/response 
/data/src/modperl-2.0/t/protocol /data/src/modperl-2.0/t/preconnection 
/data/src/modperl-2.0/t/hooks /data/src/modperl-2.0/t/filter 
/data/src/modperl-2.0/t 
/data/src/modperl-2.0/t/htdocs/testdirective/perlmodule-vh 
/data/src/modperl-2.0/t/htdocs/testdirective/main 
/data/src/modperl-2.0/t/ /data/src/modperl-2.0/t/lib/perl 
/usr/local/perl-5.8.4/lib/5.8.4/i386-netbsd 
/usr/local/perl-5.8.4/lib/5.8.4 
/usr/local/perl-5.8.4/lib/site_perl/5.8.4/i386-netbsd 
/usr/local/perl-5.8.4/lib/site_perl/5.8.4 
/usr/local/perl-5.8.4/lib/site_perl 
/usr/local/perl-5.8.1/lib/site_perl/5.8.4/i386-netbsd 
/usr/local/perl-5.8.1/lib/site_perl/5.8.1/i386-netbsd 
/usr/local/perl-5.8.1/lib/site_perl/5.8.1) at (eval 86) line 3.\n
.....................................................................................................................
waiting 120 seconds for server to start: not ok
[  error] giving up after 121 secs. If you think that your system
is slow or overloaded try again with a longer timeout value.
by setting the environment variable APACHE_TEST_STARTUP_TIMEOUT
to a high value (e.g. 420) and repeat the last command.

[  error] server failed to start! (please examine t/logs/error_log)




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Ian Holsman wrote:
> can you submit a bug-report for this?
> I think the echo & str_con test failures are known problems.
> (they have to do with non-blocking/blocking sockets, and what state  
> they are open in)

Yes, these two:

t/filter/both_str_con_add.t
t/protocol/echo_filter.t

are known and Joe promised to take care of them, at least on Solaris:

but not that one:

   t/protocol/echo_block.t

I just added it a day before. So it's a new one. But probably related to 
blocking (bugs?) in Apache 2.0.49.

> the uuid.t one is a new one.

uuid is sort of known too, but nobody on those platforms that has it failing, 
cared to try to resolve it (it's unrelated to mod_perl 2, it's for external 
APR perl glue, e.g. if you want to use APR perl from mod_cgi script).

> http://perl.apache.org/docs/2.0/user/help/help.html#Reporting_Problems

yes, please submit a verbose run's output only for:

t/TEST -v t/apr-ext/uuid.t

and

t/TEST -v t/protocol/echo_block.t

and if there is anything interesting in t/logs/error_log for the latter one 
(the former one doesn't even use mod_perl).

thanks.

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Ian Holsman <Ia...@cnet.com>.
can you submit a bug-report for this?
I think the echo & str_con test failures are known problems.
(they have to do with non-blocking/blocking sockets, and what state  
they are open in)
the uuid.t one is a new one.

http://perl.apache.org/docs/2.0/user/help/help.html#Reporting_Problems

regards
Ian.

On 27/04/2004, at 12:11 PM, Carl Brewer wrote:

> Ian Holsman wrote:
>
> > I had some issues when I ran a 'make test' on the
>  > t/filter/both_str_con_add test..
>  > it caused the httpd process to grow to 1.7g of memory when I ran it.
>
> My make test shows :
>
> Failed Test                 Stat Wstat Total Fail  Failed  List of  
> Failed
>   
> ----------------------------------------------------------------------- 
> --------
>  t/apr-ext/uuid.t             255 65280     3    6 200.00%  1-3
>  t/filter/both_str_con_add.t                4    3  75.00%  2-4
>  t/protocol/echo_block.t                    3    2  66.67%  2-3
>  t/protocol/echo_filter.t                   3    2  66.67%  2-3
>
> The error logs shows all errors are expected and harmless :)
>
> Carl
>
>
--
Ian Holsman
Director
Network Management Systems
CNET Networks
PH: 415-344-2608 (USA) /(++61) 3-9857-3742 (Australia)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Ian Holsman wrote:

> I had some issues when I ran a 'make test' on the
> t/filter/both_str_con_add test..
> it caused the httpd process to grow to 1.7g of memory when I ran it.

My make test shows :

Failed Test                 Stat Wstat Total Fail  Failed  List of Failed
-------------------------------------------------------------------------------
t/apr-ext/uuid.t             255 65280     3    6 200.00%  1-3
t/filter/both_str_con_add.t                4    3  75.00%  2-4
t/protocol/echo_block.t                    3    2  66.67%  2-3
t/protocol/echo_filter.t                   3    2  66.67%  2-3

The error logs shows all errors are expected and harmless :)

Carl




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Ian Holsman <Ia...@cnet.com>.
I had some issues when I ran a 'make test' on the
t/filter/both_str_con_add test..
it caused the httpd process to grow to 1.7g of memory when I ran it.

I'm rebuilding mod-perl (after a make clean) and hoping it goes away.

--I
On 27/04/2004, at 12:01 PM, Carl Brewer wrote:

> Stas Bekman wrote:
>
> > Carl, please try the current cvs, we have found what was the issue 
> with
> > Ian and I committed a version that doesn't complain for him or me and
>  > hopefully should work for you too! Thanks.
>
> compiled fine!
>
> Carl
>
>
--
Ian Holsman
Director
Network Management Systems
CNET Networks
PH: 415-344-2608 (USA) /(++61) 3-9857-3742 (Australia)


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Stas Bekman wrote:

> Carl, please try the current cvs, we have found what was the issue with 
> Ian and I committed a version that doesn't complain for him or me and 
> hopefully should work for you too! Thanks.

compiled fine!

Carl




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Carl, please try the current cvs, we have found what was the issue with Ian 
and I committed a version that doesn't complain for him or me and hopefully 
should work for you too! Thanks.

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Carl Brewer wrote:
> Stas Bekman wrote:
> 
>  > I forgot that SvPV is a macro too, and it turns its len argument into
> 
>> &len, hence the error. I'm not happy about introducing a temp variable 
>> and copy the values in a tight loop just because of some issue on 
>> netbsd. I'm trying to get hold of Ian Holsman (or anybody else on 
>> netbsd?) to find a more efficient solution.
>>
>> Anyway, here is what (inefficient) I came up with so far to make all 
>> compilers happy:
> 
> 
> 
> Is that now in the CVS tree?

no, not yet. does it work for you? I want to talk with Ian or anybody on 
netbsd, before I commit it, because I don't like that change.

> thanks!  btw, most of the tests now pass :)

What's failing? If these two:

   t/filter/both_str_con_add.t
   t/protocol/echo_filter.t

then it's a known issue with Apache 2.0.49
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Stas Bekman wrote:

  > I forgot that SvPV is a macro too, and it turns its len argument into
> &len, hence the error. I'm not happy about introducing a temp variable 
> and copy the values in a tight loop just because of some issue on 
> netbsd. I'm trying to get hold of Ian Holsman (or anybody else on 
> netbsd?) to find a more efficient solution.
> 
> Anyway, here is what (inefficient) I came up with so far to make all 
> compilers happy:


Is that now in the CVS tree?

thanks!  btw, most of the tests now pass :)


Carl



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Stas Bekman wrote:
> Carl Brewer wrote:
> 
>> Stas Bekman wrote:
>>
>>> yup, that's strange. Any difference if you drop (STRLEN):
>>>
>>> - char *buf = SvPV(*MARK, (STRLEN)wlen);
>>> + char *buf = SvPV(*MARK, wlen);
>>
>>
>>
>> Drop the cast, and lo!  I have a new mod_perl binary :)
> 
> 
> Yeah, but that's not good. Since that patch:
> http://cvs.apache.org/viewcvs.cgi/modperl-2.0/xs/modperl_xs_util.h?r1=1.18&r2=1.19&diff_format=h 
> 
> that added this cast was applied because on darwin you get 'incompatible 
> pointer type' fixes without it. Go figure.
> 
> Anybody knows what's the deal here?

I forgot that SvPV is a macro too, and it turns its len argument into &len, 
hence the error. I'm not happy about introducing a temp variable and copy the 
values in a tight loop just because of some issue on netbsd. I'm trying to get 
hold of Ian Holsman (or anybody else on netbsd?) to find a more efficient 
solution.

Anyway, here is what (inefficient) I came up with so far to make all compilers 
happy:

/* XXX: both STRLEN and apr_size_t resolve to size_t, but some
  * compilers (netbsd) still report incompatible pointer size and we
  * can't use casting because other compilers (openbsd) complain too so
  * resort to using a temp variable a do the casting outside the
  * function call (note that SvPV is really turning its last argument
  * into & via macros). the reason it's XXX is that I think we have a
  * useless variable copying in a tight loop and losing CPU cycles
  */
#define mpxs_write_loop(func, obj)                              \
     while (MARK <= SP) {                                        \
         apr_size_t wlen;                                        \
         STRLEN wlen1;                                           \
         apr_status_t rv;                                        \
         char *buf = SvPV(*MARK, wlen1);                         \
         MP_TRACE_o(MP_FUNC, "%d bytes [%s]", wlen, buf);        \
         wlen = (apr_size_t)wlen1;                               \
         rv = func(aTHX_ obj, buf, &wlen);                       \
         if (rv != APR_SUCCESS) {                                \
             Perl_croak(aTHX_ modperl_apr_strerror(rv));         \
         }                                                       \
         bytes += wlen;                                          \
         MARK++;                                                 \
     }



__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Carl Brewer wrote:
> Stas Bekman wrote:
> 
>> yup, that's strange. Any difference if you drop (STRLEN):
>>
>> - char *buf = SvPV(*MARK, (STRLEN)wlen);
>> + char *buf = SvPV(*MARK, wlen);
> 
> 
> Drop the cast, and lo!  I have a new mod_perl binary :)

Yeah, but that's not good. Since that patch:
http://cvs.apache.org/viewcvs.cgi/modperl-2.0/xs/modperl_xs_util.h?r1=1.18&r2=1.19&diff_format=h
that added this cast was applied because on darwin you get 'incompatible 
pointer type' fixes without it. Go figure.

Anybody knows what's the deal here?

> Now to play with your IPv6 stuff and see if it fixed the old
> problems.

:)
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Stas Bekman wrote:

> yup, that's strange. Any difference if you drop (STRLEN):
> 
> - char *buf = SvPV(*MARK, (STRLEN)wlen);
> + char *buf = SvPV(*MARK, wlen);

Drop the cast, and lo!  I have a new mod_perl binary :)

Now to play with your IPv6 stuff and see if it fixed the old
problems.

thanks!

Carl

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Carl Brewer wrote:
> Stas Bekman wrote:
> 
> 
>> Are you sure you have applied the patch? It now should be:
>>
>> xs/modperl_xs_util.h:104:        rv = func(aTHX_ obj, buf, &wlen);    \
> 
> 
> 
> This is the chunk :
> 
> /* XXX: we probably shouldn't croak here */
> #define mpxs_write_loop(func, obj) \
>     while (MARK <= SP) { \
>         apr_size_t wlen; \
>         apr_status_t rv; \
>         char *buf = SvPV(*MARK, (STRLEN)wlen);        \
>         MP_TRACE_o(MP_FUNC, "%d bytes [%s]", wlen, buf); \
>         rv = func(aTHX_ obj, buf, &wlen);    \
>         if (rv != APR_SUCCESS) { \
>             Perl_croak(aTHX_ modperl_apr_strerror(rv)); \
>         } \
>         bytes += wlen; \
>         MARK++; \
>     }
> 
> 
> 
> Is that right?  The error's the same, none the less (even after a
> make clean)

yup, that's strange. Any difference if you drop (STRLEN):

- char *buf = SvPV(*MARK, (STRLEN)wlen);
+ char *buf = SvPV(*MARK, wlen);

__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Stas Bekman wrote:


> Are you sure you have applied the patch? It now should be:
> 
> xs/modperl_xs_util.h:104:        rv = func(aTHX_ obj, buf, &wlen);    \


This is the chunk :

/* XXX: we probably shouldn't croak here */
#define mpxs_write_loop(func, obj) \
     while (MARK <= SP) { \
         apr_size_t wlen; \
         apr_status_t rv; \
         char *buf = SvPV(*MARK, (STRLEN)wlen);        \
         MP_TRACE_o(MP_FUNC, "%d bytes [%s]", wlen, buf); \
         rv = func(aTHX_ obj, buf, &wlen);    \
         if (rv != APR_SUCCESS) { \
             Perl_croak(aTHX_ modperl_apr_strerror(rv)); \
         } \
         bytes += wlen; \
         MARK++; \
     }



Is that right?  The error's the same, none the less (even after a
make clean)






---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Carl Brewer wrote:
> Stas Bekman wrote:
> 
>> please reply-all, thanks!
> 
> 
> Mea Culpa
> 
>> I've spent some time googling, trying to figure out what netbsd's gcc 
>> is unhappy about, but I couldn't find anything useful. Please try this 
>> patch instead:
> 
> 
> 
> Nope, no change.
> 
> steel1: {73} make
> cd "src/modules/perl" && make -f Makefile.modperl
> cc -c  -I/data/src/modperl-2.0/src/modules/perl 
> -I/data/src/modperl-2.0/xs -I/usr/local/apache2/include 
> -I/usr/local/apache2/include  -fno-strict-aliasing -I/usr/pkg/include 
> -DMOD_PERL -DMP_COMPAT_1X -DNETBSD -O    -DVERSION=\"0.01\" 
> -DXS_VERSION=\"0.01\" -DPIC -fPIC 
> "-I/usr/local/perl-5.8.1/lib/5.8.1/i386-netbsd/CORE"  -DMP_HAVE_APR_LIBS 
> Filter.c
> In file included from Filter.xs:26:
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h: In function 
> `mpxs_Apache__Filter_print':
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:37: invalid 
> lvalue in unary `&'
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:40: invalid 
> lvalue in unary `&'

Are you sure you have applied the patch? It now should be:

xs/modperl_xs_util.h:104:        rv = func(aTHX_ obj, buf, &wlen);    \


__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Carl Brewer <ca...@bl.echidna.id.au>.
Stas Bekman wrote:

> please reply-all, thanks!

Mea Culpa

> I've spent some time googling, trying to figure out what netbsd's gcc is 
> unhappy about, but I couldn't find anything useful. Please try this 
> patch instead:


Nope, no change.

steel1: {73} make
cd "src/modules/perl" && make -f Makefile.modperl
cc -c  -I/data/src/modperl-2.0/src/modules/perl 
-I/data/src/modperl-2.0/xs -I/usr/local/apache2/include 
-I/usr/local/apache2/include  -fno-strict-aliasing -I/usr/pkg/include 
-DMOD_PERL -DMP_COMPAT_1X -DNETBSD -O    -DVERSION=\"0.01\" 
-DXS_VERSION=\"0.01\" -DPIC -fPIC 
"-I/usr/local/perl-5.8.1/lib/5.8.1/i386-netbsd/CORE"  -DMP_HAVE_APR_LIBS 
Filter.c
In file included from Filter.xs:26:
/data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h: In function 
`mpxs_Apache__Filter_print':
/data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:37: invalid 
lvalue in unary `&'
/data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:40: invalid 
lvalue in unary `&'
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0/WrapXS/Apache/Filter
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0/WrapXS/Apache
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0/WrapXS
*** Error code 1

Stop.
make: stopped in /data/src/modperl-2.0




I can upgrade to 5.8.4, but that won't help :)

Carl


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
please reply-all, thanks!

Carl Brewer wrote:

> No, same error :
> 
> cd "src/modules/perl" && make -f Makefile.modperl
> cc -c  -I/data/src/modperl-2.0/src/modules/perl 
> -I/data/src/modperl-2.0/xs -I/usr/local/apache2/include 
> -I/usr/local/apache2/include  -fno-strict-aliasing -I/usr/pkg/include 
> -DMOD_PERL -DMP_COMPAT_1X -DNETBSD -O    -DVERSION=\"0.01\" 
> -DXS_VERSION=\"0.01\" -DPIC -fPIC 
> "-I/usr/local/perl-5.8.1/lib/5.8.1/i386-netbsd/CORE"  -DMP_HAVE_APR_LIBS 
> Filter.c
> In file included from Filter.xs:26:
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h: In function 
> `mpxs_Apache__Filter_print':
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:37: invalid 
> lvalue in unary `&'
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:40: invalid 
> lvalue in unary `&'

I've spent some time googling, trying to figure out what netbsd's gcc is 
unhappy about, but I couldn't find anything useful. Please try this patch instead:

Index: xs/modperl_xs_util.h
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/modperl_xs_util.h,v
retrieving revision 1.19
diff -u -r1.19 modperl_xs_util.h
--- xs/modperl_xs_util.h        8 Apr 2004 01:41:36 -0000       1.19
+++ xs/modperl_xs_util.h        26 Apr 2004 01:42:20 -0000
@@ -97,11 +97,11 @@
  /* XXX: we probably shouldn't croak here */
  #define mpxs_write_loop(func, obj) \
      while (MARK <= SP) { \
-        STRLEN wlen; \
+        apr_size_t wlen; \
          apr_status_t rv; \
-        char *buf = SvPV(*MARK, wlen);        \
+        char *buf = SvPV(*MARK, (STRLEN)wlen);        \
          MP_TRACE_o(MP_FUNC, "%d bytes [%s]", wlen, buf); \
-        rv = func(aTHX_ obj, buf, &(apr_size_t)wlen);    \
+        rv = func(aTHX_ obj, buf, &wlen);    \
          if (rv != APR_SUCCESS) { \
              Perl_croak(aTHX_ modperl_apr_strerror(rv)); \
          } \

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org


Re: [mp2] compile error in current CVS (NetBSD 1.6.1, perl 5.8.1)

Posted by Stas Bekman <st...@stason.org>.
Carl Brewer wrote:
> 
> 
> Stas et al,
> 
> Just pulled down the latest from CVS (to test the IPv6 stuff again!)
> 
> Known problem? :
> 
> 
> 
> 
> steel1: {12} t/REPORT
> -------------8<---------- Start Bug Report ------------8<----------
> 1. Problem Description:
> 
> perl-2.0/xs/typemap  Filter.xs > Filter.xsc && mv Filter.xsc Filter.c
> cc -c  -I/data/src/modperl-2.0/src/modules/perl 
> -I/data/src/modperl-2.0/xs -I/usr/local/apache2/include 
> -I/usr/local/apache2/include  -fno-strict-aliasing -I/usr/pkg/include 
> -DMOD_PERL -DMP_COMPAT_1X -DNETBSD -O    -DVERSION=\"0.01\" 
> -DXS_VERSION=\"0.01\" -DPIC -fPIC 
> "-I/usr/local/perl-5.8.1/lib/5.8.1/i386-netbsd/CORE"  -DMP_HAVE_APR_LIBS 
> Filter.c
> In file included from Filter.xs:26:
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h: In function 
> `mpxs_Apache__Filter_print':
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:37: invalid 
> lvalue in unary `&'
> /data/src/modperl-2.0/xs/Apache/Filter/Apache__Filter.h:40: invalid 
> lvalue in unary `&'
> *** Error code 1

Carl, blame:
http://cvs.apache.org/viewcvs.cgi/modperl-2.0/xs/modperl_xs_util.h?r1=1.18&r2=1.19&diff_format=h

Does this change make netbsd compiler happy?

Index: xs/modperl_xs_util.h
===================================================================
RCS file: /home/cvs/modperl-2.0/xs/modperl_xs_util.h,v
retrieving revision 1.19
diff -u -r1.19 modperl_xs_util.h
--- xs/modperl_xs_util.h        8 Apr 2004 01:41:36 -0000       1.19
+++ xs/modperl_xs_util.h        26 Apr 2004 00:55:57 -0000
@@ -101,7 +101,7 @@
          apr_status_t rv; \
          char *buf = SvPV(*MARK, wlen);        \
          MP_TRACE_o(MP_FUNC, "%d bytes [%s]", wlen, buf); \
-        rv = func(aTHX_ obj, buf, &(apr_size_t)wlen);    \
+        rv = func(aTHX_ obj, buf, (apr_size_t*)&wlen);    \
          if (rv != APR_SUCCESS) { \
              Perl_croak(aTHX_ modperl_apr_strerror(rv)); \
          } \



__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@perl.apache.org
For additional commands, e-mail: dev-help@perl.apache.org