Bug 245034 - poudriere bulk build fails for some PHP/PECL ports
Summary: poudriere bulk build fails for some PHP/PECL ports
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Torsten Zuehlsdorff
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-24 20:07 UTC by Tommy P
Modified: 2022-02-01 21:01 UTC (History)
3 users (show)

See Also:


Attachments
Bulk build logs (137.89 KB, application/x-zip-compressed)
2020-03-24 20:08 UTC, Tommy P
no flags Details
interactive build logs (23.84 KB, text/plain)
2020-03-24 20:08 UTC, Tommy P
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Tommy P 2020-03-24 20:07:51 UTC
When ZTS is enabled for PHP74 and MPM_WORKER enabled for Apache24, the following ports fail in poudriere bulk because of build-depends:

databases/pecl-memcache:build-depends
databases/pecl-memcached:build-depends
databases/php74-pdo_mysql:build-depends
databases/php74-pdo_pgsql:build-depends
databases/php74-pdo_sqlite:build-depends
databases/php74-pdo_odbc:build-depends
databases/php74-pdo_dblib:build-depends

textproc/php74-xsl:build-depends
print/pecl-pdflib:build-depends

net/php74-xmlrpc:build-depends

devel/php-composer:run-depends
devel/pecl-ds:build-depends
devel/pecl-zookeeper:build-depends
devel/pecl-swoole:build-depends
devel/pecl-json_post:build-depends
mail/pecl-mailparse:build-depends

In poudriere interactive mode, the above ports build successfully.
Comment 1 Tommy P 2020-03-24 20:08:24 UTC
Created attachment 212678 [details]
Bulk build logs
Comment 2 Tommy P 2020-03-24 20:08:59 UTC
Created attachment 212679 [details]
interactive build logs
Comment 3 Li-Wen Hsu freebsd_committer freebsd_triage 2020-06-16 23:28:07 UTC
Over to php maintainer.
Comment 4 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2020-06-23 10:28:44 UTC
That is basically the same issue like in 242289. 

The Problem here is ZTS, because the framework puts it into an own directory. But than it forgets to use the new directory when creating dependencies.

So my thought was to remove the directories for ZTS (or debug). This should avoid the problem. But after some hacking i realized it is not that easy. And than i run into a constant E_NOTIME. 

Any help on this issue is very appreciated.
Comment 5 Danny McGrath 2021-04-03 22:05:02 UTC
I am noticing similar on my end, except it doesn't just break your stuff, but appears to break anything relating to DEBUG builds, which I currently need to debug a PHP zend_mm_heap corrupted error but can't now, and anything other than Apache pre-fork.

Someone was mentioning that ZTS should not be needed, but all attempts to disable it here were proving problematic due to the requiring that Apache event mpm forces ZTS.

Perhaps there is a much bigger problem here for PHP and Apache users?
Comment 6 Tommy P 2021-04-09 22:12:31 UTC
(In reply to Danny McGrath from comment #5)

I'm not sure about issues in interoperability between Apache and PHP since the poudriere interactive mode was able to build to each port successfully.  The build fails when non-interactive mode.
Comment 7 Muhammad Moinur Rahman freebsd_committer freebsd_triage 2022-01-31 23:02:26 UTC
(In reply to Tommy P from comment #2)
Can you check what happens if you add the following to make.conf:
WITH_MPM=event
Comment 8 Danny McGrath 2022-02-01 20:52:49 UTC
(In reply to Muhammad Moinur Rahman from comment #7)

I can't really test this bug any longer as I simply moved away from mod_php to a php-fpm setup because of the severity of the problem. Sorry!
Comment 9 Muhammad Moinur Rahman freebsd_committer freebsd_triage 2022-02-01 21:01:27 UTC
(In reply to Danny McGrath from comment #8)
Thanks for the update. Closing this for now.