2009年12月7日星期一

[PerlChina] Re: 安装mod_perl modperl_xsinit.c:30: 错误

谢谢你的帮助。
$locate Embed.pm
/root/.cpan/build/ExtUtils-Embed-1.14-6naOrM/blib/lib/ExtUtils/
Embed.pm
/root/.cpan/build/ExtUtils-Embed-1.14-6naOrM/lib/ExtUtils/Embed.pm
/usr/lib/perl5/5.10.0/ExtUtils/Embed.pm
--------------------------------------------------------------------------------------------
$perl -
V
Summary of my perl5 (revision 5 version 10 subversion 0)
configuration:

Platform:
osname=linux, osvers=2.6.18-164.el5, archname=i386-linux-thread-
multi
uname='linux x86-2.fedora.phx.redhat.com 2.6.18-164.el5 #1 smp tue
aug 18 15:51:48 edt 2009 i686 i686 i386 gnulinux
'
config_args='-des -Doptimize=-O2 -g -pipe -Wall -Wp,-
D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-
size=4 -m32 -march=i586 -mtune=generic -fasynchronous-unwind-tables -
Accflags=-DPERL_USE_SAFE_PUTENV -Dversion=5.10.0 -
Dmyhostname=localhost -Dperladmin=root@localhost -Dcc=gcc -Dcf_by=Red
Hat, Inc. -Dprefix=/usr -Dvendorprefix=/usr -Dsiteprefix=/usr/local -
Dprivlib=/usr/lib/perl5/5.10.0 -Dsitelib=/usr/local/lib/perl5/
site_perl/5.10.0 -Dvendorlib=/usr/lib/perl5/vendor_perl/5.10.0 -
Darchlib=/usr/lib/perl5/5.10.0/i386-linux-thread-multi -Dsitearch=/usr/
local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi -Dvendorarch=/
usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi -
Dinc_version_list=none -Darchname=i386-linux-thread-multi -Duseshrplib
-Dusethreads -Duseithreads -Duselargefiles -Dd_dosuid -Dd_semctl_semun
-Di_db -Ui_ndbm -Di_gdbm -Di_shadow -Di_syslog -Dman3ext=3pm -
Duseperlio -Dinstallusrbinperl=n -Ubincompat5005 -Uversiononly -
Dpager=/usr/bin/less -isr -Dd_gethostent_r_proto -
Ud_endhostent_r_proto -Ud_sethostent_r_proto -Ud_endprotoent_r_proto -
Ud_setprotoent_r_proto -Ud_endservent_r_proto -Ud_setservent_r_proto -
Dscriptdir=/usr/bin -Dotherlibdirs=/usr/lib/perl5/
site_perl'
hint=recommended, useposix=true,
d_sigaction=define
useithreads=define,
usemultiplicity=define
useperlio=define, d_sfio=undef, uselargefiles=define,
usesocks=undef
use64bitint=undef, use64bitall=undef,
uselongdouble=undef
usemymalloc=n,
bincompat5005=undef

Compiler:
cc='gcc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -
DPERL_USE_SAFE_PUTENV -DDEBUGGING -fno-strict-aliasing -pipe -I/usr/
local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -I/usr/
include/gdbm',
optimize='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -
fstack-protector --param=ssp-buffer-size=4 -m32 -march=i586 -
mtune=generic -fasynchronous-unwind-
tables',
cppflags='-D_REENTRANT -D_GNU_SOURCE -DPERL_USE_SAFE_PUTENV -
DDEBUGGING -fno-strict-aliasing -pipe -I/usr/local/include -I/usr/
include/
gdbm'
ccversion='', gccversion='4.4.1 20090725 (Red Hat 4.4.1-2)',
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='gcc', ldflags =' -L/usr/local/lib'
libpth=/usr/local/lib /lib /usr/lib
libs=-lresolv -lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lpthread -
lc
perllibs=-lresolv -lnsl -ldl -lm -lcrypt -lutil -lpthread -lc
libc=/lib/libc-2.10.1.so, so=so, useshrplib=true,
libperl=libperl.so
gnulibc_version='2.10.1'
Dynamic Linking:
dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E -
Wl,-rpath,/usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE'
cccdlflags='-fPIC', lddlflags='-shared -O2 -g -pipe -Wall -Wp,-
D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-
size=4 -m32 -march=i586 -mtune=generic -fasynchronous-unwind-tables -L/
usr/local/lib'


Characteristics of this binary (from libperl):
Compile-time options: DEBUGGING MULTIPLICITY PERL_DONT_CREATE_GVSV
PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP
PERL_TRACK_MEMPOOL PERL_USE_SAFE_PUTENV
USE_ITHREADS
USE_LARGE_FILES USE_PERLIO USE_REENTRANT_API
Built under linux
Compiled at Sep 18 2009 15:01:24
@INC:
/usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi
/usr/local/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.10.0
/usr/lib/perl5/vendor_perl
/usr/lib/perl5/5.10.0/i386-linux-thread-multi
/usr/lib/perl5/5.10.0
/usr/lib/perl5/site_perl
.


On 12月7日, 下午10时35分, cnhack TNT <cnhack...@gmail.com> wrote:
> 另外附上你的 perl -V 信息
>
> 2009/12/7 cnhack TNT <cnhack...@gmail.com>
>
> > 请运行 : locate Embed.pm
> > 告诉我们结果 :-)
>
> > 2009/12/7 程方圆 <chengfangyuan2...@gmail.com>
>
> > 请教个问题:
> >> 我手动安装mod_perl时出错,使用CPAN安装也有同样的错误而make终止:
> >> 错误如下:
> >> =============================================================
> >> modperl_xsinit.c: 在函数'xs_init'中:
> >> modperl_xsinit.c:30: 错误:'my_perl'未声明(在此函数内第一次使用)
> >> modperl_xsinit.c:30: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
> >> modperl_xsinit.c:30: 错误:所在的函数内也只报告一次。)
> >> modperl_xsinit.c:30: 警告:传递'Perl_newXS'的第 3 个参数时在不兼容的指针类型间转换
> >> /usr/lib/perl5/5.10.0/i386-linux-thread-multi/CORE/proto.h:1500:
> >> 附注:需要类型'XSUBADDR_t',但实参的类型为'void (*)(struct CV *)'
> >> make[1]: *** [modperl_xsinit.lo] 错误 1
> >> make[1]: Leaving directory
> >> `/root/.cpan/build/mod_perl-2.0.4-mf94jz/src/modules/perl'
> >> make: *** [modperl_lib] 错误 2
> >> GOZER/mod_perl-2.0.4.tar.gz
> >> /usr/bin/make -- NOT OK
> >> Running make test
> >> Can't test without successful make
> >> Running make install
> >> Make had returned bad status, install seems impossibl
> >> =====================================================
>
> >> 我用"modperl_xsinit.c:30"作为关键词搜索google,发现有人提出同样的问题,但没有找到答案。
> >>http://d.hatena.ne.jp/hirose31/20090302/1235967816这里好像有解决办法,但是我看不懂日文。
>
> >> 希望哪位能指点一下,谢谢!
>
> >> 系统是fedora12
> >> mod_perl version: mod_perl-2.0.4
> >> httpd version:
> >> Server version: Apache/2.2.14 (Unix)
> >> Server built: Dec 7 2009 17:42:54
--~--~---------~--~----~------------~-------~--~----~
您收到此信息是由于您订阅了 Google 论坛"PerlChina Mongers 讨论组"论坛。
要在此论坛发帖,请发电子邮件到 perlchina@googlegroups.com
要退订此论坛,请发邮件至 perlchina+unsubscribe@googlegroups.com
更多选项,请通过 http://groups.google.com/group/perlchina?hl=zh-CN 访问该论坛
-~----------~----~----~----~------~----~------~--~---

没有评论: