Bug 43747

Summary: Apache2 port error
Product: Base System Reporter: akruijff
Component: miscAssignee: freebsd-bugs (Nobody) <bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Unspecified   
Hardware: Any   
OS: Any   

Description akruijff 2002-10-06 18:00:24 UTC
     I updated the apache2 port with portupgrade. It was not posible to restart the webserver was afther that. Afther this i updated my sources againg and forced a install througth the port system. Same result.

Intranet# apachectl restart
httpd: module "sapi_apache2.c" is not compatible with this version of Apache (found 20020628, need 20020903).
Please contact the vendor for the correct version.

How-To-Repeat:      Update your sources and update a apache2 sw then try to restart the sw.
Comment 1 hoosterman 2002-10-07 09:28:42 UTC
After the portupgrade of apache2, I upgraded mod_php4.
That fixed the problem. So check all modules installed
separate from apache2.

A portupgrade -r will probabely fix this problem.
Comment 2 freebsd-reply 2002-10-08 10:37:31 UTC
Hello/Beste Harry,

Monday, October 07, 2002, 10:28:42 AM, you wrote:

HO> After the portupgrade of apache2, I upgraded mod_php4.
HO> That fixed the problem. So check all modules installed
HO> separate from apache2.

HO> A portupgrade -r will probabely fix this problem.

Tanks for you help, but i still have the problem.
I made the following two aliases which i use for updating.
pv = portversion | grep -v '='
pu = potupgrade -Rr

Intranet# pv
XFree86-Server              <
XFree86-clients             <
cups-base                   <
pkg_tarup                   ?
samba                       <

Intranet# apachectl restart
httpd: module "sapi_apache2.c" is not compatible with this version of Apache (found 20020628, need 20020903).
Please contact the vendor for the correct version.



-- 
Best regards/Met vriendelijke groet,
Alex
Comment 3 Peter Pentchev 2002-10-08 12:23:54 UTC
On Tue, Oct 08, 2002 at 02:40:02AM -0700, Alex wrote:
> The following reply was made to PR misc/43747; it has been noted by GNATS.
> 
>  Hello/Beste Harry,
>  
>  Monday, October 07, 2002, 10:28:42 AM, you wrote:
>  
>  HO> After the portupgrade of apache2, I upgraded mod_php4.
>  HO> That fixed the problem. So check all modules installed
>  HO> separate from apache2.
>  
>  HO> A portupgrade -r will probabely fix this problem.
>  
>  Tanks for you help, but i still have the problem.
>  I made the following two aliases which i use for updating.
>  pv = portversion | grep -v '='
>  pu = potupgrade -Rr
>  
>  Intranet# pv
>  XFree86-Server              <
>  XFree86-clients             <
>  cups-base                   <
>  pkg_tarup                   ?
>  samba                       <
>  
>  Intranet# apachectl restart
>  httpd: module "sapi_apache2.c" is not compatible with this version of Apache (found 20020628, need 20020903).
>  Please contact the vendor for the correct version.

I think Harry is not saying that your mod_php4 port is out-of-date with
respect to the FreeBSD Ports Collection.  Its version has not been
changed, so portversion would not report it as being out-of-date.

What has changed, though, is the Apache 2 code itself.  The PHP module
uses some functions and library calls from the Apache server source;
whenever the Apache code changes, there is a chance that some of the API
calls would change - either become invalid, or do something else, with
bad, unintended consequences either way.  Thus, there is a version check
at module loading time: the Apache binary queries the module, obtains
the Apache API version for which it was built, and compares it with its
own.

Apparently, the Apache developers considered that the changes made
between those two versions were significant enough that they may impact
third-party modules using the Apache API.  Thus, your PHP module, built
for the old version of Apache, is not really safe to run with the new
one.  Remove the PHP module, rebuild it, and it will pick up the
currently installed Apache version and work just fine.

G'luck,
Peter

-- 
Peter Pentchev	roam@ringlet.net	roam@FreeBSD.org
PGP key:	http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint	FDBA FD79 C26F 3C51 C95E  DF9E ED18 B68D 1619 4553
When you are not looking at it, this sentence is in Spanish.
Comment 4 freebsd-reply 2002-10-08 18:58:56 UTC
Hello/Beste Peter,

Tuesday, October 08, 2002, 1:23:54 PM, you wrote:

PP> On Tue, Oct 08, 2002 at 02:40:02AM -0700, Alex wrote:
>> The following reply was made to PR misc/43747; it has been noted by GNATS.
>> 
>>  Hello/Beste Harry,
>>  
>>  Monday, October 07, 2002, 10:28:42 AM, you wrote:
>>  
>>  HO> After the portupgrade of apache2, I upgraded mod_php4.
>>  HO> That fixed the problem. So check all modules installed
>>  HO> separate from apache2.
>>  
>>  HO> A portupgrade -r will probabely fix this problem.
>>  
>>  Tanks for you help, but i still have the problem.
>>  I made the following two aliases which i use for updating.
>>  pv = portversion | grep -v '='
>>  pu = potupgrade -Rr
>>  
>>  Intranet# pv
>>  XFree86-Server              <
>>  XFree86-clients             <
>>  cups-base                   <
>>  pkg_tarup                   ?
>>  samba                       <
>>  
>>  Intranet# apachectl restart
>>  httpd: module "sapi_apache2.c" is not compatible with this version of Apache (found 20020628, need 20020903).
>>  Please contact the vendor for the correct version.

PP> I think Harry is not saying that your mod_php4 port is out-of-date with
PP> respect to the FreeBSD Ports Collection.  Its version has not been
PP> changed, so portversion would not report it as being out-of-date.

PP> What has changed, though, is the Apache 2 code itself.  The PHP module
PP> uses some functions and library calls from the Apache server source;
PP> whenever the Apache code changes, there is a chance that some of the API
PP> calls would change - either become invalid, or do something else, with
PP> bad, unintended consequences either way.  Thus, there is a version check
PP> at module loading time: the Apache binary queries the module, obtains
PP> the Apache API version for which it was built, and compares it with its
PP> own.

PP> Apparently, the Apache developers considered that the changes made
PP> between those two versions were significant enough that they may impact
PP> third-party modules using the Apache API.  Thus, your PHP module, built
PP> for the old version of Apache, is not really safe to run with the new
PP> one.  Remove the PHP module, rebuild it, and it will pick up the
PP> currently installed Apache version and work just fine.

PP> G'luck,
PP> Peter


Tanks, that did the trick.

-- 
Best regards/Met vriendelijke groet,
Alex
Comment 5 Peter Pentchev freebsd_committer freebsd_triage 2002-10-09 10:47:15 UTC
State Changed
From-To: open->closed

The submitter confirmed that updating the mod_php4 port did the trick. 
In fact, it would be wise, if a bit time-consuming, to always update all 
dependent ports when updating any port.