Opened 10 years ago

Closed 10 years ago

#42226 closed defect (duplicate)

php54-apache2handler not working with apache2.4-develop

Reported by: ldl@… Owned by: macports-tickets@…
Priority: Normal Milestone:
Component: ports Version: 2.2.1
Keywords: Cc: ryandesign (Ryan Carsten Schmidt)
Port: php54-apache2handler

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I need to upgrade my MacPorts php dev system on MacOS X 10.6.8 to accommodate HostingService, which is moving to PHP 5.4 on the 27th.

I'm using XCode 4.2, the last available for Snow Leopard 10.6.8

Uninstalled all old apache2 and php53 ports, cleaned directories. sudo port install apache2.4-develop worked. After hacking the httpd.config files, I am serving html/php from my development directory.

sudo port install php54-apache2handler fails for various reasons, depending upon how I try to invoke it.

The reason why is partially explained at: #41478

A discussion is at: http://echelog.com/logs/browse/macports/1386111600

Search for "[10:45:34] <ml_> I'm using apache24-devel" and begin reading there.

[10:45:34] <ml_> I'm using apache24-devel and i'm sick of modifying the Portfile of php54-apache2handler to avoid installing apache2 and creating libphp5.so in the wrong directory (or with wrong apxs2)
[10:45:46] *** justdave has joined #macports
[10:46:17] <neverpanic> ml_: that's a bug in php54-apache2handler, please file it as such and Cc ryandesign at macports dot org.
[10:46:41] <ml_> Well not actually a bug, just a missing option/variant that has to be added

What I have done:

Downloaded the php port file and saved it in ~/ports/lang/php Modified the source per ticket above:

#     depends_lib-append      port:apache2
#     
#     set apxs ${prefix}/apache2/bin/apxs
#     set confdir ${prefix}/apache2/conf
#     set moduledir ${prefix}/apache2/modules
    
      depends_lib-append      port:apache24-devel
    
      set apxs ${prefix}/apache2/bin/apxs
      set confdir ${prefix}/apache2/conf
      set moduledir ${prefix}/apache2/modules

I originally got errors when MacPorts could not find the modules. I modified source.config to include my local repository.

file:///Users/larrylowe/ports [nosync]
rsync://rsync.macports.org/release/ports/ [default]

Then I went to ~/ports and did a portindex, which produced this:

Creating port index in /Users/myusernam/ports
Adding port lang/php
Adding subport php55
Adding subport php55-apache2handler
Adding subport php55-cgi
Adding subport php55-fpm
Adding subport php55-calendar
Adding subport php55-curl
Adding subport php55-dba
Adding subport php55-enchant
Adding subport php55-exif
Adding subport php55-ftp
Adding subport php55-gd
Adding subport php55-gettext
Adding subport php55-gmp
Adding subport php55-iconv
Adding subport php55-imap
Adding subport php55-intl
Adding subport php55-ipc
Adding subport php55-ldap
Adding subport php55-mbstring
Adding subport php55-mcrypt
Adding subport php55-mssql
Adding subport php55-mysql
Adding subport php55-odbc
Adding subport php55-opcache
Adding subport php55-openssl
Adding subport php55-oracle
Adding subport php55-pcntl
Adding subport php55-posix
Adding subport php55-postgresql
Adding subport php55-pspell
Adding subport php55-snmp
Adding subport php55-soap
Adding subport php55-sockets
Adding subport php55-sqlite
Adding subport php55-tidy
Adding subport php55-wddx
Adding subport php55-xmlrpc
Adding subport php55-xsl
Adding subport php55-zip
Adding subport php54
Adding subport php54-apache2handler
Adding subport php54-cgi
Adding subport php54-fpm
Adding subport php54-calendar
Adding subport php54-curl
Adding subport php54-dba
Adding subport php54-enchant
Adding subport php54-exif
Adding subport php54-ftp
Adding subport php54-gd
Adding subport php54-gettext
Adding subport php54-gmp
Adding subport php54-iconv
Adding subport php54-imap
Adding subport php54-intl
Adding subport php54-ipc
Adding subport php54-ldap
Adding subport php54-mbstring
Adding subport php54-mcrypt
Adding subport php54-mssql
Adding subport php54-mysql
Adding subport php54-odbc
Adding subport php54-openssl
Adding subport php54-oracle
Adding subport php54-pcntl
Adding subport php54-posix
Adding subport php54-postgresql
Adding subport php54-pspell
Adding subport php54-snmp
Adding subport php54-soap
Adding subport php54-sockets
Adding subport php54-sqlite
Adding subport php54-tidy
Adding subport php54-wddx
Adding subport php54-xmlrpc
Adding subport php54-xsl
Adding subport php54-zip
Adding subport php53
Adding subport php53-apache2handler
Adding subport php53-cgi
Adding subport php53-fpm
Adding subport php53-calendar
Adding subport php53-curl
Adding subport php53-dba
Adding subport php53-enchant
Adding subport php53-exif
Adding subport php53-ftp
Adding subport php53-gd
Adding subport php53-gettext
Adding subport php53-gmp
Adding subport php53-iconv
Adding subport php53-imap
Adding subport php53-intl
Adding subport php53-ipc
Adding subport php53-ldap
Adding subport php53-mbstring
Adding subport php53-mcrypt
Adding subport php53-mssql
Adding subport php53-mysql
Adding subport php53-odbc
Adding subport php53-openssl
Adding subport php53-oracle
Adding subport php53-pcntl
Adding subport php53-posix
Adding subport php53-postgresql
Adding subport php53-pspell
Adding subport php53-snmp
Adding subport php53-soap
Adding subport php53-sockets
Adding subport php53-sqlite
Adding subport php53-tidy
Adding subport php53-wddx
Adding subport php53-xmlrpc
Adding subport php53-xsl
Adding subport php53-zip

Total number of ports parsed:	116 
Ports successfully parsed:	116 
Ports failed:			0 
Up-to-date ports skipped:	0

To confirm I had a local repository I did a:

port file php54 /Users/myusername/ports/lang/php/Portfile

Finally, I did this: sudo port install php54-apache2handler'

And got this:

--->  Verifying checksums for php54-apache2handler
Error: No checksum set for patch-php54-scripts-php-config.in.diff
Error: org.macports.checksum for port php54-apache2handler returned: Unable to verify file checksums
Please see the log file for port php54-apache2handler for details:
    /opt/local/var/macports/logs/_Users_larrylowe_ports_lang_php/php54-apache2handler/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port php54-apache2handler failed

Here is the relevant portion of main.log:

:msg:main --->  Computing dependencies for php54-apache2handler:info:main .:debug:main php54-apache2handler has no conflicts
:debug:main Searching for dependency: pkgconfig
:debug:main Found Dependency: receipt exists for pkgconfig
:debug:main Searching for dependency: php54
:debug:main Found Dependency: receipt exists for php54
:debug:main Searching for dependency: gsed
:debug:main Found Dependency: receipt exists for gsed
:debug:main Searching for dependency: libiconv
:debug:main Found Dependency: receipt exists for libiconv
:debug:main Searching for dependency: libxml2
:debug:main Found Dependency: receipt exists for libxml2
:debug:main Searching for dependency: bzip2
:debug:main Found Dependency: receipt exists for bzip2
:debug:main Searching for dependency: mhash
:debug:main Found Dependency: receipt exists for mhash
:debug:main Searching for dependency: pcre
:debug:main Found Dependency: receipt exists for pcre
:debug:main Searching for dependency: zlib
:debug:main Found Dependency: receipt exists for zlib
:debug:main Searching for dependency: apache24-devel
:debug:main Found Dependency: receipt exists for apache24-devel
:msg:main 
:debug:main Executing org.macports.main (php54-apache2handler)
:debug:main changing euid/egid - current euid: 0 - current egid: 0
:debug:main egid changed to: 501
:debug:main euid changed to: 503
:debug:main Skipping completed org.macports.archivefetch (php54-apache2handler)
:debug:main Privilege de-escalation not attempted as not running as root.
:debug:main Skipping completed org.macports.fetch (php54-apache2handler)
:debug:main Privilege de-escalation not attempted as not running as root.
:debug:checksum checksum phase started at Wed Jan 22 12:22:08 MST 2014
:notice:checksum --->  Verifying checksums for php54-apache2handler
:debug:checksum Executing org.macports.checksum (php54-apache2handler)
:info:checksum --->  Checksumming patch-php54-scripts-php-config.in.diff
:error:checksum No checksum set for patch-php54-scripts-php-config.in.diff
:info:checksum --->  Checksumming php-5.4.24.tar.bz2
:debug:checksum Correct (md5) checksum for php-5.4.24.tar.bz2
:debug:checksum Correct (rmd160) checksum for php-5.4.24.tar.bz2
:debug:checksum Correct (sha256) checksum for php-5.4.24.tar.bz2
:info:checksum The correct checksum line may be:
:info:checksum checksums           patch-php54-scripts-php-config.in.diff \
                    rmd160  8248a1314986b071de990f725fc802729ca97e3c \
                    sha256  97fe70eddaf5b93969714a551870fe03f6b0a387f85b83a6d63a40a76199a327 \
                    php-5.4.24.tar.bz2 \
                    md5     acef880cc808b85e216897ee88187ee1 \
                    rmd160  8248a1314986b071de990f725fc802729ca97e3c \
                    sha256  97fe70eddaf5b93969714a551870fe03f6b0a387f85b83a6d63a40a76199a327
:error:checksum org.macports.checksum for port php54-apache2handler returned: Unable to verify file checksums
:debug:checksum Error code: NONE
:debug:checksum Backtrace: Unable to verify file checksums
    while executing
"$procedure $targetname"
:info:checksum Warning: targets not executed for php54-apache2handler: org.macports.activate org.macports.checksum org.macports.extract org.macports.patch org.macports.configure org.macports.build org.macports.destroot org.macports.install
:notice:checksum Please see the log file for port php54-apache2handler for details:
    /opt/local/var/macports/logs/_Users_larrylowe_ports_lang_php/php54-apache2handler/main.log

Questions:

How do I create a local repository port that will compile php54-apache2handler and link to apache24-devel?

Is that even the right concept? What does it take to get these two play nice together? Why does <ml_> talk of modifying the port file every time he updates?

How to I modify the port file with a -drupal variant, which will have the additional modules I need for Drupal development and invoke it?

I depend upon MacPorts to get the job done and am willing to work at this, but I need help from the community to get php54 with specific configuration talking to Apache 2.4 so I can go back to the jungle I know.

Change History (2)

comment:1 Changed 10 years ago by ldl@…

I looked in the MacPorts local repository and found a folder 'Files' in the php port.

So I copied that and made the checksum error go away.

Now the error reads:

--->  Computing dependencies for php54-apache2handler
--->  Verifying checksums for php54-apache2handler
--->  Extracting php54-apache2handler
--->  Applying patches to php54-apache2handler
--->  Configuring php54-apache2handler
Error: To use php54-apache2handler, apache2 must be installed with the +preforkmpm variant.
Error: org.macports.configure for port php54-apache2handler returned: incompatible apache2 installation
Please see the log file for port php54-apache2handler for details:
    /opt/local/var/macports/logs/_Users_myusername_ports_lang_php/php54-apache2handler/main.log
To report a bug, follow the instructions in the guide:
    http://guide.macports.org/#project.tickets
Error: Processing of port php54-apache2handler failed

Listing the installed ports shows:

apache24-devel @2.4.7_0+preforkmpm (active)

httpd -t -D DUMP_MODULES shows:

mpm_prefork_module (static)

That makes me think preforkmpm is installed, but not being detected for some reason by php54-apache2handler. Could this be because of the difference between Apache 2.2 and 2.4?

Last edited 10 years ago by ldl@… (previous) (diff)

comment:2 Changed 10 years ago by ryandesign (Ryan Carsten Schmidt)

Cc: ryandesign@… added
Description: modified (diff)
Keywords: lang php removed
Priority: HighNormal
Resolution: duplicate
Status: newclosed

I know that php54-apache2handler does not work with apache24-devel. None of the MacPorts ports that use apache2 do, at this point, mostly because apache2 and apache24-devel have a different file layout. All of this work is included in the scope of #35824. Most or all of the work has allegedly already been completed, in Bradley's BitBucket repository linked to from that ticket. I have not yet evaluated it and am not certain what the best way to do so would be. I'll add a comment to that ticket soliciting input again.

Note: See TracTickets for help on using tickets.