在 AIX 6.1 上,gcc 编译 Perl V5.8.8 时 make 失败

发布于 2024-11-26 16:54:34 字数 3411 浏览 3 评论 0原文

由于尝试安装 CPAN 时出现的 cc_r 问题,我让 gcc 在 AIX 6.1 上编译 Perl V5.8.8。我们没有 IBM C 编译器,但使用 gcc,它“成功编译”,我希望没有错误,运行 make per:

make
    make depend MAKEDEPEND=
    sh ./makedepend MAKE=make
    sh writemain lib/auto/DynaLoader/DynaLoader.a  > perlmain.c
    echo  av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c reentr.c perl.c perly.c pp.c pp_hot.c
pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c miniperlmain.c perlmain.c opmini.c | tr ' ' '\n' >.clist
Finding dependencies for av.o.
Finding dependencies for scope.o.
Finding dependencies for op.o.
Finding dependencies for doop.o.
Finding dependencies for doio.o.
Finding dependencies for dump.o.
Finding dependencies for hv.o.
Finding dependencies for mg.o.
Finding dependencies for reentr.o.
Finding dependencies for perl.o.
Finding dependencies for perly.o.
Finding dependencies for pp.o.
Finding dependencies for pp_hot.o.
Finding dependencies for pp_ctl.o.
Finding dependencies for pp_sys.o.
Finding dependencies for regcomp.o.
Finding dependencies for regexec.o.
Finding dependencies for utf8.o.
Finding dependencies for gv.o.
Finding dependencies for sv.o.
Finding dependencies for taint.o.
Finding dependencies for toke.o.
Finding dependencies for util.o.
Finding dependencies for deb.o.
Finding dependencies for run.o.
Finding dependencies for universal.o.
Finding dependencies for xsutils.o.
Finding dependencies for pad.o.
Finding dependencies for globals.o.
Finding dependencies for perlio.o.
Finding dependencies for perlapi.o.
Finding dependencies for numeric.o.
Finding dependencies for locale.o.
Finding dependencies for pp_pack.o.
Finding dependencies for pp_sort.o.
Finding dependencies for miniperlmain.o.
Finding dependencies for perlmain.o.
Finding dependencies for opmini.o.
echo Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH  makedir.SH myconfig.SH writemain.SH pod/Makefile.SH | tr ' ' '\n' >.shlist
Updating makefile...
     test -s perlmain.c && touch perlmain.c
    cd x2p; make depend
    sh ../makedepend MAKE=make
    echo hash.c  str.c util.c walk.c | tr ' ' '\n' >.clist
Finding dependencies for hash.o.
Finding dependencies for str.o.
Finding dependencies for util.o.
Finding dependencies for walk.o.
    echo Makefile.SH cflags.SH | tr ' ' '\n' >.shlist
Updating makefile...
    `sh  cflags "optimize='-O'" miniperlmain.o`  miniperlmain.c
      CCCMD =  gcc -maix64 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -maix64 -DUSE_64_BIT_ALL -O  -Wall
In file included from perl.h:496,
             from miniperlmain.c:36:
/usr/include/unistd.h:924: error: expected ')' before '[' token
/usr/include/unistd.h:925: error: expected declaration specifiers or '...' before 'rid_t'
make: 1254-004 The error code from the last command is 1.


Stop.

Output from offendinglines in /usr/include/unistd.h:

    extern int              setroles(rid_t [], int);
    extern int              getroles(pid_t, rid_t [], int);
"/usr/include/unistd.h" [Read only] The cursor is at line 924 of 966 --91%-- .

再次,非常感谢任何帮助。 ........ LT

PS。虽然 IBM 声明 Perl V5.10.x 在 AIX 6.1 上未打包/不受支持,但它实际上能正确运行吗?

I got gcc to compile Perl V5.8.8 on AIX 6.1 due to stated cc_r issues while attempting to install CPAN. We do not have the IBM C compiler but using gcc and it "successfully compiled", I hope as no errors, ran make per:

make
    make depend MAKEDEPEND=
    sh ./makedepend MAKE=make
    sh writemain lib/auto/DynaLoader/DynaLoader.a  > perlmain.c
    echo  av.c scope.c op.c doop.c doio.c dump.c hv.c mg.c reentr.c perl.c perly.c pp.c pp_hot.c
pp_ctl.c pp_sys.c regcomp.c regexec.c utf8.c gv.c sv.c taint.c toke.c util.c deb.c run.c universal.c xsutils.c pad.c globals.c perlio.c perlapi.c numeric.c locale.c pp_pack.c pp_sort.c miniperlmain.c perlmain.c opmini.c | tr ' ' '\n' >.clist
Finding dependencies for av.o.
Finding dependencies for scope.o.
Finding dependencies for op.o.
Finding dependencies for doop.o.
Finding dependencies for doio.o.
Finding dependencies for dump.o.
Finding dependencies for hv.o.
Finding dependencies for mg.o.
Finding dependencies for reentr.o.
Finding dependencies for perl.o.
Finding dependencies for perly.o.
Finding dependencies for pp.o.
Finding dependencies for pp_hot.o.
Finding dependencies for pp_ctl.o.
Finding dependencies for pp_sys.o.
Finding dependencies for regcomp.o.
Finding dependencies for regexec.o.
Finding dependencies for utf8.o.
Finding dependencies for gv.o.
Finding dependencies for sv.o.
Finding dependencies for taint.o.
Finding dependencies for toke.o.
Finding dependencies for util.o.
Finding dependencies for deb.o.
Finding dependencies for run.o.
Finding dependencies for universal.o.
Finding dependencies for xsutils.o.
Finding dependencies for pad.o.
Finding dependencies for globals.o.
Finding dependencies for perlio.o.
Finding dependencies for perlapi.o.
Finding dependencies for numeric.o.
Finding dependencies for locale.o.
Finding dependencies for pp_pack.o.
Finding dependencies for pp_sort.o.
Finding dependencies for miniperlmain.o.
Finding dependencies for perlmain.o.
Finding dependencies for opmini.o.
echo Makefile.SH cflags.SH config_h.SH makeaperl.SH makedepend.SH  makedir.SH myconfig.SH writemain.SH pod/Makefile.SH | tr ' ' '\n' >.shlist
Updating makefile...
     test -s perlmain.c && touch perlmain.c
    cd x2p; make depend
    sh ../makedepend MAKE=make
    echo hash.c  str.c util.c walk.c | tr ' ' '\n' >.clist
Finding dependencies for hash.o.
Finding dependencies for str.o.
Finding dependencies for util.o.
Finding dependencies for walk.o.
    echo Makefile.SH cflags.SH | tr ' ' '\n' >.shlist
Updating makefile...
    `sh  cflags "optimize='-O'" miniperlmain.o`  miniperlmain.c
      CCCMD =  gcc -maix64 -DPERL_CORE -c -D_ALL_SOURCE -D_ANSI_C_SOURCE -D_POSIX_SOURCE -DUSE_NATIVE_DLOPEN -fno-strict-aliasing -pipe -Wdeclaration-after-statement -I/usr/local/include -maix64 -DUSE_64_BIT_ALL -O  -Wall
In file included from perl.h:496,
             from miniperlmain.c:36:
/usr/include/unistd.h:924: error: expected ')' before '[' token
/usr/include/unistd.h:925: error: expected declaration specifiers or '...' before 'rid_t'
make: 1254-004 The error code from the last command is 1.


Stop.

Output from offending lines in /usr/include/unistd.h:

    extern int              setroles(rid_t [], int);
    extern int              getroles(pid_t, rid_t [], int);
"/usr/include/unistd.h" [Read only] The cursor is at line 924 of 966 --91%-- .

again, any help is GREATLY appreciated......... LT

PS. while IBM states Perl V5.10.x is not packaged/supported on AIX 6.1, will it actually run correctly anyway?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

老街孤人 2024-12-03 16:54:34

除了当前版本的 Perl 之外,您不太可能获得像样的社区支持,截至 2011 年,这意味着 v5.14< /a>.

#perl-help 的意见:

<Khisanth> looks like some missing header files
<Khisanth> or missing #includes
<DrForr> Whatever defines rid_t is a likely candidate.

You're very unlikely to get decent community support for anything but current versions of Perl, as of 2011 this means v5.14.

#perl-help's opinions:

<Khisanth> looks like some missing header files
<Khisanth> or missing #includes
<DrForr> Whatever defines rid_t is a likely candidate.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文