You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by "Furst, Carl" <Ca...@mlb.com> on 2012/05/14 23:18:33 UTC

Trouble with Makefile.PL

Hello all,

I'm having a lot of trouble trying to statically build mod_perl and apache on Solaris 10 Sparc. I get the following error when I try and build statically:

Configuring Apache/2.4.2 mod_perl/2.0.5 Perl/v5.12.3
[  error] Failed to obtain the MPM name. Please specify MP_APXS=/full/path/to/apxs to solve this problem.


Here is the command I am using:

CC=`which gcc` CPP="`which gcc` -E" perl Makefile.PL MP_AP_PREFIX=$HOME/httpd-2.4.2 MP_USE_STATIC=1 MP_AP_CONFIGURE=" \
--prefix=/cms/usr/local/www \
--with-ssl=/opt/mlb \
--enable-static-support \
--enable-mods-shared='most' --with-mpm=prefork \
--enable-mods-static='perl ssl so prefork cgi' \

`which gcc` yields: /usr/local/bin/gcc
It's version :
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6

Perl –V compiler section:
Compiler:
    cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='3.4.6', gccosandvers='solaris2.10'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define


Any ideas? I don't have apache currently installed and the docs said I didn't need it. However this would indicate that I would.

Many thanks in advance.

Carl Furst






**********************************************************

MLB.com: Where Baseball is Always On

Re: Trouble with Makefile.PL

Posted by "Furst, Carl" <Ca...@mlb.com>.
Fred,

Thanks so much for the quick response.

Going to 2.0 would be a step backward as we are running on 2.2 right now..
Changing the code in Apache2::Build actually worked (see latest post),
however now I have c include problems, but those are unrelated. The apr
libs are in a strange place. Still, I'm wondering if statically building
is really the way to go.

Here's what I changed:

 unless (($mpm_name and $self->httpd_is_source_tree)) {
        if ($self->dir) {
            my $config_vars_file = catfile $self->dir,
                "build", "config_vars.mk";
            if (open my $fh, $config_vars_file) {
                while (<$fh>) {
                    if (/(MPM_NAME|MPM_SUBDIRS) = (\w+)/) {
                        $mpm_name = $1;
                        last;
                    }
                }
                close $fh;
            }
        }
    }


And added the MPM_SUBDIRS key...





Carl Furst






On 5/14/12 7:13 PM, "Fred Moyer" <fr...@redhotpenguin.com> wrote:

>You might want to give 2.0.6 a go, which was released a few weeks ago.
>However, you'll need Apache 2.2.x, as 2.4 compatibility isn't working
>yet.
>
>On Mon, May 14, 2012 at 2:18 PM, Furst, Carl <Ca...@mlb.com> wrote:
>> Hello all,
>>
>> I'm having a lot of trouble trying to statically build mod_perl and
>>apache
>> on Solaris 10 Sparc. I get the following error when I try and build
>> statically:
>>
>> Configuring Apache/2.4.2 mod_perl/2.0.5 Perl/v5.12.3
>> [  error] Failed to obtain the MPM name. Please specify
>> MP_APXS=/full/path/to/apxs to solve this problem.
>>
>>
>> Here is the command I am using:
>>
>> CC=`which gcc` CPP="`which gcc` -E" perl Makefile.PL
>> MP_AP_PREFIX=$HOME/httpd-2.4.2 MP_USE_STATIC=1 MP_AP_CONFIGURE=" \
>> --prefix=/cms/usr/local/www \
>> --with-ssl=/opt/mlb \
>> --enable-static-support \
>> --enable-mods-shared='most' --with-mpm=prefork \
>> --enable-mods-static='perl ssl so prefork cgi' \
>>
>> `which gcc` yields: /usr/local/bin/gcc
>> It's version :
>> Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
>> Configured with: ../configure --with-as=/usr/ccs/bin/as
>> --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
>> Thread model: posix
>> gcc version 3.4.6
>>
>> Perl ­V compiler section:
>> Compiler:
>>     cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -pipe
>> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>>     optimize='-O',
>>     cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
>>     ccversion='', gccversion='3.4.6', gccosandvers='solaris2.10'
>>     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
>>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>>     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
>> lseeksize=8
>>     alignbytes=8, prototype=define
>>
>>
>> Any ideas? I don't have apache currently installed and the docs said I
>> didn't need it. However this would indicate that I would.
>>
>> Many thanks in advance.
>>
>> Carl Furst
>>
>>
>>
>>
>>
>>
>> **********************************************************
>>
>> MLB.com: Where Baseball is Always On






**********************************************************

MLB.com: Where Baseball is Always On


Re: Trouble with Makefile.PL

Posted by Fred Moyer <fr...@redhotpenguin.com>.
You might want to give 2.0.6 a go, which was released a few weeks ago.
However, you'll need Apache 2.2.x, as 2.4 compatibility isn't working
yet.

On Mon, May 14, 2012 at 2:18 PM, Furst, Carl <Ca...@mlb.com> wrote:
> Hello all,
>
> I'm having a lot of trouble trying to statically build mod_perl and apache
> on Solaris 10 Sparc. I get the following error when I try and build
> statically:
>
> Configuring Apache/2.4.2 mod_perl/2.0.5 Perl/v5.12.3
> [  error] Failed to obtain the MPM name. Please specify
> MP_APXS=/full/path/to/apxs to solve this problem.
>
>
> Here is the command I am using:
>
> CC=`which gcc` CPP="`which gcc` -E" perl Makefile.PL
> MP_AP_PREFIX=$HOME/httpd-2.4.2 MP_USE_STATIC=1 MP_AP_CONFIGURE=" \
> --prefix=/cms/usr/local/www \
> --with-ssl=/opt/mlb \
> --enable-static-support \
> --enable-mods-shared='most' --with-mpm=prefork \
> --enable-mods-static='perl ssl so prefork cgi' \
>
> `which gcc` yields: /usr/local/bin/gcc
> It's version :
> Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
> Configured with: ../configure --with-as=/usr/ccs/bin/as
> --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
> Thread model: posix
> gcc version 3.4.6
>
> Perl –V compiler section:
> Compiler:
>     cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -pipe
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
>     optimize='-O',
>     cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
>     ccversion='', gccversion='3.4.6', gccosandvers='solaris2.10'
>     intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
>     d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
>     ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t',
> lseeksize=8
>     alignbytes=8, prototype=define
>
>
> Any ideas? I don't have apache currently installed and the docs said I
> didn't need it. However this would indicate that I would.
>
> Many thanks in advance.
>
> Carl Furst
>
>
>
>
>
>
> **********************************************************
>
> MLB.com: Where Baseball is Always On

Re: Trouble with Makefile.PL

Posted by "Furst, Carl" <Ca...@mlb.com>.
So, digging deeper, it turns out that the problem here is with Apache2::Build in which the following code exists:

unless (($mpm_name and $self->httpd_is_source_tree)) {
        if ($self->dir) {
            my $config_vars_file = catfile $self->dir,
                "build", "config_vars.mk";
            if (open my $fh, $config_vars_file) {
                while (<$fh>) {
                    if (/MPM_NAME = (\w+)/) {
                        $mpm_name = $1;
                        last;
                    }
                }
                close $fh;
            }
        }
    }

However if you look at config_vars.mk... There is no MPM_NAME attribute set. Only
MPM_SUBDIRS = event
MPM_LIB = server/mpm/event/libevent.la
(yes it's not consistent with the below… these are defaults, just to see what the ./configure script without an mpm declaration would yield)

So, what's up with ./configure and Apache2::Build?? Any ideas? I'm going to change Apache2::Build for now and see if that yields any fruit in getting the mpm name.



Thanks,
Carl Furst



From: <Furst>, Carl Furst <ca...@mlb.com>>
To: "modperl@perl.apache.org<ma...@perl.apache.org>" <mo...@perl.apache.org>>
Subject: Trouble with Makefile.PL

Hello all,

I'm having a lot of trouble trying to statically build mod_perl and apache on Solaris 10 Sparc. I get the following error when I try and build statically:

Configuring Apache/2.4.2 mod_perl/2.0.5 Perl/v5.12.3
[  error] Failed to obtain the MPM name. Please specify MP_APXS=/full/path/to/apxs to solve this problem.


Here is the command I am using:

CC=`which gcc` CPP="`which gcc` -E" perl Makefile.PL MP_AP_PREFIX=$HOME/httpd-2.4.2 MP_USE_STATIC=1 MP_AP_CONFIGURE=" \
--prefix=/cms/usr/local/www \
--with-ssl=/opt/mlb \
--enable-static-support \
--enable-mods-shared='most' --with-mpm=prefork \
--enable-mods-static='perl ssl so prefork cgi' \

`which gcc` yields: /usr/local/bin/gcc
It's version :
Reading specs from /usr/local/lib/gcc/sparc-sun-solaris2.10/3.4.6/specs
Configured with: ../configure --with-as=/usr/ccs/bin/as --with-ld=/usr/ccs/bin/ld --enable-shared --enable-languages=c,c++,f77
Thread model: posix
gcc version 3.4.6

Perl –V compiler section:
Compiler:
    cc='gcc -B/usr/ccs/bin/', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O',
    cppflags='-fno-strict-aliasing -pipe -I/usr/local/include'
    ccversion='', gccversion='3.4.6', gccosandvers='solaris2.10'
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=8, prototype=define


Any ideas? I don't have apache currently installed and the docs said I didn't need it. However this would indicate that I would.

Many thanks in advance.

Carl Furst






**********************************************************

MLB.com: Where Baseball is Always On





**********************************************************

MLB.com: Where Baseball is Always On