View previous topic :: View next topic |
Author |
Message |
charlieg Advocate
Joined: 30 Jul 2002 Posts: 2149 Location: Manchester UK
|
Posted: Wed Dec 04, 2002 12:41 pm Post subject: Can't get mod_perl-1.99.07 to compile |
|
|
Code: | make: *** No rule to make target `pure_vendor_install', needed by `pure_install'. Stop.
!!! ERROR: dev-perl/mod_perl-1.99.07 failed.
!!! Function src_install, Line 38, Exitcode 2
!!! (no error message) |
I had a look on google (there wasn't anything relevant in these forums) and came up with this from the debian alpha lists:
Code: | i'm trying to build pilot-link from unstable, but i get this:
libtool: install: warning: remember to run `libtool --finish /usr/lib'
make[1]: *** No rule to make target `pure_vendor_install', needed by `pure_install'. Stop.
make: *** [pre-binary-stamp] Error 2
apparently the pure_vendor_install target is missing from the makefile in
tools/Perl5. |
I'm not sure how relevant that is though. _________________ Want Free games?
Free Gamer - open source games list & commentary
Open source web-enabled rich UI platform: Vexi
Last edited by charlieg on Fri Dec 06, 2002 12:32 am; edited 1 time in total |
|
Back to top |
|
|
rac Bodhisattva
Joined: 30 May 2002 Posts: 6553 Location: Japanifornia
|
Posted: Wed Dec 04, 2002 6:50 pm Post subject: |
|
|
If that's the case, you can try looking in that directory for a Makefile.PL, and calling "perl Makefile.PL" on it. That should regenerate the Makefile, and might help. _________________ For every higher wall, there is a taller ladder |
|
Back to top |
|
|
charlieg Advocate
Joined: 30 Jul 2002 Posts: 2149 Location: Manchester UK
|
Posted: Fri Dec 06, 2002 1:20 am Post subject: Did a bit more homework |
|
|
I dug up this Makefile for mod_perl on man's best friend which defines the problematic 'pure_vendor_install' as:
Code: | pure_vendor_install ::
@$(MOD_INSTALL) \
read $(VENDORARCHEXP)/auto/$(FULLEXT)/.packlist \
write $(INSTALLVENDORARCH)/auto/$(FULLEXT)/.packlist \
$(INST_LIB) $(INSTALLVENDORLIB) \
$(INST_ARCHLIB) $(INSTALLVENDORARCH) \
$(INST_BIN) $(INSTALLBIN) \
$(INST_SCRIPT) $(INSTALLSCRIPT) \
$(INST_HTMLLIBDIR) $(INSTALLHTMLVENDORLIBDIR) \
$(INST_HTMLSCRIPTDIR) $(INSTALLHTMLSCRIPTDIR) \
$(INST_MAN1DIR) $(INSTALLVENDORMAN1DIR) \
$(INST_MAN3DIR) $(INSTALLVENDORMAN3DIR)
@$(WARN_IF_OLD_PACKLIST) \
$(PERL_ARCHLIB)/auto/$(FULLEXT) |
This function is omitted from the equivalent Makefile* produced for mod_perl while emerging it.
The diff of the two files is quite lengthy; any suggestions on how I should could fix it since this Makefile is supposedly automatically generated?
There was a corresponding Makefile.PL which was identical to the Makefile.PL** that came with mod_perl. So why would the generated Makefile be missing a function?
* /var/tmp/portage/mod_perl-1.99.07/work/mod_perl-1.99_07/Makefile
** /var/tmp/portage/mod_perl-1.99.07/work/mod_perl-1.99_07/Makefile.PL _________________ Want Free games?
Free Gamer - open source games list & commentary
Open source web-enabled rich UI platform: Vexi |
|
Back to top |
|
|
charlieg Advocate
Joined: 30 Jul 2002 Posts: 2149 Location: Manchester UK
|
Posted: Fri Dec 06, 2002 1:49 am Post subject: Getting closer |
|
|
Getting a bit closer after I opened my eyes and read:
Quote: | If that's the case, you can try looking in that directory for a Makefile.PL, and calling "perl Makefile.PL" on it. That should regenerate the Makefile, and might help.
|
Well it didn't regenerate the Makefile but it did spit out this rather handy error:
Code: | charlie mod_perl-1.99_07 # perl Makefile.PL
mod_perl/1.27 installation detected...not ok
!!! cannot install mod_perl/1.99_07 on top of mod_perl/1.27
!!! use MP_INST_APACHE2=1 option or to force installation delete:
/usr/lib/perl5/site_perl/5.6.1/i686-linux/mod_perl.pm
|
So 'emerge unmerge mod_perl' commences to lose 1.27 but the emerge fails on 1.99.07 afterwards with the exact same results. Back to 'perl Makefile.PL':
Code: | charlie mod_perl-1.99_07 # perl Makefile.PL
readline() on closed filehandle Apache::Build::$fh at lib/Apache/Build.pm line 697.
!!! Unable to open /usr/ap_release.h: No such file or directory
!!! Unable to open /usr/ap_release.h: No such file or directory
!!! Unable to determine server version, aborting.
!!! Please specify MP_APXS or MP_AP_PREFIX. |
A quick explanation from the mod_perl2 docs suggests that I should try the following:
Code: | charlie mod_perl-1.99_07 # perl Makefile.PL MP_AP_PREFIX=/usr/include/apache2
Reading Makefile.PL args from @ARGV
MP_AP_PREFIX = /usr/include/apache2
!!! invalid MP_AP_PREFIX: include/ directory not found in /usr/include/apache2 |
/usr/include/apache2 is definitely where the include files are.
I could emerge -f apache to get the apache2 sources but I shouldn't have to and will hold it as plan B for now.
Well that's as far as I've gotten. Not only is it late but I'm not (yet) a perl buff.
Please, any ideas? _________________ Want Free games?
Free Gamer - open source games list & commentary
Open source web-enabled rich UI platform: Vexi |
|
Back to top |
|
|
kabel n00b
Joined: 15 Dec 2002 Posts: 1
|
Posted: Sun Dec 15, 2002 10:01 pm Post subject: Re: Getting closer |
|
|
charlieg wrote: |
Code: | charlie mod_perl-1.99_07 # perl Makefile.PL MP_AP_PREFIX=/usr/include/apache2
Reading Makefile.PL args from @ARGV
MP_AP_PREFIX = /usr/include/apache2
!!! invalid MP_AP_PREFIX: include/ directory not found in /usr/include/apache2 |
/usr/include/apache2 is definitely where the include files are.
|
he searches for an include dir under /usr/include/apache2.
create a symlink to it. |
|
Back to top |
|
|
doug-x07 Tux's lil' helper
Joined: 16 Nov 2002 Posts: 122 Location: Paris, France
|
Posted: Sun Dec 15, 2002 11:46 pm Post subject: |
|
|
The mod_perl documentation for 1.99_07 suggest running Makefile.pl like this:
Code: | perl Makefile.PL MP_AP_PREFIX=/usr/local/apache2
|
I haven't tried it out myself, but give it a go and see if it solves the makefile problem. _________________ #! /usr/bin/perl
if( @first != $succeed ) {
post { $question->forum && eval '$answers' };
try { $again } catch { $problem && $resolve };
bless $posters; } |
|
Back to top |
|
|
Oo.et.oO Apprentice
Joined: 23 Apr 2002 Posts: 291 Location: burlington
|
Posted: Wed Jan 22, 2003 6:00 pm Post subject: argh |
|
|
doug-x07 wrote: | The mod_perl documentation for 1.99_07 suggest running Makefile.pl like this:
Code: | perl Makefile.PL MP_AP_PREFIX=/usr/local/apache2
|
|
this is what happened with mine:
Code: | [root@byzantine:/var/tmp/portage/mod_perl-1.99.07/work/mod_perl-1.99_07]# perl Makefile.PL
readline() on closed filehandle $fh at lib/Apache/Build.pm line 697.
!!! Unable to open /usr/ap_release.h: No such file or directory
!!! Unable to open /usr/ap_release.h: No such file or directory
!!! Unable to determine server version, aborting.
!!! Please specify MP_APXS or MP_AP_PREFIX.
|
Code: | [root@byzantine:/var/tmp/portage/mod_perl-1.99.07/work/mod_perl-1.99_07]# perl Makefile.PL MP_AP_PREFIX=/usr/include/apache2
Reading Makefile.PL args from @ARGV
MP_AP_PREFIX = /usr/include/apache2
!!! invalid MP_AP_PREFIX: include/ directory not found in /usr/include/apache2
[root@byzantine:/var/tmp/portage/mod_perl-1.99.07/work/mod_perl-1.99_07]# ln -s /usr/include/apache2 /usr/include/apache2/include
[root@byzantine:/var/tmp/portage/mod_perl-1.99.07/work/mod_perl-1.99_07]# perl Makefile.PL MP_AP_PREFIX=/usr/include/apache2
Reading Makefile.PL args from @ARGV
MP_AP_PREFIX = /usr/include/apache2
Configuring Apache/2.0.44 mod_perl/1.99_07 Perl/v5.8.0
(snip....)
Writing Makefile for mod_perl
*** mod_perl dso library will be built as mod_perl.so
*** mod_perl static library will be built as mod_perl.a
*** You'll need to add the following to httpd.conf:
*** LoadModule perl_module modules/mod_perl.so
|
so you have to change the MP_AP_PREFIX in the ebuild file in (my case):
/usr/portage/dev-perl/mod_perl/mod_perl-1.99.07.ebuild
(note that the mod_perl2 docs also say that one should use MP_AP_PREFIX instead of
MP_APXS
Code: | src_compile() {
perl Makefile.PL \
PREFIX=${D}/usr \
MP_TRACE=1 \
MP_DEBUG=1 \
MP_AP_PREFIX=/usr/include/apache2 \
MP_USE_DSO=1 \
MP_INST_APACHE2=1 \
MP_APXS=/usr/sbin/apxs2 \
CCFLAGS="${CFLAGS} -fPIC" \
INSTALLDIRS=vendor </dev/null || die
emake || die
#make test
}
|
but it still craps in the emerge:
Code: |
!!! ERROR: dev-perl/mod_perl-1.99.07 failed.
!!! Function src_compile, Line 29, Exitcode 2
!!! (no error message)
|
what a great error message! |
|
Back to top |
|
|
Oo.et.oO Apprentice
Joined: 23 Apr 2002 Posts: 291 Location: burlington
|
Posted: Wed Jan 22, 2003 7:02 pm Post subject: 1.99.08 works |
|
|
so i made an ebuild for 1.99.08 and that works just fine!
i left in my ebuild changes from above to MP_AP whatever
and i copied the 07 ebuild over. i changed the source URI though:
SRC_URI="http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz"
of course that won't remain correct when mod_perl2 is updated. but it works for now.
okay so here is my ebuild just for yayas:
mod_perl-1.99.08.ebuild
Code: | DESCRIPTION="An embedded Perl interpreter for Apache2"
HOMEPAGE="http://perl.apache.org/"
NEWP="${PN}-1.99_08"
S=${WORKDIR}/${NEWP}
SRC_URI="http://perl.apache.org/dist/mod_perl-2.0-current.tar.gz"
DEPEND="sys-devel/perl =net-www/apache-2*"
LICENSE="GPL-2"
KEYWORDS="~x86"
IUSE=""
SLOT="1"
src_compile() {
perl Makefile.PL \
PREFIX=${D}/usr \
MP_TRACE=1 \
MP_DEBUG=1 \
MP_AP_PREFIX=/usr/include/apache2 \
MP_USE_DSO=1 \
MP_INST_APACHE2=1 \
MP_APXS=/usr/sbin/apxs2 \
CCFLAGS="${CFLAGS} -fPIC" \
INSTALLDIRS=vendor </dev/null || die
emake || die
#make test
}
src_install() {
dodir /usr/lib/apache2-extramodules
make install \
MODPERL_AP_LIBEXECDIR=${D}/usr/lib/apache2-extramodules \
MP_INST_APACHE2=1 \
INSTALLDIRS=vendor || die
insinto /etc/apache2/conf/modules.d
doins ${FILESDIR}/75_mod_perl.conf \
${FILESDIR}/apache2-mod_perl-startup.pl
dodoc ${FILESDIR}/75_mod_perl.conf Changes \
INSTALL LICENSE README STATUS
cp -a docs ${D}/usr/share/doc/${PF}
cp -a todo ${D}/usr/share/doc/${PF}
}
|
yeehaw |
|
Back to top |
|
|
corporate_gadfly n00b
Joined: 21 Sep 2002 Posts: 29
|
Posted: Fri Jan 24, 2003 7:53 pm Post subject: Re: 1.99.08 works |
|
|
Oo.et.oO wrote: | so i made an ebuild for 1.99.08 and that works just fine!
|
So, I have a successful build for 1.99.07 by using the patch as mentioned in bug 14385 in the 2nd comment https://bugs.gentoo.org/show_bug.cgi?id=14385#c2
Let me know if this works for you. The patch is rather kludgy hopefully the maintainers will find a more elegant fix.
Edited: The patch for 1.99.07 linked to above has been superceded by a new build for mod_perl 1.99.08. For most people 1.99.08 will build out of the box from the ebuild in portage. If that's not the case, then you are encouraged to go to Gentoo bugs
Last edited by corporate_gadfly on Fri Feb 07, 2003 2:03 pm; edited 1 time in total |
|
Back to top |
|
|
cdw n00b
Joined: 05 Nov 2002 Posts: 5 Location: Irvine, CA
|
Posted: Thu Feb 06, 2003 11:16 pm Post subject: Same Problem |
|
|
I have been trying to emerge mod_perl-1.99.08 and I'm getting the same error.
Code: |
make[1]: Entering directory `/var/tmp/portage/mod_perl-1.99.08/work/mod_perl-1.99_08/src/modules/perl'
/usr/bin/perl -e "exit ! -d qq{/var/tmp/portage/mod_perl-1.99.08/image//usr/lib/apache2-extramodules}" || \
/usr/bin/perl -MExtUtils::Command \
-e mkpath /var/tmp/portage/mod_perl-1.99.08/image//usr/lib/apache2-extramodules
test -f mod_perl.so && \
cp mod_perl.so /var/tmp/portage/mod_perl-1.99.08/image//usr/lib/apache2-extramodules
make[1]: Leaving directory `/var/tmp/portage/mod_perl-1.99.08/work/mod_perl-1.99_08/src/modules/perl'
make: *** No rule to make target `pure_vendor_install', needed by `pure_install'. Stop.
|
I tried the .08 patch listed above and still no workie. Any ideas? |
|
Back to top |
|
|
corporate_gadfly n00b
Joined: 21 Sep 2002 Posts: 29
|
Posted: Fri Feb 07, 2003 1:59 pm Post subject: Re: Same Problem |
|
|
cdw wrote: | I have been trying to emerge mod_perl-1.99.08 and I'm getting the same error.
I tried the .08 patch listed above and still no workie. Any ideas? |
Something peculiar is going on. I just re-emerged dev-perl/mod_perl-1.99.08 without any problems (my apache is 2.0.44). Post a bug on bugs.gentoo.org with your environment. gcc3 or gcc2? I'm on gcc 3. |
|
Back to top |
|
|
cdw n00b
Joined: 05 Nov 2002 Posts: 5 Location: Irvine, CA
|
Posted: Fri Feb 07, 2003 5:08 pm Post subject: |
|
|
Will do, I'm on gcc3 as well, apache 2.0.44, and perl 5.6.1. I'm going to try going to 5.8.0-r09 and see if that works. I'll keep this thread posted and I'll submit a bug, with the fix if it works. |
|
Back to top |
|
|
cdw n00b
Joined: 05 Nov 2002 Posts: 5 Location: Irvine, CA
|
Posted: Fri Feb 07, 2003 7:29 pm Post subject: |
|
|
It worked, once I emerge perl-5.8.0 the build of mod_perl-1.99.08 worked flawlessly. 5.8.0 should be a dependant of mod_perl-1.99.08. |
|
Back to top |
|
|
|