Hi list. Here's a patch I created to install php5 -macosx +apache. (PHP5 module for MacPorts' Apache1) --- php5.orig 2007-04-29 02:57:12.000000000 +0900 +++ php5.new 2007-04-29 03:18:41.000000000 +0900 @@ -138,6 +138,10 @@ variant apache conflicts apache2 fastcgi { if { ! [variant_isset macosx] } { depends_lib-append \ + port:kerberos5 + configure.args-append \ + --with-kerberos=${prefix} + depends_lib-append \ path:${prefix}/sbin/apxs:apache configure.args-append \ --with-apxs=${prefix}/sbin/apxs The reason I added kerberos5 to the depends_lib is that c-client, another depends_lib of php5, seems to require Kerberos. (Look at http://jp.php.net/imap for further info) Probably I don't need c-client, or should I say I know next to nothing about c-client So this patch is not a good way of solving this. Any comments, suggestions would greatly appriciated.
On Apr 28, 2007, at 13:38, js wrote:
Here's a patch I created to install php5 -macosx +apache. (PHP5 module for MacPorts' Apache1)
--- php5.orig 2007-04-29 02:57:12.000000000 +0900 +++ php5.new 2007-04-29 03:18:41.000000000 +0900 @@ -138,6 +138,10 @@ variant apache conflicts apache2 fastcgi { if { ! [variant_isset macosx] } { depends_lib-append \ + port:kerberos5 + configure.args-append \ + --with-kerberos=${prefix} + depends_lib-append \ path:${prefix}/sbin/apxs:apache configure.args-append \ --with-apxs=${prefix}/sbin/apxs
The reason I added kerberos5 to the depends_lib is that c-client, another depends_lib of php5, seems to require Kerberos. (Look at http://jp.php.net/imap for further info)
Probably I don't need c-client, or should I say I know next to nothing about c-client So this patch is not a good way of solving this.
Any comments, suggestions would greatly appriciated.
I am the maintainer of php5. What prompted you to make these changes to the portfile? Did you encounter error messages? What were they, and what were you doing when they occurred? The documentation on the php web site to which you refer says "To build the c-client library with SSL or/and Kerberos support read the docs supplied with the package" and "Depending how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/ openssl/ and/or --with-kerberos=/path/to/kerberos into the PHP configure line." I see that the cclient port does depend on kerberos5, if libgssapi_krb5 does not already exist. On my 10.4.9 system, libgssapi_krb5 already exists in /usr/lib so that gets used. Should cclient always depend on the kerberos5 port instead, or is there a compelling reason to use the Mac OS X-provided version? (Paul?) I don't use c-client or kerberos5 nor really even know what they do. Um... I see that c-client is for accessing mailboxes. I don't do that in my php code. Since I prefer not to have lots of ports installed whose features I don't need, I'm inclined to make a cclient variant of php5. Anyone opposed?
Hi Ryan, Thanks you for your quick reply.
What prompted you to make these changes to the portfile? Did you encounter error messages? What were they, and what were you doing when they occurred?
Sorry, I forgot to mention this. Without this patch, I couldn't install php5 -macosx +apache with the following errors. checking for crypt in -lcrypt... no configure: error: This c-client library is built with Kerberos support. Add --with-kerberos to your configure line. Check config.log for details. Error: Status 1 encountered during processing.
The documentation on the php web site to which you refer says "To build the c-client library with SSL or/and Kerberos support read the docs supplied with the package" and "Depending how the c-client was configured, you might also need to add --with-imap-ssl=/path/to/ openssl/ and/or --with-kerberos=/path/to/kerberos into the PHP configure line."
Could be.
I see that the cclient port does depend on kerberos5, if libgssapi_krb5 does not already exist. On my 10.4.9 system, libgssapi_krb5 already exists in /usr/lib so that gets used. Should cclient always depend on the kerberos5 port instead, or is there a compelling reason to use the Mac OS X-provided version? (Paul?)
No idea...
I don't use c-client or kerberos5 nor really even know what they do. Um... I see that c-client is for accessing mailboxes. I don't do that in my php code. Since I prefer not to have lots of ports installed whose features I don't need, I'm inclined to make a cclient variant of php5. Anyone opposed?
That'd be great. I didn't do that just because I don't know about c-client and there's some reasons that php5 port depends on this. If it works without port most people don't use, I think it preferable. Thanks you.
On Apr 28, 2007, at 14:11, js wrote:
What prompted you to make these changes to the portfile? Did you encounter error messages? What were they, and what were you doing when they occurred?
Sorry, I forgot to mention this. Without this patch, I couldn't install php5 -macosx +apache with the following errors.
checking for crypt in -lcrypt... no configure: error: This c-client library is built with Kerberos support.
Add --with-kerberos to your configure line. Check config.log for details.
What OS are you running? Are you on Mac OS X 10.3.9? Do you have /usr/ lib/libgssapi_krb5?
I don't use c-client or kerberos5 nor really even know what they do. Um... I see that c-client is for accessing mailboxes. I don't do that in my php code. Since I prefer not to have lots of ports installed whose features I don't need, I'm inclined to make a cclient variant of php5. Anyone opposed?
That'd be great. I didn't do that just because I don't know about c- client and there's some reasons that php5 port depends on this. If it works without port most people don't use, I think it preferable.
It looks like there used to be an +imap variant that did this, but it and many other variants were removed two years ago and those options were made the default: http://trac.macosforge.org/projects/macports/changeset/11347 I think I'll bring some of those variants back because I don't agree with this decision. Or can anyone explain why this was done back then? The idea is that variants should not be made for things that "everyone" will want, but not everyone wants or needs support for tidy or imap.
HI.
What OS are you running? Are you on Mac OS X 10.3.9? Do you have /usr/ lib/libgssapi_krb5?
I'm using OS X 10.4.9 and have /usr/lib/libgssapi_krb5.dylib.
It looks like there used to be an +imap variant that did this, but it and many other variants were removed two years ago and those options were made the default:
http://trac.macosforge.org/projects/macports/changeset/11347
I think I'll bring some of those variants back because I don't agree with this decision. Or can anyone explain why this was done back then? The idea is that variants should not be made for things that "everyone" will want, but not everyone wants or needs support for tidy or imap.
I think the more options the better and the smaller the better ;)
On Apr 28, 2007, at 16:02, js wrote:
What OS are you running? Are you on Mac OS X 10.3.9? Do you have / usr/lib/libgssapi_krb5?
I'm using OS X 10.4.9 and have /usr/lib/libgssapi_krb5.dylib.
Weird. I wonder why you're seeing this problem, then, and I'm not. When configuring php5, I get: checking for Kerberos support... /usr checking for krb5-config... /usr/bin/krb5-config and also: checking for IMAP Kerberos support... /usr I don't have the kerberos5 port installed. Perhaps you already did, and it found that instead?
It looks like there used to be an +imap variant that did this, but it and many other variants were removed two years ago and those options were made the default:
http://trac.macosforge.org/projects/macports/changeset/11347
I think I'll bring some of those variants back because I don't agree with this decision. Or can anyone explain why this was done back then? The idea is that variants should not be made for things that "everyone" will want, but not everyone wants or needs support for tidy or imap.
I think the more options the better and the smaller the better ;)
I disagree with an unqualified "the more options the better." I go to the store to buy toothpaste and it takes me ten minutes to try and evaluate the hundreds of different kinds available. There's teeth- whitening, plaque-fighting, tartar-control, breath-freshening, multicare, extra-sensitive, cavity-protecting, gel, paste, striped, with baking soda and countless other varieties -- and that's just Crest. It's impossible to know how to decide which to get. All I want to do is clean my teeth. More options = bad. Fewer options = good. More specifically: a few well-selected options are better than a whole lot of options. This is why Apple's remote [1] is so good compared to everyone else's, such as Microsoft's [2]. This is why MacPorts exists, so that you don't have to look at every arcane ./ configure option a given software package makes available, and only need to look at the few carefully-selected variants that the port author has chosen to provide. But I think the odds that someone will want to use Tidy or IMAP functions with PHP is not sufficiently high to justify their inclusion in the default configuration, so I've moved them back to variants. From now on, if you want Tidy functions, add +tidy. If you want IMAP functions, add +imap. I have not yet resolved the kerberos5 issue. But, if you don't need IMAP functions in PHP, then you just don't select the +imap variant and can bypass the problem for now. [1] http://en.wikipedia.org/wiki/Apple_Remote [2] http://www.microsoft.com/hardware/mouseandkeyboard/ productdetails.aspx?pid=065
Hi Ryan.
What OS are you running? Are you on Mac OS X 10.3.9? Do you have / usr/lib/libgssapi_krb5?
I'm using OS X 10.4.9 and have /usr/lib/libgssapi_krb5.dylib.
Weird. I wonder why you're seeing this problem, then, and I'm not. When configuring php5, I get:
checking for Kerberos support... /usr checking for krb5-config... /usr/bin/krb5-config
and also:
checking for IMAP Kerberos support... /usr
I don't have the kerberos5 port installed. Perhaps you already did, and it found that instead?
How did you install php5? I installed php5 wtih $ sudo port install php5 -macosx +pear +sqlite +postgresql +mysql5 +apache I think '-macosx' is culprit. variant macosx { configure.args-append \ --with-ldap=/usr \ --with-kerberos=/usr \ --with-iodbc=/usr } I specified '-macosx' because I don't want to use osx-prpvided libs.
I think the more options the better and the smaller the better ;)
I disagree with an unqualified "the more options the better." I go to the store to buy toothpaste and it takes me ten minutes to try and evaluate the hundreds of different kinds available. There's teeth- whitening, plaque-fighting, tartar-control, breath-freshening, multicare, extra-sensitive, cavity-protecting, gel, paste, striped, with baking soda and countless other varieties -- and that's just Crest. It's impossible to know how to decide which to get. All I want to do is clean my teeth. More options = bad. Fewer options = good. More specifically: a few well-selected options are better than a whole lot of options.
I should have said "the more options the better 'as long as the default just works" All I want to say is lots of options are strength of ports compared with pre-compiled packages.
But I think the odds that someone will want to use Tidy or IMAP functions with PHP is not sufficiently high to justify their inclusion in the default configuration, so I've moved them back to variants. From now on, if you want Tidy functions, add +tidy. If you want IMAP functions, add +imap.
Thank you. Now it just works! I appreciate you.
On Apr 28, 2007, at 23:26, js wrote:
What OS are you running? Are you on Mac OS X 10.3.9? Do you have / usr/lib/libgssapi_krb5?
I'm using OS X 10.4.9 and have /usr/lib/libgssapi_krb5.dylib.
Weird. I wonder why you're seeing this problem, then, and I'm not. When configuring php5, I get:
checking for Kerberos support... /usr checking for krb5-config... /usr/bin/krb5-config
and also:
checking for IMAP Kerberos support... /usr
I don't have the kerberos5 port installed. Perhaps you already did, and it found that instead?
How did you install php5? I installed php5 wtih
$ sudo port install php5 -macosx +pear +sqlite +postgresql +mysql5 +apache
I think '-macosx' is culprit.
I agree! I overlooked that earlier. I scanned the line to quickly before and my brain read something like "-mysql" which didn't make sense but then I didn't go back and read it again. Bad brain, bad!
variant macosx { configure.args-append \ --with-ldap=/usr \ --with-kerberos=/usr \ --with-iodbc=/usr }
I specified '-macosx' because I don't want to use osx-prpvided libs.
Specifying "-macosx" is ... weird. Variants like macosx and darwin_8 are auto-selected by MacPorts; you should not be selecting (or, as in your case, unselecting) them by hand. I haven't touched the macosx variant since taking over the port. I don't even know what iodbc is. And I know very very little about kerberos. Is it just --with-kerberos=/usr you're objecting to here, or the other two lines as well? MacPorts philosophy is in general to use its own software, not system- provided libraries, unless there's a compelling reason. I don't know what the reason was for using ldap, kerberos and iodbc from the OS here. If anyone knows, please chime in.
Hello, Ryan.
variant macosx { configure.args-append \ --with-ldap=/usr \ --with-kerberos=/usr \ --with-iodbc=/usr }
I specified '-macosx' because I don't want to use osx-prpvided libs.
Specifying "-macosx" is ... weird. Variants like macosx and darwin_8 are auto-selected by MacPorts; you should not be selecting (or, as in your case, unselecting) them by hand.
Good to know. I don't know you're the right person to ask this, but how about adding that info to MacPorts FAQ? I think many people's been wondering what macosx is.
I haven't touched the macosx variant since taking over the port. I don't even know what iodbc is. And I know very very little about kerberos.
Is it just --with-kerberos=/usr you're objecting to here, or the other two lines as well?
Acutually, I don't care about all of them. the real reason I used -macosx is that I wanted to use php5 with MacPorts apache, not OS X's one. --------------------------------------------------------- variant apache conflicts apache2 fastcgi { if { ! [variant_isset macosx] } { depends_lib-append \ path:${prefix}/sbin/apxs:apache configure.args-append \ --with-apxs=${prefix}/sbin/apxs } else { configure.args-append \ --with-apxs=/usr/sbin/apxs } } --------------------------------------------------------- But, as you see, -macosx removes --with-kerberos line from the configure options, which c-client depends. This is why I added kerberos things to variant apache.
MacPorts philosophy is in general to use its own software, not system- provided libraries, unless there's a compelling reason. I don't know what the reason was for using ldap, kerberos and iodbc from the OS here. If anyone knows, please chime in.
The reason might be that php5 port assumed people who don't care about which apache is used with php5 is probably prefers OS X's apache, whch is already there and in that way, considered to be 'easy'. (I don't like this idea, though) In that case, using OS X's libraries (ldap, kerberos and iodbc) is natural thing to do I suppose. Can you change the default behavior to use MacPorts' apache?
"js " <ebgssth@gmail.com> on Sunday, April 29, 2007 at 7:50 AM -0800 wrote:
Specifying "-macosx" is ... weird. Variants like macosx and darwin_8 are auto-selected by MacPorts; you should not be selecting (or, as in your case, unselecting) them by hand.
Good to know. I don't know you're the right person to ask this, but how about adding that info to MacPorts FAQ? I think many people's been wondering what macosx is.
I don't understand it either. I thought the platform keyword was used to do that stuff, not variants. And doesn't osx = darwin? Wouldn't it be better to use the 'platform dawin' statement? When would osx <> darwin? Mark
On Apr 29, 2007, at 11:07, markd wrote:
js on Sunday, April 29, 2007 at 7:50 AM -0800 wrote:
Specifying "-macosx" is ... weird. Variants like macosx and darwin_8 are auto-selected by MacPorts; you should not be selecting (or, as in your case, unselecting) them by hand.
Good to know. I don't know you're the right person to ask this, but how about adding that info to MacPorts FAQ? I think many people's been wondering what macosx is.
I don't understand it either. I thought the platform keyword was used to do that stuff, not variants.
I agree. Looks like the wording "platform macosx" is used in 12 ports, while "variant macosx" is only used in php4, php5 and libsdl_mixer-framework. I guess I should change it to "platform macosx."
And doesn't osx = darwin? Wouldn't it be better to use the 'platform dawin' statement? When would osx <> darwin?
Mac OS X ≠ Darwin when someone goes and downloads the Darwin source from Apple and installs it on a generic PC, for example. http://www.opensource.apple.com/darwinsource/ Darwin is a command-line OS that is free and available from the Apple web site. Mac OS X is Darwin plus the Aqua interface and can be purchased for $129.
On Apr 28, 2007, at 11:10 PM, Ryan Schmidt wrote:
On Apr 28, 2007, at 23:26, js wrote:
How did you install php5? I installed php5 wtih
$ sudo port install php5 -macosx +pear +sqlite +postgresql +mysql5 +apache
I think '-macosx' is culprit.
I agree! I overlooked that earlier. I scanned the line to quickly before and my brain read something like "-mysql" which didn't make sense but then I didn't go back and read it again. Bad brain, bad!
variant macosx { configure.args-append \ --with-ldap=/usr \ --with-kerberos=/usr \ --with-iodbc=/usr }
I specified '-macosx' because I don't want to use osx-prpvided libs.
Specifying "-macosx" is ... weird. Variants like macosx and darwin_8 are auto-selected by MacPorts; you should not be selecting (or, as in your case, unselecting) them by hand.
I haven't touched the macosx variant since taking over the port. I don't even know what iodbc is. And I know very very little about kerberos.
Is it just --with-kerberos=/usr you're objecting to here, or the other two lines as well?
MacPorts philosophy is in general to use its own software, not system-provided libraries, unless there's a compelling reason. I don't know what the reason was for using ldap, kerberos and iodbc from the OS here. If anyone knows, please chime in.
hello, wanted to hopefully clarify a couple things here ... first, using the "-macosx" does not actually disable the osx variant except when it is the *first* variant on the command line (also does nothing to add it to variants.conf since these get appended). more details can be found in this thread: http://lists.macosforge.org/ pipermail/macports-users/2006-December/000954.html. i believe the real problem here, though, is the macosx variant itself, which should not be enabled by default (if even permitted at all), as noted in this bug report: http://trac.macports.org/projects/ macports/ticket/3079 (which was erroneously closed before being fixed i think). i seem to recall someone stating that the original rationale in using this variant (+macosx) by default was to make it as easy as possible for new macports users to install php4 without needing duplicate installation of apache. the best solution ive found here (for both php4 & php5 ports) has been to: 1. add --with-kerberos=${prefix} to the default configure.args list 2. add port:kerberos5 to the default depends_lib list (to satisfy kerb dependency in #1) 3. remove all references to "variant macosx" from the Portfile (including anything inside conditionals like "if {[variant_isset macosx]}") as for the other configure.args specified inside the macosx variant (ldap & iodbc), i dont know what they do or why they were included originally ... ive been leaving them out of both php portfiles altogether for over a year without issue. -emory
participants (4)
-
Emory Smith
-
js
-
markd@macports.org
-
Ryan Schmidt