Problems Installing On Debian - Or Not

2003-08-29 Thread Craig Shelley
Hi All,

It looked like the Debian install problems were back.

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL
* WARNING *
   
   
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
   
   
   
   
* WARNING *
!!! Unable to open 
/mnt/general/temp/modperl-2.0/../../home/craig/temp/mod_perl-1.99_09/ap_release.h: No 
such file or directory
!!! Unable to determine server version, aborting.
!!! Please specify MP_APXS or MP_AP_PREFIX.


I thought this was a bit strange, 
look at the path where it is trying to find my apache include dir. 
It should be looking in /usr/include/apache2/


Anyway, I do what it says...

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL 
MP_AP_PREFIX=/usr/include/apache2/
Reading Makefile.PL args from @ARGV
   MP_AP_PREFIX = /usr/include/apache2
* WARNING *
   
   
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
   
   
   
   
* WARNING *
!!! invalid MP_AP_PREFIX: include/ directory not found in /usr/include/apache2


Looked at first like I would have to frig the script...

After analysing Build.pm, I noticed it was 
using a load of crap data from my old installation in 
/usr/local/lib/perl/5.8.0/Apache/BuildConfig.pm

After deleting this file, i had to delete what i had got from cvs, and redownload.

The second time round I ran into more problems...

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL
* WARNING *
 
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
 
 
* WARNING *
!!! Unable to determine server version, aborting.
!!! Please specify MP_APXS or MP_AP_PREFIX.

Ok, so i specify the MP_AP_PREFIX option, since that was mentioned in the INSTALL file 
too.

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL 
MP_AP_PREFIX=/usr/include/apache2/
Reading Makefile.PL args from @ARGV
   MP_AP_PREFIX = /usr/include/apache2
* WARNING *
 
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
 
 
* WARNING *
!!! invalid MP_AP_PREFIX: include/ directory not found in /usr/include/apache2

Ah that problem again...

SOLUTION:

perl Makefile.PL MP_APXS=/usr/bin/apxs2

All problems went away.

Problems occur in debian if the MP_AP_PREFIX is used because it expects a /include dir 
to be present. 
but if the MP_APXS option is not used, the MP_AP_PREFIX is one of the tempting 
recommendations by the script.

The question here is, should the script have detected /usr/bin/apxs2 ?


-- 
Craig Shelley [EMAIL PROTECTED]

I hope the formatting of this email didn't come out too bad.



-- 
Reporting bugs: http://perl.apache.org/bugs/
Mail list info: http://perl.apache.org/maillist/modperl.html



Re: Problems Installing On Debian - Or Not

2003-08-29 Thread Stas Bekman
Craig Shelley wrote:
Hi All,

It looked like the Debian install problems were back.

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL
* WARNING *
  
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
You probably want to fix this one, at least so it won't get on the way.




* WARNING *
!!! Unable to open 
/mnt/general/temp/modperl-2.0/../../home/craig/temp/mod_perl-1.99_09/ap_release.h: No 
such file or directory
!!! Unable to determine server version, aborting.
!!! Please specify MP_APXS or MP_AP_PREFIX.
I thought this was a bit strange, 
look at the path where it is trying to find my apache include dir. 
It should be looking in /usr/include/apache2/

Anyway, I do what it says...

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL MP_AP_PREFIX=/usr/include/apache2/
Reading Makefile.PL args from @ARGV
   MP_AP_PREFIX = /usr/include/apache2
* WARNING *
  
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
  
  
* WARNING *
!!! invalid MP_AP_PREFIX: include/ directory not found in /usr/include/apache2


Looked at first like I would have to frig the script...

After analysing Build.pm, I noticed it was 
using a load of crap data from my old installation in 
/usr/local/lib/perl/5.8.0/Apache/BuildConfig.pm
So all the problems you listed above were caused by an old 
Apache/BuildConfig.pm, so we are in this code in Apache/Build.pm:

if (-e lib/$bpm and (stat _)[9]  $bpm_mtime) {
#reload if Makefile.PL has regenerated
unshift @INC, 'lib';
delete $INC{$bpm};
eval { require Apache::BuildConfig; };
shift @INC;
}
else {
eval { require Apache::BuildConfig; };
}
and the last eval is the one that picked the old config. I suppose we need to 
prompt users before we do that. Makes sense?

After deleting this file, i had to delete what i had got from cvs, and redownload.

The second time round I ran into more problems...

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL
* WARNING *
 
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
 
 
* WARNING *
!!! Unable to determine server version, aborting.
!!! Please specify MP_APXS or MP_AP_PREFIX.

Ok, so i specify the MP_AP_PREFIX option, since that was mentioned in the INSTALL file too.
I updated the install docs, to explain that MP_AP_PREFIX can be used only when 
everything is installed under one tree. I will fix the INSTALL file as well.

Of course MP_APXS is the best option (since it can provide all the information 
about Apache and APR), but it's still not available on win32 (Randy has a 
working prototype, but one has to download it separately from Apache). And if 
you haven't installed Apache yet (but built it), you can't use MP_APXS.

[EMAIL PROTECTED]:~/temp/modperl-2.0$ perl Makefile.PL MP_AP_PREFIX=/usr/include/apache2/
Reading Makefile.PL args from @ARGV
   MP_AP_PREFIX = /usr/include/apache2
* WARNING *
 
  Your Perl is configured to link against libgdbm,
  but libgdbm.so was not found.
  You could just symlink it to /usr/lib/libgdbm.so.1.7.3
 
 
* WARNING *
!!! invalid MP_AP_PREFIX: include/ directory not found in /usr/include/apache2

Ah that problem again...

SOLUTION:

perl Makefile.PL MP_APXS=/usr/bin/apxs2

All problems went away.

Problems occur in debian if the MP_AP_PREFIX is used because it expects a /include dir to be present. 
but if the MP_APXS option is not used, the MP_AP_PREFIX is one of the tempting recommendations by the script.

The question here is, should the script have detected /usr/bin/apxs2 ?
How could possibly it do that? We shouldn't have any hardcoded paths, since if 
we guess and you have more