+fpm variant in php5 Portfile
Michael J. I. Jackson
mjijackson at gmail.com
Thu Nov 19 10:02:01 PST 2009
Apparently MacPorts does distinguish between lib and build
dependencies (see http://guide.macports.org/#reference.dependencies).
So I modified the variant description to use depends_build instead of
depends_lib as you suggested. I also added the alternate download
location. I plan on adding a startupitem as well, as soon as I can get
the build to work.
As far as I can tell, MacPorts does install libevent to /opt/local/lib.
$ ls -al /opt/local/lib/libevent.a
-rw-r--r-- 2 root admin 157536 Nov 19 10:45 /opt/local/lib/libevent.a
However, simply passing --with-libevent=/opt/local to configure does
not help the build script find libevent.
While we're at it, a quick question about php-fpm: should
--disable-cgi be used in configure when patching with fpm? I'm not
sure exactly how the patch works, so I don't know if that's even
necessary. From what I read on the web site, it seems like php-fpm
will be generated and php-cgi will not.
Thanks for all your help on this.
Michael
On Thu, Nov 19, 2009 at 10:48 AM, dreamcat four <dreamcat4 at gmail.com> wrote:
> Hi,
> Well, libevent *should* be installed to /opt/local/lib.
> Maybe there's something different about libevent on macports, which
> might cause the libcheck to fail.
>
> janitors-Mac-mini:site-cookbooks id$ ls -lsa /opt/local/lib/libevent*
> 192 -rwxr-xr-x 2 root admin 97316 19 Nov 17:43
> /opt/local/lib/libevent-1.4.2.1.3.dylib*
> 8 lrwxr-xr-x 1 root admin 24 19 Nov 17:43
> /opt/local/lib/libevent-1.4.2.dylib@ -> libevent-1.4.2.1.3.dylib
> 240 -rw-r--r-- 2 root admin 120176 19 Nov 17:43 /opt/local/lib/libevent.a
> 8 lrwxr-xr-x 1 root admin 24 19 Nov 17:43
> /opt/local/lib/libevent.dylib@ -> libevent-1.4.2.1.3.dylib
> 8 -rwxr-xr-x 2 root admin 849 19 Nov 17:43 /opt/local/lib/libevent.la*
> 72 -rwxr-xr-x 2 root admin 35752 19 Nov 17:43
> /opt/local/lib/libevent_core-1.4.2.1.3.dylib*
> 8 lrwxr-xr-x 1 root admin 29 19 Nov 17:43
> /opt/local/lib/libevent_core-1.4.2.dylib@ ->
> libevent_core-1.4.2.1.3.dylib
> 80 -rw-r--r-- 2 root admin 39424 19 Nov 17:43
> /opt/local/lib/libevent_core.a
> 8 lrwxr-xr-x 1 root admin 29 19 Nov 17:43
> /opt/local/lib/libevent_core.dylib@ -> libevent_core-1.4.2.1.3.dylib
> 8 -rwxr-xr-x 2 root admin 884 19 Nov 17:43
> /opt/local/lib/libevent_core.la*
> 168 -rwxr-xr-x 2 root admin 82064 19 Nov 17:43
> /opt/local/lib/libevent_extra-1.4.2.1.3.dylib*
> 8 lrwxr-xr-x 1 root admin 30 19 Nov 17:43
> /opt/local/lib/libevent_extra-1.4.2.dylib@ ->
> libevent_extra-1.4.2.1.3.dylib
> 192 -rw-r--r-- 2 root admin 95736 19 Nov 17:43
> /opt/local/lib/libevent_extra.a
> 8 lrwxr-xr-x 1 root admin 30 19 Nov 17:43
> /opt/local/lib/libevent_extra.dylib@ -> libevent_extra-1.4.2.1.3.dylib
> 8 -rwxr-xr-x 2 root admin 891 19 Nov 17:43
> /opt/local/lib/libevent_extra.la*
>
> To get the version we normally load a small program in autoconf, which
> will link to libevent.so and query event_get_version() for a numeric
> string. It seems max os-x uses ".dylib" extension instead of ".so".
> But it should still work! `cc -levent`
>
> I'm utterly bamboozled, to be honest.
>
> On Thu, Nov 19, 2009 at 5:08 PM, dreamcat four <dreamcat4 at gmail.com> wrote:
>> Yeah you might want to check where libevent got installed.
>>> --with-libevent=${prefix}
>>
>> It seems to look in /opt/local/lib for /opt/local/lib/libevent.a ?
>> Maybe macports differentiates between build dependancies and runtime
>> (executable) dependancies?
>> (libevent is a build-time dependancy). Use spotlight search
>> "libevent.a" to find it.
>>
>> Here are some other recommendations / tips:
>> You will probably also want to include an appropriate startupitem or
>> launchd plist. ie that runs 'php-fpm' and not 'php-cgi'. I don't if
>> the original portfile already handles that for you.
>>
>> Another thing: those files will change with each new patch release.
>> If you want to do checksums you must download from archives the fixed
>> revision eg:
>> http://launchpad.net/php-fpm/archive/0.6-103/+download/php-fpm-0.6-103~5.3.patch
>>
>> # so maybe
>> set fpm_revision 103
>> php-fpm-${fpm_patch_version}-{fpm_revision}~5.3.patch # ?
>>
>> You can specify alternate download location here:
>> http://php-fpm.org/downloads/archive/
>> in case launchpad is unavailable or blocked.
>>
>> On Thu, Nov 19, 2009 at 4:33 PM, Michael J. I. Jackson
>> <mjijackson at gmail.com> wrote:
>>> variant fpm description {Add FPM patch} {
>>> depends_lib-append \
>>> port:libevent
>>> configure.args-append \
>>> --with-fpm \
>>> --with-libevent=${prefix}
>>> set fpm_patch_version 0.6
>>> set fpm_patch php-fpm-${fpm_patch_version}~5.3.patch
>>> patch_sites-append
>>> http://launchpad.net/php-fpm/master/${fpm_patch_version}/+download/
>>> patchfiles-append ${fpm_patch}
>>> checksums-append \
>>> ${fpm_patch} \
>>> md5 361c934eec184a398db6c974994a8870
>>> }
>>>
>>>
>>> However, when I try and use the +fpm variant, the compile fails
>>> complaining that libevent can't be found. Here's the output I get:
>>>
>>>
>>> $ sudo port install php5 +fpm
>>> Configuring fpm
>>> checking dynamic linker characteristics... darwin10.2.0 dyld
>>> checking for libevent >= 1.4.11... no
>>> configure: warning: libevent.a could not be found. We looked in:
>>> configure: warning: " /lib/i686-apple-darwin10/4.2.1/x86_64/
>>> /lib/x86_64/ /usr/lib/i686-apple-darwin10/4.2.1/x86_64/
>>> /usr/lib/x86_64/ /usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/x86_64/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../../i686-apple-darwin10/lib/i686-apple-darwin10/4.2.1/x86_64/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../../i686-apple-darwin10/lib/x86_64/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1/x86_64/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../x86_64/
>>> /lib/i686-apple-darwin10/4.2.1/ /lib/
>>> /usr/lib/i686-apple-darwin10/4.2.1/ /usr/lib/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../../i686-apple-darwin10/lib/i686-apple-darwin10/4.2.1/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../../i686-apple-darwin10/lib/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../i686-apple-darwin10/4.2.1/
>>> /usr/lib/gcc/i686-apple-darwin10/4.2.1/../../../ /lib /usr/lib
>>> /usr/local/lib"
>>> configure: warning: Install libevent system-wide (make install)
>>> configure: warning: Syntax:
>>> configure: warning: --with-libevent=yes|path - link to libevent.a
>>> (static library)
>>> configure: warning: --with-libevent=shared,path - link to libevent.so
>>> (shared library)
>>> configure: error: libevent.a could not be found. Stop.
>>
>> dreamcat4
>> dreamcat4 at gmail.com
>>
>
More information about the macports-users
mailing list