httpd-apreq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Edward J. Sabol" <>
Subject Re: libapreq2-2.02-dev build problems with Perl 5.6.1
Date Thu, 11 Dec 2003 00:52:55 GMT
> 2. "perl5.6.1 Makefile.PL --with-apache2-apxs=/usr/wwwserver/apache/bin/apxs"
>    didn't work out of the box for me. We have multiple versions of perl
>    installed in our environment, and I needed to specifically use perl5.6.1.
>    (For legacy reasons that I have no control over, perl points to an older
>    version of Perl.) Anyway, perl5.6.1's $Config{perlpath} points to
>    /usr1/local/bin/perl instead of /usr1/local/bin/perl5.6.1, so the version
>    checks failed. I hacked at Makefile.PL to append "5.6.1" to the PERL_PATH
>    definition, and I was able to get Makefile.PL working.

Let me rephrase this problem slightly: The PERL_PATH constant in Makefile.PL
is defined to be $Config{perlpath}. However, if you rename or move the perl
executable after you build it, then $Config{perlpath} will not point to the
perl executable being used to invoke Makefile.PL. Frankly, I don't think this
is an uncommon occurrence. One possible solution is to pass
"--with-perl=/path/to/perl" to Makefile.PL and set PERL_PATH using that
value, if provided, or $Config{perlpath} otherwise.

Stas asked:
> Can we see your 'perl -V'?

Summary of my perl5 (revision 5.0 version 6 subversion 1) configuration:
    osname=linux, osvers=2.2.19, archname=i686-linux
    uname='linux pretzel 2.2.19 #2 thu apr 26 13:20:32 edt 2001 i686 unknown '
    config_args='-ds -e -Dprefix=/usr1/local'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef
    useperlio=undef d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    cc='cc', ccflags ='-fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    ccversion='', gccversion='egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)', 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, usemymalloc=n, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lc -lposix -lcrypt -lutil
    perllibs=-lnsl -ldl -lm -lc -lposix -lcrypt -lutil
    libc=/lib/, so=so, useshrplib=false, libperl=libperl.a
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fpic', lddlflags='-shared -L/usr/local/lib'

Characteristics of this binary (from libperl): 
  Compile-time options: USE_LARGE_FILES
  Built under linux
  Compiled at Mar 18 2002 17:08:19

> it builds fine for me with 5.6.1. I suppose it shouldn't since 5.6.1 doesn't 
> have some of the functions that were used.
> Please try the following patch:
> next drop the attached ppport.h into glue/perl/xsbuilder/, now try to rebuild 
> from scratch.

I blew away my build directory and started from scratch. First, I applied the
patch and then I copied ppport.h into glue/perl/xsbuilder/. Then I proceeded
to build it. There are a lot fewer errors this time, but Cookie.c still fails
to compile. dAX and ax are missing?

cc -c  -I.. -I../.. -I../../.. -I/var/tmp/cpan/build/libapreq2-2.02-dev/src -I/var/tmp/cpan/build/libapreq2-2.02-dev/glue/perl/xsbuilder
-I/usr/wwwserver/apache.2.0.48/include  -I/usr/wwwserver/apache.2.0.48/include   -I/usr/wwwserver/apache.2.0.48/include
 -fno-strict-aliasing  -DMOD_PERL -DMP_COMPAT_1X -O2   -DVERSION=\"2.02-dev\" -DXS_VERSION=\"2.02-dev\"
-fpic "-I/usr1/local/lib/perl5/5.6.1/i686-linux/CORE"   Cookie.c
In file included from Cookie.xs:38:
In function `apreq_xs_cookie_env':
`dAX' undeclared (first use in this function)
(Each undeclared identifier is reported only once
for each function it appears in.)
`ax' undeclared (first use in this function)
In function `apreq_xs_jar_env':
`dAX' undeclared (first use in this function)
`ax' undeclared (first use in this function)

Thank you for your assistance,

View raw message