[mp2][configure/make] - modperl

This is a discussion on [mp2][configure/make] - modperl ; 1. Problem Description: I cannot compile mod_perl for Apache2. There seem to be two issues with the Configure.PL/make-process. Configure runs through without an error but with a warning that header files have been found in an unexpected directory (see warning ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: [mp2][configure/make]

  1. [mp2][configure/make]

    1. Problem Description:

    I cannot compile mod_perl for Apache2. There seem to be two issues with the Configure.PL/make-process. Configure runs through without an error but with a warning that header files have been found in an unexpected directory (see warning message below) although I have supplied the MP_AP_PREFIX specifying the correct path (see 2.) ):

    ************* WARNING *************

    Apache headers found in unexpected location: ``/usr/local/include'', suggestions:
    *) Remove via ``rpm -e apache''
    *) Remove by hand
    *) Complain to your os vendor about their poor layout choice
    *) Complain to your sysadmin about their poor layout choice


    ************* WARNING *************


    Furthermore, make stops with the following error:


    ------------- MAKE TRACE ----------

    -c modperl_xsinit.c && mv modperl_xsinit.o modperl_xsinit.lo
    cc -I/opt/mod_perl-2.0.4/src/modules/perl -I/opt/mod_perl-2.0.4/xs -I/usr/local/apache2/include -I/usr/local/apache2/include -I/usr/local/apache2/include -fno-strict-aliasing -pipe -I/usr/local/include -I/opt/perl/lib/5.10.0/x86_64-linux/CORE -DMOD_PERL -DLINUX=2 -D_REENTRANT -D_GNU_SOURCE -DAP_HAVE_DESIGNATED_INITIALIZER -O2 -fPIC \
    -c modperl_exports.c && mv modperl_exports.o modperl_exports.lo
    rm -f mod_perl.so
    cc -shared -O2 -L/usr/local/lib \
    \
    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,-E -L/usr/local/lib -L/opt/perl/lib/5.10.0/x86_64-linux/CORE -lperl -lnsl -ldl -lm -lcrypt -lutil -lc \
    -o mod_perl.so
    /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: /opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a(gv.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC
    /opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
    collect2: ld returned 1 exit status
    make[1]: *** [mod_perl.so] Error 1
    make[1]: Leaving directory `/opt/mod_perl-2.0.4/src/modules/perl'
    make: *** [modperl_lib] Error 2

    ------------- /MAKE TRACE ----------

    As you can see, I have used Perl 5.10.0, but the error is the same when using Perl 5.8.8

    What is also very confusing: the COnfigure.PL program is unable to find the httpd binary. Again, I have specified MP_AP_PREFIX.


    Thak you very much in advance!

    2. Used Components and their Configuration:

    *** mod_perl version 2.000004

    *** using /opt/mod_perl-2.0.4/lib/Apache2/BuildConfig.pm

    *** Makefile.PL options:
    MP_APR_LIB => aprext
    MP_AP_PREFIX => /usr/local/apache2
    MP_COMPAT_1X => 0
    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
    -L/usr/local/apache2/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl



    *** /opt/perl/bin/perl -V
    Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
    Platform:
    osname=linux, osvers=2.6.16.54-0.2.5-smp, archname=x86_64-linux
    uname='linux ccintrav1 2.6.16.54-0.2.5-smp #1 smp mon jan 21 13:29:51 utc 2008 x86_64 x86_64 x86_64 gnulinux '
    config_args='-ds -e -Dprefix=/opt/perl'
    hint=recommended, useposix=true, d_sigaction=define
    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 ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='4.1.0 (SUSE Linux)', 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='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
    libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.4'
    Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib'


    Characteristics of this binary (from libperl):
    Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL
    USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO
    Built under linux
    Compiled at Aug 26 2008 19:53:03
    %ENV:
    PERL_LWP_USE_HTTP_10="1"
    @INC:
    /opt/perl/lib/5.10.0/x86_64-linux
    /opt/perl/lib/5.10.0
    /opt/perl/lib/site_perl/5.10.0/x86_64-linux
    /opt/perl/lib/site_perl/5.10.0

  2. Re: [mp2][configure/make]

    Ebner.EJ.Johannes@partner.bmw.de wrote:
    > 1. Problem Description:
    >
    > I cannot compile mod_perl for Apache2. There seem to be two issues with the Configure.PL/make-process. Configure runs through without an error but with a warning that header files have been found in an unexpected directory (see warning message below) although I have supplied the MP_AP_PREFIX specifying the correct path (see 2.) ):


    > /usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-linux/bin/ld: /opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a(gv.o): relocation R_X86_64_32 against `a local symbol' can not be used when making a shared object; recompile with -fPIC


    You need to use a perl binary that has been compiled with -fPIC (there
    is a current thread on the list regarding this issue). I have compiled
    5.8.8 with -fPIC and was able to build mod_perl successfully repeatedly
    on x86_64. The exact commands aren't in my shell history any more, but
    all of the generated Makefiles have

    CCFLAGS = -fPIC

    in them. I'll try to build later this week and post the exact process I
    used back to the list.

    > /opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
    > collect2: ld returned 1 exit status
    > make[1]: *** [mod_perl.so] Error 1
    > make[1]: Leaving directory `/opt/mod_perl-2.0.4/src/modules/perl'
    > make: *** [modperl_lib] Error 2
    >
    > ------------- /MAKE TRACE ----------
    >
    > As you can see, I have used Perl 5.10.0, but the error is the same when using Perl 5.8.8
    >
    > What is also very confusing: the COnfigure.PL program is unable to find the httpd binary. Again, I have specified MP_AP_PREFIX.
    >
    >
    > Thak you very much in advance!
    >
    > 2. Used Components and their Configuration:
    >
    > *** mod_perl version 2.000004
    >
    > *** using /opt/mod_perl-2.0.4/lib/Apache2/BuildConfig.pm
    >
    > *** Makefile.PL options:
    > MP_APR_LIB => aprext
    > MP_AP_PREFIX => /usr/local/apache2
    > MP_COMPAT_1X => 0
    > 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
    > -L/usr/local/apache2/lib -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl
    >
    >
    >
    > *** /opt/perl/bin/perl -V
    > Summary of my perl5 (revision 5 version 10 subversion 0) configuration:
    > Platform:
    > osname=linux, osvers=2.6.16.54-0.2.5-smp, archname=x86_64-linux
    > uname='linux ccintrav1 2.6.16.54-0.2.5-smp #1 smp mon jan 21 13:29:51 utc 2008 x86_64 x86_64 x86_64 gnulinux '
    > config_args='-ds -e -Dprefix=/opt/perl'
    > hint=recommended, useposix=true, d_sigaction=define
    > 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 ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    > optimize='-O2',
    > cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    > ccversion='', gccversion='4.1.0 (SUSE Linux)', 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='cc', ldflags =' -L/usr/local/lib'
    > libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64 /usr/local/lib64
    > libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    > perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    > libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
    > gnulibc_version='2.4'
    > Dynamic Linking:
    > dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    > cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib'
    >
    >
    > Characteristics of this binary (from libperl):
    > Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP USE_64_BIT_ALL
    > USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO
    > Built under linux
    > Compiled at Aug 26 2008 19:53:03
    > %ENV:
    > PERL_LWP_USE_HTTP_10="1"
    > @INC:
    > /opt/perl/lib/5.10.0/x86_64-linux
    > /opt/perl/lib/5.10.0
    > /opt/perl/lib/site_perl/5.10.0/x86_64-linux
    > /opt/perl/lib/site_perl/5.10.0
    > .
    >
    > *** Packages of interest status:
    >
    > Apache2 : -
    > Apache2::Request : -
    > CGI : 3.29
    > ExtUtils::MakeMaker: 6.42
    > LWP : -
    > mod_perl : -
    > mod_perl2 : -
    >
    >
    > 3. This is the core dump trace: (if you get a core dump):
    >
    > [CORE TRACE COMES HERE]
    >
    > This report was generated by ./REPORT on Wed Aug 27 07:42:38 2008 GMT.
    >
    > ---------------------------------------------------
    > Johannes Ebner
    > Junior System Engineer
    >
    > Computacenter AG & Co oHG für FZ-442
    > Programmentwicklung NAS-SoD Betrieb
    > Tel: 089/45712-989
    > Mobile: 0172/8462335
    > mailto: Ebner.EJ.Johann@partner.bmw.de
    > ---------------------------------------------------
    >



    --
    Red Hot Penguin Consulting LLC
    mod_perl/PostgreSQL consulting and implementation
    http://www.redhotpenguin.com/


  3. AW: [mp2][configure/make]

    Thank you very much for that info.

    I configured it with: ./Configure -de -Accflags='-fPIC' -Dprefix=/path/to/perl

    as Dan Axtell sugfgested.

    Worked perfectly. Thanks alot!



    >-----Ursprüngliche Nachricht-----
    >Von: Fred Moyer [mailto:fred@redhotpenguin.com]
    >Gesendet: Mittwoch, 27. August 2008 10:33
    >An: Ebner Johannes, (Ebner.EJ.Johannes@partner.bmw.de)
    >Cc: modperl@perl.apache.org
    >Betreff: Re: [mp2][configure/make]
    >
    >Ebner.EJ.Johannes@partner.bmw.de wrote:
    >> 1. Problem Description:
    >>
    >> I cannot compile mod_perl for Apache2. There seem to be

    >two issues with the Configure.PL/make-process. Configure runs
    >through without an error but with a warning that header files
    >have been found in an unexpected directory (see warning
    >message below) although I have supplied the MP_AP_PREFIX
    >specifying the correct path (see 2.) ):
    >
    >>

    >/usr/lib64/gcc/x86_64-suse-linux/4.1.0/../../../../x86_64-suse-
    >linux/bin/ld:
    >/opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a(gv.o):
    >relocation R_X86_64_32 against `a local symbol' can not be
    >used when making a shared object; recompile with -fPIC
    >
    >You need to use a perl binary that has been compiled with -fPIC (there
    >is a current thread on the list regarding this issue). I have
    >compiled
    >5.8.8 with -fPIC and was able to build mod_perl successfully
    >repeatedly
    >on x86_64. The exact commands aren't in my shell history any
    >more, but
    >all of the generated Makefiles have
    >
    >CCFLAGS = -fPIC
    >
    >in them. I'll try to build later this week and post the exact
    >process I
    >used back to the list.
    >
    >> /opt/perl/lib/5.10.0/x86_64-linux/CORE/libperl.a: could not

    >read symbols: Bad value
    >> collect2: ld returned 1 exit status
    >> make[1]: *** [mod_perl.so] Error 1
    >> make[1]: Leaving directory `/opt/mod_perl-2.0.4/src/modules/perl'
    >> make: *** [modperl_lib] Error 2
    >>
    >> ------------- /MAKE TRACE ----------
    >>
    >> As you can see, I have used Perl 5.10.0, but the error is

    >the same when using Perl 5.8.8
    >>
    >> What is also very confusing: the COnfigure.PL program is

    >unable to find the httpd binary. Again, I have specified MP_AP_PREFIX.
    >>
    >>
    >> Thak you very much in advance!
    >>
    >> 2. Used Components and their Configuration:
    >>
    >> *** mod_perl version 2.000004
    >>
    >> *** using /opt/mod_perl-2.0.4/lib/Apache2/BuildConfig.pm
    >>
    >> *** Makefile.PL options:
    >> MP_APR_LIB => aprext
    >> MP_AP_PREFIX => /usr/local/apache2
    >> MP_COMPAT_1X => 0
    >> 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
    >> -L/usr/local/apache2/lib -lapr-0 -lrt -lm -lcrypt -lnsl

    >-lpthread -ldl
    >>
    >>
    >>
    >> *** /opt/perl/bin/perl -V
    >> Summary of my perl5 (revision 5 version 10 subversion 0)

    >configuration:
    >> Platform:
    >> osname=linux, osvers=2.6.16.54-0.2.5-smp, archname=x86_64-linux
    >> uname='linux ccintrav1 2.6.16.54-0.2.5-smp #1 smp mon

    >jan 21 13:29:51 utc 2008 x86_64 x86_64 x86_64 gnulinux '
    >> config_args='-ds -e -Dprefix=/opt/perl'
    >> hint=recommended, useposix=true, d_sigaction=define
    >> 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 ='-fno-strict-aliasing -pipe

    >-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    >> optimize='-O2',
    >> cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    >> ccversion='', gccversion='4.1.0 (SUSE Linux)', 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='cc', ldflags =' -L/usr/local/lib'
    >> libpth=/usr/local/lib /lib /usr/lib /lib64 /usr/lib64

    >/usr/local/lib64
    >> libs=-lnsl -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    >> perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    >> libc=/lib/libc-2.4.so, so=so, useshrplib=false, libperl=libperl.a
    >> gnulibc_version='2.4'
    >> Dynamic Linking:
    >> dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    >> cccdlflags='-fPIC', lddlflags='-shared -O2 -L/usr/local/lib'
    >>
    >>
    >> Characteristics of this binary (from libperl):
    >> Compile-time options: PERL_DONT_CREATE_GVSV

    >PERL_MALLOC_WRAP USE_64_BIT_ALL
    >> USE_64_BIT_INT USE_LARGE_FILES USE_PERLIO
    >> Built under linux
    >> Compiled at Aug 26 2008 19:53:03
    >> %ENV:
    >> PERL_LWP_USE_HTTP_10="1"
    >> @INC:
    >> /opt/perl/lib/5.10.0/x86_64-linux
    >> /opt/perl/lib/5.10.0
    >> /opt/perl/lib/site_perl/5.10.0/x86_64-linux
    >> /opt/perl/lib/site_perl/5.10.0
    >> .
    >>
    >> *** Packages of interest status:
    >>
    >> Apache2 : -
    >> Apache2::Request : -
    >> CGI : 3.29
    >> ExtUtils::MakeMaker: 6.42
    >> LWP : -
    >> mod_perl : -
    >> mod_perl2 : -
    >>
    >>
    >> 3. This is the core dump trace: (if you get a core dump):
    >>
    >> [CORE TRACE COMES HERE]
    >>
    >> This report was generated by ./REPORT on Wed Aug 27 07:42:38

    >2008 GMT.
    >>
    >> ---------------------------------------------------
    >> Johannes Ebner
    >> Junior System Engineer
    >>
    >> Computacenter AG & Co oHG für FZ-442
    >> Programmentwicklung NAS-SoD Betrieb
    >> Tel: 089/45712-989
    >> Mobile: 0172/8462335
    >> mailto: Ebner.EJ.Johann@partner.bmw.de
    >> ---------------------------------------------------
    >>

    >
    >
    >--
    >Red Hot Penguin Consulting LLC
    >mod_perl/PostgreSQL consulting and implementation
    >http://www.redhotpenguin.com/
    >
    >



+ Reply to Thread