mod_perl installation and non-standard perl path in FreeBSD
Hoping there might be another FreeBSD user here who may have been through this already... For reasons I don't want to trouble you with, I had to install the latest perl freebsd port into /usr/local/rt3/perl/ and now I need to get mod_perl to compile against that version. I edited the freebsd port Makefile and added MOD_PERLCONFIG=/usr/local/rt3/perl/bin/perl to CONFIGURE_ARGS and I edited the shebang line in /usr/local/bin/apxs to point to my new installation of perl. Then, I tried using this cli in the mod_perl port directory. bash-2.05b# PERL5LIB=/usr/local/rt3/perl/lib/site_perl/5.8.2/i386-freebsd PREFIX=/usr/local/rt3/perl SITE_PERL=/usr/local/rt3/perl/lib/site_perl make While pieces of the compile output show that it is using /usr/local/rt3/perl/*, most of it shows that it's pulling from /usr/local/lib/perl5/* for libs. I even combed through the work directory and manually changed the references to the perl binary to /usr/local/rt3/perl/bin/perl with no luck. Same results every time. And yes, I've been doing a make clean in between compiles. I have also editied the /etc/make.conf file so that the perl options are: # grep PERL /etc/make.conf | grep '^[^#]' PERL_VER=5.8.2 PERL_VERSION=5.8.2 SITE_PERL=/usr/local/rt3/perl/lib/site_perl/${PERL_VER} PERL_ARCH=mach PERL5=/usr/local/rt3/perl/bin/perl PERL=/usr/local/rt3/perl/bin/perl NOPERL=yo NO_PERL=yo NO_PERL_WRAPPER=yo However, it doesn't even try to build the port now... # make Dependency error: you don't have the right version of perl in /usr/bin. *** Error code 1 Stop in /usr/ports/www/mod_perl. I monkeyed with port's Makefile and added the variables there as well. # grep PERL Makefile | grep '^[^#]' MASTER_SITES= ${MASTER_SITE_PERL_CPAN} ${SITE_PERL}/LWP.pm:${PORTSDIR}/www/p5-libwww PERL_VER=5.8.2 PERL_VERSION=5.8.2 SITE_PERL=/usr/local/rt3/perl/lib/site_perl/${PERL_VER} PERL= /usr/local/rt3/perl/bin/perl PERL5= /usr/local/rt3/perl/bin/perl FULLPERL= /usr/local/rt3/perl/bin/perl PERL_CONFIGURE= yes CONFIGURE_ARGS+=USE_APXS=1 EVERYTHING=1 INSTALLSITELIB=${SITE_PERL} \ MOD_PERLCONFIG=/usr/local/rt3/perl/bin/perl \ INSTALLSITEARCH=${SITE_PERL}/${PERL_ARCH} \ PERL_EXTRA_CFLAGS='-DDEFAULT_PATH="/usr/local/rt3/perl/bin" -DAPPLLIB_EXP="/usr/local/rt3/perl/lib/perl5/5.8.2/BSDPAN" -DMOD_PERL_PREFIX="/usr/local/rt3/perl/lib/site_perl/5.8.2/i386-freebsd" -DDEFAULT_PATH="/usr/local/rt3/perl/bin"' I'd think that things like MOD_PERL_PREFIX would help, but it's not happening. I can't alter the perl binary in /usr/bin/perl, so how can I force mod_perl to compile using the perl binary in my non-standard perl path? Any advice? -- Andy Harrison (full headers for details) -- Andy Harrison Great Works Internet System Operations (full headers for details) -- 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: mod_perl installation and non-standard perl path in FreeBSD
Andy Harrison wrote: Hoping there might be another FreeBSD user here who may have been through this already... For reasons I don't want to trouble you with, I had to install the latest perl freebsd port into /usr/local/rt3/perl/ and now I need to get mod_perl to compile against that version. Unless I miss something specific to FreeBSD ports, the whole thing should be as easy as doing: /usr/local/rt3/perl/bin/perl Makefile.PL ... && make && make test && make install I don't understand why are you trying to mess up with env vars at all. You obviously miss the first step, i.e. 'perl Makefile.PL' __ Stas BekmanJAm_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 -- 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: mod_perl installation and non-standard perl path in FreeBSD
~ On Mon, 19 Apr 2004 14:13:00 -0700, Stas Bekman wrote Subject: "Re: mod_perl installation and non-standard perl path in FreeBSD" ~ > Andy Harrison wrote: > > Hoping there might be another FreeBSD user here who may have been > > through this already... > > > > For reasons I don't want to trouble you with, I had to install the > > latest perl freebsd port into /usr/local/rt3/perl/ and now I need to > > get mod_perl to compile against that version. > > Unless I miss something specific to FreeBSD ports, the whole thing should be > as easy as doing: > > /usr/local/rt3/perl/bin/perl Makefile.PL ... && make && make test && make install > > I don't understand why are you trying to mess up with env vars at all. You > obviously miss the first step, i.e. 'perl Makefile.PL' I was hoping to get it working within the ports framework for future maintainability. Since I'm not using a standard dir anyway, it doesn't look like it's going to be possible or worth any further effort. Anyway, one more question related to this. When building via apaci, it says to use APACHE_PREFIX. What exactly is it looking for? FreeBSD doesn't install apache in a traditional spot all under one directory, such as /usr/local/apache. It seems reasonable that it is looking for the directory where libperl.so is going to live (/usr/local/libexec/apache under FreeBSD). Is this a good assumption? -- Andy Harrison Great Works Internet System Operations (full headers for details) -- Andy Harrison Great Works Internet System Operations (full headers for details) -- 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: mod_perl installation and non-standard perl path in FreeBSD
Andy Harrison wrote: ~ On Mon, 19 Apr 2004 14:13:00 -0700, Stas Bekman wrote Subject: "Re: mod_perl installation and non-standard perl path in FreeBSD" ~ Andy Harrison wrote: > Hoping there might be another FreeBSD user here who may have been > through this already... > > For reasons I don't want to trouble you with, I had to install the > latest perl freebsd port into /usr/local/rt3/perl/ and now I need to > get mod_perl to compile against that version. Unless I miss something specific to FreeBSD ports, the whole thing should be as easy as doing: /usr/local/rt3/perl/bin/perl Makefile.PL ... && make && make test && make install I don't understand why are you trying to mess up with env vars at all. You obviously miss the first step, i.e. 'perl Makefile.PL' I was hoping to get it working within the ports framework for future maintainability. Since I'm not using a standard dir anyway, it doesn't look like it's going to be possible or worth any further effort. Anyway, one more question related to this. When building via apaci, it says to use APACHE_PREFIX. What exactly is it looking for? FreeBSD doesn't install apache in a traditional spot all under one directory, such as /usr/local/apache. It seems reasonable that it is looking for the directory where libperl.so is going to live (/usr/local/libexec/apache under FreeBSD). Is this a good assumption? I guess not. http://perl.apache.org/docs/1.0/guide/install.html#APACHE_PREFIX "mp1's APACHE_PREFIX" == "apache 1.3's --prefix=" If it doesn't apply under FreeBSD, don't use it. Instead use APACI_ARGS with an appropriate --libexecdir= flag. Please send me a patch to make this clear in the docs. Thanks. -- __ Stas BekmanJAm_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 -- 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: mod_perl installation and non-standard perl path in FreeBSD
Hi Andy, I use Apache/mod_perl under FreeBSD. I compile with Apachetoolbox[1] which is super easy. Here are the custom settings I use: --suexec-caller=www \ --suexec-docroot=/web \ --disable-rule=EXPAT \ # if using mod_ssl --enable-rule=EAPI Otherwise, I let toolbox do the work. Check the docs but I'm pretty sure that the APACHE_PREFIX path is where apache will be installed. William [1] http://apachetoolbox.com/ -- Knowmad Services Inc. http://www.knowmad.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