Hello,

I reply to this after so many years because I also have been frustrated for not 
being able to build a static mod_perl for apache - It has been broken for a 
very long time.

I will sum up below what I did to achieve it with with latest httpd 2.4.46 and 
mod_perl 2.0.11.

There are 2 broken checks on the Makefile.PL. I removed them (Since I am unsure 
how to fix it):

sed -i -e '1098,1102d' Apache-Test/lib/Apache/TestRun.pm; \

sed -i '51,56c push @INC, "xs/tables/current24";' lib/ModPerl/MapUtil.pm; \

Also, there's broken test on modperl_sys.c, which I removed as well.

   sed-i-e'66d' src/modules/perl/modperl_sys.c; \

I also had to build perl 5.31 with the Configure line below:

./Configure-des-Dusedevel-Duseithreads-Dldopts="-Wl,-Bstatic" -Dstatic_ext='B Compress/Raw/Bzip2 Compress/Raw/Zlib Cwd Data/Dumper Devel/Peek Digest/MD5 Digest/SHA Encode Fcntl File/DosGlob File/Glob Filter/Util/Call Hash/Util Hash/Util/FieldHash I18N/Langinfo IO IPC/SysV List/Util MIME/Base64 Math/BigInt/FastCalc Opcode POSIX PerlIO/encoding PerlIO/mmap PerlIO/scalar PerlIO/via SDBM_File Socket Storable Sys/Hostname Sys/Syslog Tie/Hash/NamedCapture Time/HiRes Time/Piece Unicode/Collate Unicode/Normalize attributes mro re threads threads/shared';

I had to explicitly remove 3 modules ([Devel/PPPort XS/APItest XS/Typemap]) 
from the -Dstatic_ext, and leave them as dynamic ones, otherwise I would end up 
with weird linker errors if they end up on libperl.a, like:

undefined symbol: boot_XS__APItest
undefined reference to boot_Devel__PPPort


I also applied 2 fixes on perl coming from Fedora:

https://src.fedoraproject.org/rpms/perl/blob/master/f/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-CBuilder-on-Li.patch
https://src.fedoraproject.org/rpms/perl/blob/master/f/perl-5.16.3-Link-XS-modules-to-libperl.so-with-EU-MM-on-Linux.patch


Hope this helps someone in the future, and that someone eventually fix this 
issue properly :)

BR.,
Emerson


On 29/09/2017 12:14, Ruben Safir wrote:
On Tue, Jul 12, 2016 at 01:48:43PM +1000, Jie Gao wrote:
* Ruben Safir <ru...@mrbrklyn.com> wrote:

Date: Mon, 11 Jul 2016 23:32:49 -0400
From: Ruben Safir <ru...@mrbrklyn.com>
To: modperl@perl.apache.org
Subject: Re: Build failure
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
  Thunderbird/45.1.1

On 07/11/2016 11:30 PM, Jie Gao wrote:
Are you using the right apxs?


This is a static build from source, I believe.  There used to be a
detailed set of examples in the docs, but no more.
Please post output of "make bugreport" in mod_perl.

Hi

I am bringing this back up again because I just fell into the trap
again, and there is no solution.  I have tried every combination of
compiling mod_perl at this point and it just doesn't function out of the
packages.

There is nothing called make bugreport.

:(

This is my attempt at a STATIC build

  perl5.26.1 Makefile.PL MP_USE_STATIC=1 MP_AP_PREFIX="$HOME/src/httpd-2.4.27" 
MP_AP_CONFIGURE="--with-mpm=prefork"

  config.status: creating build/rules.mk
  config.status: creating build/pkg/pkginfo
  config.status: creating build/config_vars.sh
  config.status: creating include/ap_config_auto.h
  config.status: include/ap_config_auto.h is unchanged
  config.status: executing default commands
  configure: summary of build options:

config.status: creating build/rules.mk
config.status: creating build/pkg/pkginfo
config.status: creating build/config_vars.sh
config.status: creating include/ap_config_auto.h
config.status: include/ap_config_auto.h is unchanged
config.status: executing default commands
configure: summary of build options:

     Server Version: 2.4.27
     Install prefix: /usr/local/apache2
     C compiler:     gcc
     CFLAGS:           -pthread
     LDFLAGS:          -L/usr/lib
     LIBS:
     CPPFLAGS:         -DLINUX -D_REENTRANT -D_GNU_SOURCE
     C preprocessor: gcc -E

Configuring Apache/2.4.27 mod_perl/2.0.10 Perl/v5.26.1
Use of uninitialized value $httpd_version in string lt at
lib/ModPerl/MapUtil.pm line 51.
Checking if your kit is complete...
Looks good
ERROR from evaluation of
/home/ruben/src/mod_perl-2.0.10/Apache-Reload/Makefile.PL: Use of
uninitialized value $v in substitution (s///) at
Apache-Test/lib/Apache/TestRun.pm line 1100.

Searching this error brought me right back to my own email from
last year.

And this is a completely new OS, Artix (arch with openrc)
This is a fresh compile of perl5.26.1 (all the binary perls failed to
work and caused Apache stop working and silently crash).

modperl 2.0.10
Apache 2.4.27

I see the Debian team has a apache 2.4 mod_perl working.  I honestly
don't know how they did it.




Regards,


Jie

Regards,


Jie

* Ruben Safir <ru...@mrbrklyn.com> wrote:

Date: Mon, 11 Jul 2016 23:00:09 -0400
From: Ruben Safir <ru...@mrbrklyn.com>
To: Ruben Safir <ru...@mrbrklyn.com>
CC: modperl@perl.apache.org
Subject: Re: Build failure
User-Agent: Mutt/1.5.21 (2010-09-15)

no activity?


On Sun, Jul 10, 2016 at 04:43:25AM -0400, Ruben Safir wrote:
I'm trying to build modperl with apache source and it is failing
this is
modperl 2.0.9
apache 2.4.20
Perl 5.24 stock from Manjaro

% perl Makefile.PL MP_USE_STATIC=1         MP_AP_PREFIX=/home/ruben/src/httpd-2.4.20/     
    MP_AP_CONFIGURE="--with-mpm=prefork"
...

Configuring Apache/2.4.20 mod_perl/2.0.9 Perl/v5.24.0
Use of uninitialized value $httpd_version in string lt at 
lib/ModPerl/MapUtil.pm line 51.
Checking if your kit is complete...
Looks good
ERROR from evaluation of 
/home/ruben/src/mod_perl-2.0.9/Apache-Reload/Makefile.PL: Use of uninitialized 
value $v in substitution (s///) at Apache-Test/lib/Apache/TestRun.pm line 1100.


--
So many immigrant groups have swept through our town
that Brooklyn, like Atlantis, reaches mythological
proportions in the mind of the world - RI Safir 1998
http://www.mrbrklyn.com

DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
http://www.nylxs.com - Leadership Development in Free Software
http://www2.mrbrklyn.com/resources - Unpublished Archive
http://www.coinhangout.com - coins!
http://www.brooklyn-living.com

Being so tracked is for FARM ANIMALS and and extermination camps,
but incompatible with living as a free human being. -RI Safir 2013
--
So many immigrant groups have swept through our town
that Brooklyn, like Atlantis, reaches mythological
proportions in the mind of the world - RI Safir 1998
http://www.mrbrklyn.com

DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
http://www.nylxs.com - Leadership Development in Free Software
http://www2.mrbrklyn.com/resources - Unpublished Archive
http://www.coinhangout.com - coins!
http://www.brooklyn-living.com

Being so tracked is for FARM ANIMALS and and extermination camps,
but incompatible with living as a free human being. -RI Safir 2013


--
So many immigrant groups have swept through our town
that Brooklyn, like Atlantis, reaches mythological
proportions in the mind of the world - RI Safir 1998
http://www.mrbrklyn.com

DRM is THEFT - We are the STAKEHOLDERS - RI Safir 2002
http://www.nylxs.com - Leadership Development in Free Software
http://www2.mrbrklyn.com/resources - Unpublished Archive
http://www.coinhangout.com - coins!
http://www.brooklyn-living.com

Being so tracked is for FARM ANIMALS and and extermination camps,
but incompatible with living as a free human being. -RI Safir 2013

Reply via email to