Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Can't get mod_perl-1.99.07 to compile
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
charlieg
Advocate
Advocate


Joined: 30 Jul 2002
Posts: 2149
Location: Manchester UK

PostPosted: Wed Dec 04, 2002 12:41 pm    Post subject: Can't get mod_perl-1.99.07 to compile Reply with quote

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
View user's profile Send private message
rac
Bodhisattva
Bodhisattva


Joined: 30 May 2002
Posts: 6553
Location: Japanifornia

PostPosted: Wed Dec 04, 2002 6:50 pm    Post subject: Reply with 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.
_________________
For every higher wall, there is a taller ladder
Back to top
View user's profile Send private message
charlieg
Advocate
Advocate


Joined: 30 Jul 2002
Posts: 2149
Location: Manchester UK

PostPosted: Fri Dec 06, 2002 1:20 am    Post subject: Did a bit more homework Reply with quote

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
View user's profile Send private message
charlieg
Advocate
Advocate


Joined: 30 Jul 2002
Posts: 2149
Location: Manchester UK

PostPosted: Fri Dec 06, 2002 1:49 am    Post subject: Getting closer Reply with quote

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.

:cry:

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
View user's profile Send private message
kabel
n00b
n00b


Joined: 15 Dec 2002
Posts: 1

PostPosted: Sun Dec 15, 2002 10:01 pm    Post subject: Re: Getting closer Reply with quote

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
View user's profile Send private message
doug-x07
Tux's lil' helper
Tux's lil' helper


Joined: 16 Nov 2002
Posts: 122
Location: Paris, France

PostPosted: Sun Dec 15, 2002 11:46 pm    Post subject: Reply with quote

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
View user's profile Send private message
Oo.et.oO
Apprentice
Apprentice


Joined: 23 Apr 2002
Posts: 291
Location: burlington

PostPosted: Wed Jan 22, 2003 6:00 pm    Post subject: argh Reply with quote

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! :roll: :evil: :?:
Back to top
View user's profile Send private message
Oo.et.oO
Apprentice
Apprentice


Joined: 23 Apr 2002
Posts: 291
Location: burlington

PostPosted: Wed Jan 22, 2003 7:02 pm    Post subject: 1.99.08 works Reply with quote

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
View user's profile Send private message
corporate_gadfly
n00b
n00b


Joined: 21 Sep 2002
Posts: 29

PostPosted: Fri Jan 24, 2003 7:53 pm    Post subject: Re: 1.99.08 works Reply with quote

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
View user's profile Send private message
cdw
n00b
n00b


Joined: 05 Nov 2002
Posts: 5
Location: Irvine, CA

PostPosted: Thu Feb 06, 2003 11:16 pm    Post subject: Same Problem Reply with quote

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
View user's profile Send private message
corporate_gadfly
n00b
n00b


Joined: 21 Sep 2002
Posts: 29

PostPosted: Fri Feb 07, 2003 1:59 pm    Post subject: Re: Same Problem Reply with quote

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
View user's profile Send private message
cdw
n00b
n00b


Joined: 05 Nov 2002
Posts: 5
Location: Irvine, CA

PostPosted: Fri Feb 07, 2003 5:08 pm    Post subject: Reply with quote

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
View user's profile Send private message
cdw
n00b
n00b


Joined: 05 Nov 2002
Posts: 5
Location: Irvine, CA

PostPosted: Fri Feb 07, 2003 7:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum