poudriere: problems setting options/build failure ZTS related stuff

O. Hartmann ohartmann at walstatt.org
Tue Dec 6 08:03:22 UTC 2016


Hello out here,

first, please CC me, I'm not actively subscribing this list.

Since a couple of weeks now I face a nasty problem with building ports using poudriere.
For our department's infrastructure and my home office's jails, I provide packages build
with poudriere.

Having a threaded Apache, port www/apache24, this requires several ports to have option
ZTS enabled, in particular lang/php56, www/mod_php56 and subsequent ports.


I have already filed a PR:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=214979

But obviusly, there is nobody else facing this problem and this lead to the conclusion,
that no one else is using a threaded Apache 2.4 with the requirement of setting option
ZTS in related PHP stuff. The problem is always the same:

devel/pear: ERR: pear-1.10.1 depends on file: /usr/local/lib/php/20131226/xml.so - not
found

or

textproc/php56-xmlreader: ERR: php56-xmlreader-5.6.28 depends on
file: /usr/local/lib/php/20131226/dom.so - not found

or

databases/php56-pdo_pgsql: ERR: php56-pdo_pgsql-5.6.28 depends on
file: /usr/local/lib/php/20131226/pdo.so - not found

and so forth. The missing modules are expected to reside
in /usr/local/lib/php/20131226-zts/ instead of the error
triggering /usr/local/lib/php/20131226.

That would indicated to me that some ports, especially related to XML, PDO and so forth
are not found by the specific ports. They are definitely installed
in /usr/local/lib/php/20131226-zts/ during the poudriere build - but the ports requiring
those modules seem to not to respect the ZTS appendix to the path.

I deleted ALL(!) php56 related packages from the packaged folder forcing pourdriere to
start rebuilding all of these packages and further I ran again through the very time
costly procidure of configuration. But that didn't help much, the problems stayed. So I
decided to delete all packages with "poudriere bulk -c" - that is something people want
to avoid since it takes ages on slow machines. But even that is without effect!

Since a lot of ports require a working php56 environment, like wikimedia,
icinga2/icingaweb2 and many others we use, updating the jails automatically via pkg is a
mess resulting in non-working bugzilla50, for instance - its php environment complains
about not finding the required modules anymore. That corrupts the whole ports/pkg idea!

On the contrary, when doing a classical, rock-solid installation via the "make install"
way, everything is smooth. Even packages build via "make package" respect the ZTS
settings. On four target servers and two other machines I tried this and it worked.

I'm not much familiar with poudriere but this problem popped out of the blue a couple of
weeks for now and I'm unwilling to bisect it. I thought pkg/poudriere might be a solution
to reduce workload on updates for a bunch of jails we use, but this problem is bugging me
really hard. I have no clue how to circumvent or fix it. 

I'll try to build a manual package via make and commit this to the package repo in the
hope it will temporarily fix the problem, but this couldn't be a long-term solution.

It would be nice if someone could hint me towards what I'm doing wrong here or look at
the problem. The other question is: is ZTS REALLY(?) necessary? There is a strong warning
popping up when building www/mod_php56 regarding to this.


Many thanks in advance,

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).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 313 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20161206/48c87b74/attachment.sig>


More information about the freebsd-ports mailing list