apache won't update (apache-2.2.22_5 to apache22-worker-mpm-2.2.22_8)

I unmarked CGI and marked CGID via make config in the apache22 port directory. Same error. I've spent a few hours searching, uninstalling apache22, installing apache22-worker-mpm but no luck. Anyone know what to do here?

Code:
===>>> Launching child to update apache-2.2.22_5 to apache22-worker-mpm-2.2.22_8

===>>> All >> apache-2.2.22_5 (7/7)

===>>> Currently installed version: apache-2.2.22_5
===>>> Port directory: /usr/ports/www/apache22

        ===>>> This port is marked IGNORE
        ===>>> When using a multi-threaded MPM, the module CGID should be used in place CGI.
               Please de-select CGI and select CGID instead.
               See http://httpd.apache.org/docs/2.2/mod/mod_cgi.html


        ===>>> If you are sure you can build it, remove the
               IGNORE line in the Makefile and try again.

===>>> Update for apache-2.2.22_5 failed
===>>> Aborting update
 
portmaster seems to be able to update apache22, but then when I run:
Code:
portmaster -L --index-only| egrep '(ew|ort) version|total install'
it still says I need to update apache22. Then if I try
Code:
portmaster -ad --delete-packages
it fails with the message listed in my first message.
 
Lido said:
Code:
        ===>>> This port is marked IGNORE
        ===>>> When using a multi-threaded MPM, the module CGID should be used in place CGI.
               Please de-select CGI and select CGID instead.
               See http://httpd.apache.org/docs/2.2/mod/mod_cgi.html


        ===>>> If you are sure you can build it, remove the
               IGNORE line in the Makefile and try again.

===>>> Update for apache-2.2.22_5 failed
===>>> Aborting update

As the error message says, you can continue building your apache22 port if you remove the IGNORE line from the Makefile. However, you should take note to what the message warns you with respect to CGI and CGID.
 
Ok, thanks. I was wondering. So the port apache22-mpm-worker is what is actually being used, and apache22 is being ignored? I've tried uninstalling apache22, since I've got mpm-worker installed, but that doesn't seem to work for some reason.
 
Try:

# pkg_delete -f apache\*

But check if you have anything else installed that starts with the same prefix (apache) before you run the above command.

To see if something else is installed containing the same string, give:

$ pkg_info -Ix apache

Which at some moment @wblock advised me to use :))), instead of:

$ ls /var/db/pkg | grep -i apache
 
mamalos said:
To see if something else is installed containing the same string, give:

$ pkg_info -Ix apache

Which at some moment @wblock advised me to use :))), instead of:

$ ls /var/db/pkg | grep -i apache

I also use the following command that give the port name of packages, in this specific case the command is

# pkg_info -q -o 'apache*'

to list all packages installed on the system giving the port name

# pkg_info -q -o '*' | sort -f | less
 
Lido said:
I unmarked CGI and marked CGID via make config in the apache22 port directory. Same error. I've spent a few hours searching, uninstalling apache22, installing apache22-worker-mpm but no luck. Anyone know what to do here?

With the old framework CGI was silently disabled if MPM worker or event was chosen.
With the new option framework it's not possible to disable an option at the time where the CGI/CGID check is done, therefore the ports cannot share the same OPTIONSFILE.

Try the following:
Configure inside the apache22-worker-mpm directory, not from the apache22 directory.
If you get an error remove the line apache22_(UN|SET)+=CGI (not the CGID) from /var/db/ports/apache22-worker-mpm/options.
 
Thanks. So is this a bug in the port? It's telling me that apache needs to be updated, but when I update apache22 with portmaster, it just re-installs apache22-worker-mpm and leaves apache22 at 2.2.22_5 so then portmaster or portupgrade both tell me that apache22 is out of date. I've got both installed,
Code:
# pkg_info -q -o 'apache*'
www/apache22
www/apache22-worker-mpm
..but deinstalling apach22 doesn't seem to work. I can't even figure out how to go back to prefork mpm. If I deinstall apache22-worker-mpm, I still can't install apache22 because it give the cgid vs cgi error because I'm using worker-mpm (after deinstalling the worker-mpm port).
 
Have you build apache in the past with WITH_MPM=worker ?
If yes , there was a regression since the package name was recorded as apache22 instead apache22-worker-mpm. This is fixed now for usage with pkg.

I've seen to much issues from portupgrade and others, please do a manual de-install of both recorded apache ports. Then go directly into the directory of the port you want to install www/apache22 or www/apache22-worker-mpm and do a manual # make clean config
# make install

Try first to deinstall apache22-worker-mpm and the a forced deinstall of apache22 or the other way around.
 
I deinstalled both, then reinstalled worker-mpm with this command:
Code:
make clean config
make install
but I'm still getting the same error:
Code:
# portmaster -ad --delete-packages
===>>> Gathering distinfo list for installed ports

===>>> Starting check of installed ports for available updates
===>>> Launching child to update apache-2.2.22_5 to apache22-worker-mpm-2.2.22_8

===>>> All >> apache-2.2.22_5 (1/1)

===>>> Currently installed version: apache-2.2.22_5
===>>> Port directory: /usr/ports/www/apache22

        ===>>> This port is marked IGNORE
        ===>>> When using a multi-threaded MPM, the module CGID should be used in place CGI.
               Please de-select CGI and select CGID instead.
               See http://httpd.apache.org/docs/2.2/mod/mod_cgi.html


        ===>>> If you are sure you can build it, remove the
               IGNORE line in the Makefile and try again.

===>>> Update for apache-2.2.22_5 failed
===>>> Aborting update

Terminated
 
The error message is right, MPM worker and event are threaded versions and they do not work with CGI, they have to use CGID.
The apache port (default prefork) is not threaded and should use CGI instead CGID.

I'm not sure what portmaster has recored in the database and why it wants to update apache22 if you have installed apache22-worker-mpm.
Maybe this command helps # portmaster -o www/apache22 www/apache22-worker-mpm
 
Thanks, but it makes no difference if I config apache22 to use cgid instead of cgi, it still gives this same error. Also if I update apache individually, it just updates worker-mpm and leaves the old apache22 in the same state (outdated).
 
I have the same problem, but apache runs fine ...

Code:
server# pkg_info -Ix apache
apache22-worker-mpm-2.2.22_8 Version 2.2.x of Apache web server with worker MPM.

Code:
server# cat /var/log/portmanager.log
========================================================================
portmanager 0.4.1_9
FreeBSD host.mydomain.com 9.0-RELEASE-p3 FreeBSD 9.0-RELEASE-p3 #0: Tue Jun 12 02:52:29 UTC 2012
    root@amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC  amd64
Thu Sep 20 17:42:50 2012
 apache22-worker-mpm-2.2.22_8        /www/apache22
     marked                             IGNORE                               port not installed/updated

Thu Sep 20 17:45:02 2012
 portmanager                         0.4.1_9
    ports are up to date

Thu Sep 20 17:45:02 2012
 end of log
 
I was actually able to resolve the issue by a force pkg_delete. Then I reinstalled worker-mpm and ended up deciding to go back to apache22 with prefork since I've just got a core2 duo processor and I'm using php (two things I've read that make the worker-mpm advantage minimal or non-existent - though that could be wrong, there isn't a ton of info about that on freebsd that I've found out there).
 
Back
Top