Bug 233620 - databases/php7[123]-pdo_pgsql: compilation error: missiong dependency: php7[123]-pdo
Summary: databases/php7[123]-pdo_pgsql: compilation error: missiong dependency: php7[1...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Torsten Zuehlsdorff
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-28 23:01 UTC by O. Hartmann
Modified: 2018-12-13 17:11 UTC (History)
0 users

See Also:
bugzilla: maintainer-feedback? (tz)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description O. Hartmann 2018-11-28 23:01:17 UTC
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
Comment 1 Torsten Zuehlsdorff freebsd_committer freebsd_triage 2018-12-11 11:07:37 UTC
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
Comment 2 O. Hartmann 2018-12-12 14:08:36 UTC
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.
Comment 3 O. Hartmann 2018-12-13 17:11:23 UTC
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.