[poudriere]: lang/php56 is unwilling to build with ZTS

O. Hartmann ohartmann at walstatt.org
Sat Nov 19 16:54:44 UTC 2016


Am Thu, 3 Nov 2016 12:03:55 +1000
Dima Panov <fluffy at FreeBSD.org> schrieb:

> 01.11.16 20:49, O. Hartmann пишет:
> > Obviously I ran into a problem with recent poudriere on CURRENT building ports
> > in a CURRENT jail.
> > 
> > Building threaded www/apache24 requires lang/php56 having option ZTS set. I did
> > so. I tried to rebuild all depending ports, but I run into rpoblems then with
> > php56: for instance, textproc/php56-xmlreader fails to build, the poudriere log
> > gives the reason:
> >   
> > ===>   php56-xmlreader-5.6.27 depends on  
> > file: /usr/local/lib/php/20131226/dom.so - not found
> > 
> > On systems with properly set ZTS, the expected folder for PHP modules would be
> > 
> > /usr/local/lib/php/20131226-zts/
> > 
> > When I first discovered this, I tried to delete and rebuild lang/php56 from
> > packages - definitely with option ZTS set - but the error is persistant.
> > 
> > I'm unwilling to rebuild ALL thousands of packages, so I need some advice how
> > to solve this problem.
> > 
> > Please CC me, I do not subscribe the list. Thanks.
> > 
> > Thank you very much in advance,
> >   
> 
> Some tweaks with poudriere build environment requred to suport ZTS build:
> 
> cat /usr/local/poudriere.d/make.conf
> 
> # www/apache24
> WITH_MPM=event
> 
> 
> Meanwhile, I've got today another problem with poudriere. 
> 
> 'poudriere options' with non-default portstree uses options subdir from default tree, 
> but 'poudriere bulk' hooks up the right options tree, without configured options, at
> all. 
> 
> 
> 
> 

I have not come far since then, the problem still persists. I figured out that even if
issuing the command:

poudriere bulk -p head -z default -j head-amd64 -C lang/php56

which is supposed to delete the package lang/php56 and rebuild it, the package is
rebuilt, but it does not respect the option WITH ZTS. The jail's sources are most recent
12-CURRENT, the build system is residing on a ZFS volume for convenience. I keep three
instances of old packages, so in my case the location

/pool/poudriere/data/packages/head-amd64-head-default/.latest 

which is a symbolic link to the most recent and last built, still holds a package
lang/php56 which ist several days old, although I changed the option ZTS twice AND
issuing the above command forcing a rebuild! Obviously poudriere does not respect this
and seems to be ignoring or confusing the directories - I do not know. By now, I manually
deleted several packages in the lates ".latest" folder, selected by date and tried to
restart building my packages. poudriere then came up with more than 600 packages to be
rebuild. But it still fails on some key packages:

textproc/php56-wddx:
[...]
===>   php56-wddx-5.6.27 depends on file: /usr/local/lib/php/20131226/xml.so - not found
===>   Installing existing package /packages/All/php56-xml-5.6.27.txz


devel/pear:
===>   pear-1.10.1 depends on file: /usr/local/lib/php/20131226/xml.so - not found
===>   Installing existing package /packages/All/php56-xml-5.6.27.txz

and additionally:
textproc/php56-xmlreader
textproc/php56-xsl
databases/php56-pdo_pgsql


They all seem to have their problems sourced in php56-xml-5.6.27.txz. I also tried to
rebuild exactly this package php56-xml-5.6.27.txz - but without success, I also deleted
it and all(!) php56-xxx ports and jumping into the very same problem of a huge amount of
rebuilds.

So, I suspect some problems regarding ZTS build in XML-related ports, or a general
problem of poudriere. By deleting all php56-xxx packages and proper configuring the
options for lang/php56 as well as www/apache24 and devel/apr1, I would expect that 

/usr/local/lib/php/20131226-zts/xml.so

would appear instead of

/usr/local/lib/php/20131226/xml.so.

I'm lost here! My resources are limited, builds take a whole day on my box and I'm no
expert in the abyss of poudriere, so to answere the question, what my 

usr/local/etc/php.conf

(in poudriere) look like, I need help.

/usr/local/etc/php.conf on my systems which use custom build via portmaster looks correct:

PHP_VER=56
PHP_VERSION=5.6.27
PHP_SAPI=cli cgi fpm
PHP_EXT_INC=pcre spl
PHP_EXT_DIR=20131226-zts

But this is not poudriere's environment.

Kind regards,

Oliver

-- 
O. Hartmann

Ich widerspreche der Nutzung oder Übermittlung meiner Daten für
Werbezwecke oder für die Markt- oder Meinungsforschung (§ 28 Abs. 4 BDSG).


More information about the freebsd-ports mailing list