You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Bolhar-Nordenkampf Ferdinand <bo...@adv.magwien.gv.at> on 2006/11/21 15:09:50 UTC

mod_perl 2.0.2 fails to build on Tru64 (Digital UNIX)

Hi,

I'm trying to build mod_perl 2.0.2 on a Tru64 (Digital UNIX) system V5.1B,
Apache 2.0.59, Perl 5.8.0.

After extracting the .tar file, I do a

$ cd mod_perl-2.0.2
$ perl Makefile.PL MP_APXS=/usr/local/apache2/bin/apxs

And I got this output:

Reading Makefile.PL args from @ARGV
   MP_APXS = /usr/local/apache2/bin/apxs
no conflicting prior mod_perl version found - good.
Configuring Apache/2.0.59 mod_perl2/2.0.2 Perl/v5.8.0
Subroutine ModPerl::ParseSource::get_structs redefined at lib/ModPerl/ParseSource.pm line 59.
Subroutine new redefined at lib/Apache2/BuildConfig.pm line 18.
WARNING: NO_META is not a known parameter.
'NO_META' is not a known MakeMaker parameter name.
[   info] generating script t/TEST
[   info] generating script ./t/cgi-bin/cookies.pl
WARNING: NO_META is not a known parameter.
Writing Makefile for Apache::Test
Checking for File::Spec...ok
Checking for Cwd...ok
[   info] generating script t/TEST
Argument "" isn't numeric in numeric lt (<) at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MakeMaker.pm line 434.
Writing Makefile for ModPerl::Registry
Writing Makefile for APR::Base64
Writing Makefile for APR::Brigade
Writing Makefile for APR::Bucket
Writing Makefile for APR::BucketAlloc
Writing Makefile for APR::BucketType
Writing Makefile for APR::Date
Writing Makefile for APR::Error
Writing Makefile for APR::Finfo
Writing Makefile for APR::IpSubnet
Writing Makefile for APR::OS
Writing Makefile for APR::Pool
Writing Makefile for APR::SockAddr
Writing Makefile for APR::Socket
Writing Makefile for APR::Status
Writing Makefile for APR::String
Writing Makefile for APR::Table
Writing Makefile for APR::URI
Writing Makefile for APR::UUID
Writing Makefile for APR::Util
Writing Makefile for APR
Writing Makefile for Apache2::Access
Writing Makefile for Apache2::CmdParms
Writing Makefile for Apache2::Command
Writing Makefile for Apache2::Connection
Writing Makefile for Apache2::Directive
Writing Makefile for Apache2::Filter
Writing Makefile for Apache2::FilterRec
Writing Makefile for Apache2::HookRun
Writing Makefile for Apache2::Log
Writing Makefile for Apache2::MPM
Writing Makefile for Apache2::Module
Writing Makefile for Apache2::Process
Writing Makefile for Apache2::RequestIO
Writing Makefile for Apache2::RequestRec
Writing Makefile for Apache2::RequestUtil
Writing Makefile for Apache2::Response
Writing Makefile for Apache2::ServerRec
Writing Makefile for Apache2::ServerUtil
Writing Makefile for Apache2::SubProcess
Writing Makefile for Apache2::SubRequest
Writing Makefile for Apache2::URI
Writing Makefile for Apache2::Util
Writing Makefile for Apache2
Writing Makefile for ModPerl::Global
Writing Makefile for ModPerl::Util
Writing Makefile for ModPerl
Writing Makefile for ModPerl::WrapXS
Constant subroutine main::WIN32 redefined at /usr/lib/perl-5.8.0/lib/5.8.0/constant.pm line 108.
Constant subroutine main::BUILD_APREXT redefined at /usr/lib/perl-5.8.0/lib/5.8.0/constant.pm line 108.
Writing Makefile for APR
Writing Makefile for APR::Const
Writing Makefile for APR::PerlIO
Writing Makefile for libaprext
Writing Makefile for APR_build
Writing Makefile for Apache2::Const
Writing Makefile for Apache2_build
Subroutine MY::postamble redefined at ./Makefile.PL line 23.
Writing Makefile for ModPerl::Const
Writing Makefile for ModPerl
Writing Makefile for ModPerl::XS
Writing Makefile for mod_perl2
Use of uninitialized value in split at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MM_Unix.pm line 1518.
Use of uninitialized value in split at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MM_Unix.pm line 1523.
Use of uninitialized value in pattern match (m//) at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MM_Unix.pm line 1533.
Use of uninitialized value in substitution (s///) at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MM_Unix.pm line 1719.
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MM_Unix.pm line 1738.
Use of uninitialized value in concatenation (.) or string at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MM_Unix.pm line 1791.
[warning] mod_perl dso library will be built as mod_perl.so
[warning] You'll need to add the following to httpd.conf:
[warning]
[warning]   LoadModule perl_module modules/mod_perl.so
[warning]
[warning] depending on your build, mod_perl might not live in
[warning] the modules/ directory.

[warning] Check the results of
[warning]
[warning]   $ /www/bin/apxs -q LIBEXECDIR
[warning]
[warning] and adjust the LoadModule directective accordinlgy

$

Hm. Doesn't look very nice, doesn't it?

Anyway, I run "make" next, and I got this output:

cd "src/modules/perl" && make
cc -I/usr/users/bol/mod_perl-2.0.2/src/modules/perl -I/usr/users/bol/mod_perl-2.0.2/xs -I/usr/local/apache2/include
-I/usr/local/apache2/include  -I/usr/local/apache2/include -fprm d -ieee -std -fprm d -ieee -DLANGUAGE_C
-I/usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE -DMOD_PERL -DMP_COMPAT_1X -DOSF1 -O4
-c mod_perl.c && mv mod_perl.o mod_perl.lo
cc: Warning: /usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE/config.h, line 41:
The redefinition of the macro "__attribute__" conflicts with a current definition because the spelling of one or more parameters is different.  The redefinition is now in effect. (macroredef)
#define __attribute__(_arg_)
----------------------^

[ The above message gets repeated while compiling these files:
  modperl_interp.c		modperl_tipool.c		modperl_config.c		modperl_cmd.c
  modperl_options.c  		modperl_callback.c	modperl_handler.c		modperl_gtop.c
  modperl_util.			modperl_io.c		modperl_io_apache.c	modperl_filter.c
  modperl_bucket.c		modperl_mgv.c		modperl_pcw.c		modperl_global.c
  modperl_env.c			modperl_cgi.c		modperl_perl.c		modperl_perl_global.c
  modperl_pp.c			modperl_sys.c		modperl_module.c		modperl_svptr_table.c
  modperl_const.c			modperl_constants.c	modperl_apache_compat.c	modperl_error.c
  modperl_debug.c			modperl_common_util.c	modperl_common_log.c	modperl_hooks.c
  modperl_directives.c		modperl_flags.c		modperl_exports.c

  In fact, the only files which are compiled without any message are:
  modperl_log.c
  modperl_xsinit.c
]

rm -f mod_perl.so
ld -shared -expect_unresolved "*" -O4 -msym -std -s mod_perl.lo modperl_interp.lo modperl_tipool.lo modperl_log.lo
modperl_config.lo modperl_cmd.lo modperl_options.lo modperl_callback.lo modperl_handler.lo modperl_gtop.lo
modperl_util.lo modperl_io.lo modperl_io_apache.lo modperl_filter.lo modperl_bucket.lo modperl_mgv.lo modperl_pcw.lo
modperl_global.lo modperl_env.lo modperl_cgi.lo modperl_perl.lo modperl_perl_global.lo modperl_perl_pp.lo modperl_sys.lo
modperl_module.lo modperl_svptr_table.lo modperl_const.lo modperl_constants.lo modperl_apache_compat.lo modperl_error.lo
modperl_debug.lo modperl_common_util.lo modperl_common_log.lo modperl_hooks.lo modperl_directives.lo modperl_flags.lo
modperl_xsinit.lo modperl_exports.lo -Wl,-rpath,/usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE
/usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/auto/DynaLoader/DynaLoader.a
-L/usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE -lperl -lm -lutil -o mod_perl.so
ld:
Invalid flag usage: Wl,-rpath,/usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE,
-Wx,-option must appear after -_SYSTYPE_SVR4
ld: Usage: ld [options] file [...]
*** Exit 1
Stop.
*** Exit 1
Stop.
Exit 1
$

As suggested on http://perl.apache.org/docs/2.0/user/help/help.html#Reporting_Problems,

I run t/REPORT which provided this output:

-------------8<---------- Start Bug Report ------------8<----------
1. Problem Description:

  >>> PLEASE SEE DESCRIPTION ABOVE <<<

2. Used Components and their Configuration:

*** mod_perl version 2.000002

*** using /usr/users/bol/mod_perl-2.0.2/lib/Apache2/BuildConfig.pm

*** Makefile.PL options:
  MP_APR_LIB     => aprext
  MP_APXS        => /usr/local/apache2/bin/apxs
  MP_COMPAT_1X   => 1
  MP_GENERATE_XS => 1
  MP_LIBNAME     => mod_perl
  MP_USE_DSO     => 1

*** The httpd binary was not found

*** (apr|apu)-config linking info

 -L/usr/local/apache2/lib -laprutil-0 -lexpat -liconv
 -L/usr/local/apache2/lib -lapr-0 -lrt -lm -lresolv

*** /usr/lib/perl-5.8.0/bin/perl -V
Summary of my perl5 (revision 5.0 version 8 subversion 0) configuration:
  Platform:
    osname=dec_osf, osvers=5.1, archname=alpha-dec_osf
    uname='osf1 zen.xko.dec.com t5.1 2617 alpha '
    config_args='-des -Dlibpth=/usr/shlib /usr/lib /usr/ccs/lib -Dusemymalloc=no
 -Dprefix=/usr/lib/perl-5.8.0 -Dman1dir=/usr/share/doclib/annex/man/man1
 -Dman3dir=/usr/share/doclib/annex/man/man3 -Dccflags=-fprm d -ieee -Doptimize=-O4
 -Dhostcat=cat /etc/hosts -Dmyhostname=localhost -Umydomain= -Dcf_by=perlhelp
 -Dcf_email=root@localhost'
    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=define use64bitall=define uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-fprm d -ieee -std -fprm d -ieee -DLANGUAGE_C',
    optimize='-O4',
    cppflags='-fprm d -ieee -std -fprm d -ieee -DLANGUAGE_C'
    ccversion='V6.5-011', gccversion='', gccosandvers=''
    intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define
  Linker and Libraries:
    ld='ld', ldflags =''
    libpth=/usr/shlib /usr/lib /usr/ccs/lib
    libs=-ldbm -ldb -lm -lutil
    perllibs=-lm -lutil
    libc=/usr/shlib/libc.so, so=so, useshrplib=true, libperl=libperl.so
    gnulibc_version=''
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef,
    ccdlflags=' -Wl,-rpath,/usr/lib/perl-5.8.0/lib/5.8.0/alphadec_osf/CORE'
    cccdlflags=' ', lddlflags='-shared -expect_unresolved "*" -O4 -msym -std -s'

Characteristics of this binary (from libperl):
  Compile-time options: USE_64_BIT_INT USE_64_BIT_ALL USE_LARGE_FILES
  Built under dec_osf
  Compiled at Aug 26 2002 18:28:54
  %ENV:
    PERL_LWP_USE_HTTP_10="1"
  @INC:
    /usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf
    /usr/lib/perl-5.8.0/lib/5.8.0
    /usr/lib/perl-5.8.0/lib/site_perl/5.8.0/alpha-dec_osf
    /usr/lib/perl-5.8.0/lib/site_perl/5.8.0
    /usr/lib/perl-5.8.0/lib/site_perl
    .

** Packages of interest status:

Apache2            : -
Apache2::Request   : -
CGI                : 2.81
ExtUtils::MakeMaker: 6.03
LWP                : -
mod_perl           : -
mod_perl2          : -

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

  >>> NO CORE DUMP <<<

This report was generated by t/REPORT on Tue Nov 21 13:10:59 2006 GMT.

-------------8<---------- End Bug Report --------------8<----------


Can you help me? What's wrong here?

Kind greetings from Vienna,

Ferry
--

Ing. Ferry Bolhár-Nordenkampf
Magistrat der Stadt Wien - MA 14
A-1010 Wien
E-Mail: bol@adv.magwien.gv.at

Re: mod_perl 2.0.2 fails to build on Tru64 (Digital UNIX)

Posted by "Philip M. Gollucci" <pg...@p6m7g8.com>.
Bolhar-Nordenkampf Ferdinand wrote:
> Hi,
> 
> I'm trying to build mod_perl 2.0.2 on a Tru64 (Digital UNIX) system V5.1B,
> Apache 2.0.59, Perl 5.8.0.
You knew I as going to say this, but preferably 5.8.8.

Make sure you are using the same compiler for mod_perl as you used for 
perl and httpd 2.059.

$CC -v ?


> Subroutine ModPerl::ParseSource::get_structs redefined at lib/ModPerl/ParseSource.pm line 59.
> Subroutine new redefined at lib/Apache2/BuildConfig.pm line 18.
> WARNING: NO_META is not a known parameter.
> 'NO_META' is not a known MakeMaker parameter name.
> [   info] generating script t/TEST
> [   info] generating script ./t/cgi-bin/cookies.pl
> WARNING: NO_META is not a known parameter.

> Argument "" isn't numeric in numeric lt (<) at /usr/lib/perl-5.8.0/lib/5.8.0/ExtUtils/MakeMaker.pm line 434.

> Constant subroutine main::WIN32 redefined at /usr/lib/perl-5.8.0/lib/5.8.0/constant.pm line 108.
> Constant subroutine main::BUILD_APREXT redefined at /usr/lib/perl-5.8.0/lib/5.8.0/constant.pm line 108.
This all probably relating to the versions of Modules that ship with 
perl 5.8.0.

> cc: Warning: /usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE/config.h, line 41:
> The redefinition of the macro "__attribute__" conflicts with a current definition because the spelling of one or more parameters is different.  The redefinition is now in effect. (macroredef)
> #define __attribute__(_arg_)
Thats a perl error message.  You're compiler is not the same one as was 
used for perl.

> Invalid flag usage: Wl,-rpath,/usr/lib/perl-5.8.0/lib/5.8.0/alpha-dec_osf/CORE,
> -Wx,-option must appear after -_SYSTYPE_SVR4
> ld: Usage: ld [options] file [...]
Fix the above first.

Thats the default Tru64 compiler.  /Me thins you tried GCC for mod_perl.
>     cc='cc', ccflags ='-fprm d -ieee -std -fprm d -ieee -DLANGUAGE_C',
>     optimize='-O4',
>     cppflags='-fprm d -ieee -std -fprm d -ieee -DLANGUAGE_C'
>     ccversion='V6.5-011', gccversion='', gccosandvers=''
>     intsize=4, longsize=8, ptrsize=8, doublesize=8, byteorder=12345678
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>     ivtype='long', ivsize=8, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
>     alignbytes=8, prototype=define

-- 
------------------------------------------------------------------------
Philip M. Gollucci (pgollucci@p6m7g8.com) 323.219.4708
Consultant / http://p6m7g8.net/Resume/resume.shtml
Senior Software Engineer - TicketMaster - http://ticketmaster.com
1024D/A79997FA F357 0FDD 2301 6296 690F  6A47 D55A 7172 A799 97F

I never had a dream come true
'Til the day that I found you.
Even though I pretend that I've moved on
You'll always be my baby.
I never found the words to say
You're the one I think about each day
And I know no matter where life takes me to
A part of me will always be...
A part of me will always be with you.