Thanks again for your help Ryan. I agree with your suggestion that involves updating the Apache2 portfile to include an if/and condition. It is my backward approach to a installing that caused the issue. In the past with something as extensive as php5, I've ran into problems with some of the dependencies installing. (By this I mean a year ago or so.) I've gotten into the habit of independently installing dependencies as a result. It also gives my curious mind a better view of relative dependencies. Bottomline: If I hadn't installed apr-util independent of Apache2 I would not have had any problems. Once I did get the apr-util thing sorted out, Apache2, MySql5, and Php5 all built flawlessly on a clean install of 10.4.10. On Jul 1, 2007, at 3:49 AM, Ryan Schmidt wrote:
On Jul 1, 2007, at 05:41, Samuel V. Green III wrote:
On Jul 1, 2007, at 3:00 AM, Ryan Schmidt wrote:
On Jul 1, 2007, at 02:52, Samuel V.Green III wrote:
Upon issuing a sudo port installed I get:
apr-util @1.2.8_2 (active) ......, openldap @2.3.35_0 (active) .....,
Upon issuing sudo port install apache2 + openldap I get :
error: #error mod_authnz_ldap requires APR-util to have LDAP support built in. To fix add --with-ldap to ./configure
Reading this I recognized that I DID NOT build the APR-util with the +openldap option. I then did an uninstall of apache2 as well as php5 to correct this error. I'm now trying again to get Apache2 to build with openldap.
Can someone point me to the documentation in the MacPorts Wiki or whatever that would have prevented me from "the long route?"
If you did not yet have apr-util installed, and installed apache2 +openldap, then apr-util would also get installed with +openldap, and things should have just worked. However, if you already had apr-util installed, it would not be reinstalled, even if it did not have the "right" set of variants.
Portfiles can only depend on another port being installed, not on a particular variant of another port being installed. This is ticket #126.
Once you received the error from apache2 that explained that apr- util needed to be built with ldap support, the solution was to uninstall the apr-util you already had (sudo port -f uninstall apr-util) and reinstall it with the openldap variant (sudo port install apr-util +openldap). Then apache2 should install properly.
Thank you. I logically did the uninstall of the apr-util and added the +openldap to it before reinstalling. Relative to this I then reinstalled apache2 and php5 to reflect the +openldap variant.
Improving the MacPorts documentation that would let an end user understand the need to have to add the "+openldap" variant to the apr-util build BEFORE an +openldap variant is added to Apache2 would be helpful.
As I said, if you did not already have apr-util installed, no special action would have been necessary. Installing apache2 +openldap would have caused apr-util +openldap to have been installed automatically. The problem only arose because you already had apr-util installed without +openldap.
Our documentation is out of date for most things, not just this. We are attempting to work on the documentation again. Specific suggestions for where in the documentation this should go and/or what specifically should be said would be helpful. I say this because I'm not sure what it should say to avoid being both overly wordy and overly specific. (If it said "If you want to install apache2 +openldap but already have apr-util installed without +openldap, uninstall apr-util and reinstall it with +openldap" that would be way too specific to that port. If it said "If you want to install a port that depends on a particular variant of another port but you already have a different variant of that other port installed, then you will need to uninstall that other port and reinstall it with the variants required for the new port you want to install" then that would be overly wordy, and probably nobody reading that would in fact recognize the problem when they encounter it.)
Perhaps a better solution is to update the apache2 portfile, in this case, so that if you select +openldap, it checks apr-util to see if it's installed with +openldap, and if not, it prints an error that's slightly friendlier than the one that apache2 printed for you. (I say slightly friendlier because the message it printed was already pretty friendly: it already pretty much told you what you needed to do to correct the problem.)
Don't forget to Reply To All so that your reply goes to the mailing list too, not just to me.