Pratik wrote:
Hi !
Sorry for breaking the thread twice. It had really slipped out of my mind that I was also subscribed to dev list and I accidently posted 2 messages to mp's user list.
But here is how I sucessfully built mp2 statically.
First I tried to do this in mp2 source directory.
perl Makefile.PL MP_AP_PREFIX=/home/pratik/src/mp2/httpd-2.0.51 MP_AP_BUILD=1 MP_AP_CONFIGURE="--enable-so"
But it failed with the following errors.
[ error] Can't find apr include/ directory, [ error] use MP_APR_CONFIG=/path/to/apr-config
Then I went to apache source directory and did "./configure".
This issue is fixed in the latest CVS version.
After that, I went to mp2 source directory and did
perl Makefile.PL MP_AP_PREFIX=/home/pratik/src/mp2/httpd-2.0.51 MP_AP_BUILD=1 MP_AP_CONFIGURE="--enable-so"
It created make file successfully and then I did "make". But it failed with the following error.
/usr/bin/ld: cannot find -lapr-0
Then I did "su" and copied libapr-0.a from srclib/apr/.lib of apche source to /usr/loca/lib. After doing this, I did "make", "su" and "make install" and I got binary called "httpd" in apache source directory.
This issue will be fixed shortly, but thanks for pointing it out ;-)
I have a couiple queries related to this :
1. Is there any need for libapr-0.a to be in /usr/local/lib ? Or I can just have a proper path set in LD_LIBRARY_PATH before giving "make" ?
Yes, there was no need for that. It was a bug in mod_perl build system.
2. When I give MP_AP_BUILD=1, it is must to provide MP_AP_CONFIGURE with some value to Makefile.PL. I belive this restriction shouldn't be there.
Correct. That's why MP_AP_BUILD has been removed as a configure option. Now whenever you specify MP_USE_STATIC=1, apache will be configured and built for you.
3. When we say static mp2, I belive that all the libraries will be statically linked to the resulting binary. So, the final binary shouldn't be dependant on any library. Therefore, it shouldn't matter if I delete libapr-0.a from /usr/local/lib.
No, when we say static mp2, we mean statically linked mod_perl module to httpd. The rest of the libraries, like libapr libapr-util, etc are still dynamically loaded.
Regards, Pratik
On Sat, 18 Sep 2004 11:49:49 -0400, Stas Bekman <[EMAIL PROTECTED]> wrote:
It's a first time I'm trying to build the static mp2. Unless I'm missing something it doesn't quite work for me. I build it as:
perl Makefile.PL \ MP_INST_APACHE2=1 \ MP_USE_STATIC=1 \ MP_AP_BUILD=1 \ MP_GENERATE_XS=1 \ MP_DEBUG=1 \ MP_TRACE=1 \ MP_USE_GTOP=1 \ MP_AP_PREFIX=/home/stas/apache.org/httpd-2.0 \ MP_AP_CONFIGURE="--with-mpm=prefork" \ MP_MAINTAINER=1 \ MP_CCOPTS='-Wall -Werror' \ && make -j2 && make test
against the cvs of httpd-2.0.x (not HEAD/2.1)
----- when building against the clean source we get a non-fatal error: Unable to open /home/stas/apache.org/httpd-2.0/srclib/apr/include/apr.h: No such file or directory
that's at get_apr_config. it probably shouldn't get into that function, before apache's configure is run
-----
broken dependency: when running 'make -j':
make[2]: *** No rule to make target `/home/stas/apache.org/mp2-static/src/modules/perl/mod_perl.a', needed by `httpd'. Stop.
-----
Finally it breaks with:
LD_RUN_PATH="/usr/lib:/lib" cc -shared -L/usr/local/lib APR.o modperl_error.o modperl_bucket.o modperl_common_util.o modperl_common_log.o -L/usr/local/lib -o ../../../blib/arch/Apache2/auto/APR/APR.so -L/home/stas/apache.org/httpd-2.0/srclib/apr -lapr-0 -lrt -lm -lcrypt -lnsl -lpthread -ldl /usr//bin/ld: cannot find -lapr-0 collect2: ld returned 1 exit status
I'm not sure how was this supposed to work in first place. Since libapr is not installed yet.
-- __________________________________________________________________ Stas Bekman JAm_pH ------> Just Another mod_perl Hacker http://stason.org/ mod_perl Guide ---> http://perl.apache.org mailto:[EMAIL PROTECTED] http://use.perl.org http://apacheweek.com http://modperlbook.org http://apache.org http://ticketmaster.com
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- -------------------------------------------------------------------------------- Philippe M. Chiasson m/gozer\@(apache|cpan|ectoplasm)\.org/ GPG KeyID : 88C3A5A5 http://gozer.ectoplasm.org/ F9BF E0C2 480E 7680 1AE5 3631 CB32 A107 88C3A5A5
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
