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