On recent CURRENT running poudriere for 12-PRE and 13-CURRENT, poudriere fails to build several packages concerning lang/php7[123]-extensions: all databases/php7[123]-pdo related ports, like databases/php72-pdo_pgsql, are failing due to a missing dependency. The log file for databases/php72-pdo_pgsql (same for _odbc, _mysql and so on) is: [...] =>> Building databases/php72-pdo_pgsql build started at Wed Nov 28 22:53:05 UTC 2018 port directory: /usr/ports/databases/php72-pdo_pgsql package name: php72-pdo_pgsql-7.2.12 [...] Poudriere version: 3.2.8 Host OSVERSION: 1300004 Jail OSVERSION: 1200086 Job Id: 01 [...] #!/usr/bin/env perl The first one will only work if you have a /usr/local/bin/perl, the second will work as long as perl is in PATH. ===> php72-pdo_pgsql-7.2.12 depends on package: autoconf>0 - found ===> Returning to build of php72-pdo_pgsql-7.2.12 ===> php72-pdo_pgsql-7.2.12 depends on file: /usr/local/lib/php/20170718/pdo.so - not found ===> Installing existing package /packages/All/php72-pdo-7.2.12.txz [anger.test.host.de] Installing php72-pdo-7.2.12... [anger.test.host.de] Extracting php72-pdo-7.2.12: .......... done ===> php72-pdo_pgsql-7.2.12 depends on file: /usr/local/lib/php/20170718/pdo.so - not found *** Error code 1 Stop. make: stopped in /usr/ports/databases/php72-pdo_pgsql
Is this still happening? I currently have no 13-CURRENT and it works fine for me on 12. Based on your description there seems to be a problem in Mk/Uses/php.mk. On which version of the ports-tree are you? Is it unmodified? Greetings, Torsten
This problem still ocurs on both 12-PRE/12-STABLE (poudriere) and 13-CURRENT (poudriere) as mentioned in the initial report. I have a customised environment. lang/php7[1-3]-extensions is configured that way, that ALL extensions are enabled. Since I did not see any thing that objects, I asume this not an incorrect doing. But I think the problems started occuring since I enabled those options by default.
This problem was triggered due to ZTS! Since I use Apache24 multithreaded, php has to be enabled with ZTS. An important difference bewteen a traditional real world /usr/ports make-built port and poudriere is mentioned in a somehow hidden way in Mk/Uses/php.mk, which states: "# If you are building PHP-based ports in poudriere(8) with ZTS enabled, # add WITH_MPM=event to /etc/make.conf to prevent build failures... " and I recall that I had once this problem and it has been solved - but I forgot about this: etc/poudriere.d/make.conf or any set or port-related make.conf-file (see man poudriere) must contain WITH_MPM=event Recently, I purged all the make.conf files for the poudriere runtime environments we use and by accident I deleted this line in question. It seems that after reemplacing the above line, the ports in question build as used to.