Due to an issue upstream with PHP, the Makefile for both PHP 5.3 and 5.4 sources will link against the required libraries found in /usr/lib/ path instead of anything provided as parameters to configure before build. In my case, this resulted in the libxml2 keg being ignored in favour of the massively outdated system libxml2 on OS 10.5.8. This results in the missing symbols error below:
"_htmlDocDumpMemoryFormat", referenced from:
_zif_dom_document_save_html in document.o
"_xmlTextReaderSchemaValidate", referenced from:
_zim_xmlreader_setSchema in php_xmlreader.o
"_xmlTextReaderSetup", referenced from:
_zim_xmlreader_XML in php_xmlreader.o
ld: symbol(s) not found
collect2: ld returned 1 exit status
make: *** [libs/libphp5.bundle] Error 1
make: *** Waiting for unfinished jobs....
For a detailed explanation of the issue and some historical information about attempts to get this resolved upstream, see this blog post.
Basically, do we include a Makefile patch in homebrew-php to fix this error until PHP developers fix it upstream or should we delay on this issue until there is a response upstream?
We should include the Makefile hack, with a note that it needs to be removed when fixed in upstream. Can you make a PR for it?
Any updates on this?
Sorry for being AWOL. Finally got around to this. Wasn't exactly sure of the best way to implement this patch on the PHP formula, but my proposed code changes resolves the issue at hand. Pull request here: #64
Closed by #64. Thanks!
I can tell that there was a regression. The problem is still present exactly how it was before.
I'm trying to build on a 10.5.8 (sigh) machine, but both 53 and 54 are failing with the same errors, showing the use of the system's libxml2.
@mcdado can you create a new issue, referencing this and #64? I guess I may have removed the patch a while back when I removed the tidy hacks...