You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Aleksandr Guidrevitch <pi...@tut.by> on 2004/05/13 18:20:32 UTC

libapreq help needed

Hi All,

I'm having trouble compiling libapreq in userspace.

ag@joggy mod_perl-1.29 $ cat .makepl_args.mod_perl
NO_HTTPD=1 EVERYTHING=1

ag@joggy mod_perl-1.29 $ /home/ag/apps/perl-5.8.4/bin/perl Makefile.PL
&& make && make install
ag@joggy mod_perl-1.29 $ cd ../apache_1.3.29
ag@joggy apache_1.3.29 $ cat ./myconfig.sh
make distclean
OPTIM=-O2 ./configure --prefix=/home/ag/apps/httpd-perl \
    --enable-module=proxy \
    --enable-suexec \
    --suexec-logfile=/home/ag/apps/httpd-perl/logs/suexec.log \
    --disable-module=env \
    --disable-module=negotiation \
    --disable-module=status \
    --disable-module=include \
    --disable-module=autoindex \
    --disable-module=cgi \
    --disable-module=asis \
    --disable-module=imap \
    --disable-module=actions \
    --disable-module=userdir \
    --disable-module=alias \
    --disable-module=setenvif \
    --disable-module=auth \
    --disable-module=example \
    --disable-module=access \
    --enable-module=mime \
    --enable-module=dir \
    --activate-module=src/modules/perl/libperl.a
ag@joggy apache_1.3.29 $ ./myconf.sh && make && make install
ag@joggy apache_1.3.29 $ cd ../libapreq-1.3/
ag@joggy libapreq-1.3 $ /home/ag/apps/perl-5.8.4/bin/perl Makefile.PL
ag@joggy libapreq-1.3 $ make
ake[1]: Entering directory `/home/ag/build/libapreq-1.3/c'
gcc -c   -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fpic
"-I/home/ag/apps/perl-5.8.4/lib/5.8.4/i686-linux/CORE"   apache_request.c
In file included from apache_request.c:61:
apache_request.h:5:19: httpd.h: No such file or directory
[ skipped tons of output ]
make[1]: *** [apache_request.o] Error 1
make[1]: Leaving directory `/home/ag/build/libapreq-1.3/c'
make: *** [subdirs] Error 2

If I go and edit Makefiles in ./, ./Request, ./Cookie, ./c
and add -I/home/ag/apps/httpd-perl/include to CCFLAGS, so it looks like this
CCFLAGS = -fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/home/ag/apps/httpd-perl/include
then run make I get :

ag@joggy libapreq-1.3 $ make
make[1]: Entering directory `/home/ag/build/libapreq-1.3/c'
gcc -c   -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/home/ag/apps/httpd-perl/include -O2   -DVERSION=\"\"
-DXS_VERSION=\"\" -fpic
"-I/home/ag/apps/perl-5.8.4/lib/5.8.4/i686-linux/CORE"   apache_request.c
gcc -c   -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/home/ag/apps/httpd-perl/include -O2   -DVERSION=\"\"
-DXS_VERSION=\"\" -fpic
"-I/home/ag/apps/perl-5.8.4/lib/5.8.4/i686-linux/CORE"   apache_cookie.c
gcc -c   -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
-I/home/ag/apps/httpd-perl/include -O2   -DVERSION=\"\"
-DXS_VERSION=\"\" -fpic
"-I/home/ag/apps/perl-5.8.4/lib/5.8.4/i686-linux/CORE"
apache_multipart_buffer.c
rm -rf ../blib/arch/auto/libapreq/libapreq.a
/usr/bin/ar cr ../blib/arch/auto/libapreq/libapreq.a apache_request.o
apache_cookie.o apache_multipart_buffer.o && :
../blib/arch/auto/libapreq/libapreq.a
chmod 755 ../blib/arch/auto/libapreq/libapreq.a
make[1]: Leaving directory `/home/ag/build/libapreq-1.3/c'
make[1]: Entering directory `/home/ag/build/libapreq-1.3/Request'
/home/ag/apps/perl-5.8.4/bin/perl
/home/ag/apps/perl-5.8.4/lib/5.8.4/ExtUtils/xsubpp  -typemap
/home/ag/apps/perl-5.8.4/lib/5.8.4/ExtUtils/typemap  Request.xs >
Request.xsc && mv Request.xsc Request.c
Error: 'Apache::Table' not in typemap in Request.xs, line 373
make[1]: *** [Request.c] Error 1
make[1]: Leaving directory `/home/ag/build/libapreq-1.3/Request'
make: *** [subdirs] Error 2

However, I've set EVERYTHING=1 while configuring mod_perl as you can see.

The following works ok (note the --prefix, I don't wanted to clutter
/usr/local/lib)
  ./configure
    --with-apache-includes=/home/ag/apps/httpd-perl/include
    --prefix=/home/ag/apps && make && make install
then added /home/ag/apps/lib to /etcld.conf and run /sbin/ldconfig

That doesn't help either. What's the problem ? How can I install
libapreq in my situation ?
I was unable to find similar troubles, looks like nobody is installing
mod_perl in userspace.
I'm not a C/Linux guru so I'm stuck :((

Scincerely,
Alex


P.S. May be that's irrelevant part:

ag@joggy ag $ /home/ag/apps/perl-5.8.4/bin/perl -V
Summary of my perl5 (revision 5 version 8 subversion 4) configuration:
  Platform:
    osname=linux, osvers=2.6.5-gentoo-r1, archname=i686-linux
    uname='linux joggy 2.6.5-gentoo-r1 #6 tue may 11 02:48:59 eest 2004
i686 amd athlon(tm) processor authenticamd gnulinux '
    config_args='-ds -e -Dprefix=/home/ag/apps/perl-5.8.4 -Dcc=gcc'
    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=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='gcc', ccflags ='-fno-strict-aliasing -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64',
    optimize='-O2',
    cppflags='-fno-strict-aliasing'
    ccversion='', gccversion='3.3.2 20031218 (Gentoo Linux 3.3.2-r5,
propolice-3.3-7)', 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=-lnsl -lndbm -lgdbm -ldb -ldl -lm -lcrypt -lutil -lc
    perllibs=-lnsl -ldl -lm -lcrypt -lutil -lc
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=false, libperl=libperl.a
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-Wl,-E'
    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 May 12 2004 16:51:15
  @INC:
    /home/ag/apps/perl-5.8.4/lib/5.8.4/i686-linux
    /home/ag/apps/perl-5.8.4/lib/5.8.4
    /home/ag/apps/perl-5.8.4/lib/site_perl/5.8.4/i686-linux
    /home/ag/apps/perl-5.8.4/lib/site_perl/5.8.4
    /home/ag/apps/perl-5.8.4/lib/site_perl




-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: libapreq help needed [SOLVED]

Posted by Aleksandr Guidrevitch <pi...@tut.by>.
Hello Stas,

perl Makefile.PL NO_HTTPD=1 \
  EVERYTHING=1 \
  USE_APACI=1 \
  APACHE_SRC=../apache_1.3.29/src \
  PREP_HTTPD=1

did the thing.

Thanks


-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html


Re: libapreq help needed

Posted by Stas Bekman <st...@stason.org>.
Aleksandr Guidrevitch wrote:
> Hi All,
> 
> I'm having trouble compiling libapreq in userspace.
[...]
> ake[1]: Entering directory `/home/ag/build/libapreq-1.3/c'
> gcc -c   -fno-strict-aliasing -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -O2   -DVERSION=\"\" -DXS_VERSION=\"\" -fpic
> "-I/home/ag/apps/perl-5.8.4/lib/5.8.4/i686-linux/CORE"   apache_request.c
> In file included from apache_request.c:61:
> apache_request.h:5:19: httpd.h: No such file or directory

> That doesn't help either. What's the problem ? How can I install
> libapreq in my situation ?
> I was unable to find similar troubles, looks like nobody is installing
> mod_perl in userspace.
> I'm not a C/Linux guru so I'm stuck :((

That's incorrect. You must have not read the docs:
http://perl.apache.org/docs/1.0/guide/install.html#Installation_Without_Superuser_Privileges

For some reason when you install mod_perl, apache headers don't get installed 
into the perl tree.
Try following the standard build procedure where mod_perl installs Apache and 
you will be alright.
http://perl.apache.org/docs/1.0/guide/install.html#Manual_Local_mod_perl_Enabled_Apache_Installation
And refer to the first URL to setup your local perl, so it'll find the right 
mod_perl setup.

-- 
__________________________________________________________________
Stas Bekman            JAm_pH ------> Just Another mod_perl Hacker
http://stason.org/     mod_perl Guide ---> http://perl.apache.org
mailto:stas@stason.org http://use.perl.org http://apacheweek.com
http://modperlbook.org http://apache.org   http://ticketmaster.com

-- 
Report problems: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html
List etiquette: http://perl.apache.org/maillist/email-etiquette.html