The ports collection has some serious issues

Jim Trigg jktrigg at gmail.com
Mon Dec 19 05:42:35 UTC 2016


On 12/18/2016 02:24 AM, John Marino wrote:
> 2) portmaster's dirty build method is inferior to clean environment
> builds (true)
> 3) There is better and official alternative (true)

Maybe. I have a case where portmaster (on my current production box) 
builds fine but poudriere (on my intended replacement production box) 
does not.

Case in point: php70-pdo_*. The first time I tried a build pdo_sqlite 
failed. This time (after correcting other ports' option problems) 
pdo_mysql fails for basically the same reason - pdo_* cannot find pdo 
because pdo thinks PHP_EXT_DIR=20151012-zts but pdo_* thinks 
PHP_EXT_DIR=20151012 - log for the latter below signature. Yet doing the 
build with postmaster works fine.

> 4) There's a second, even more effective alternative for x86 platforms
> (true)

I can not as yet contest this. I haven't tried synth because if 
poudriere works it will have further value add for me (as a port 
maintainer I can build my port in multiple environments on a single 
box). Dealing with the conversion factor isn't worth it to me for the 
alleged gains synth brings.

--
Jim Trigg

Log for php70-pdo_mysql
====>> Building databases/php70-pdo_mysql
build started at Sun Dec 18 23:53:21 EST 2016
port directory: /usr/ports/databases/php70-pdo_mysql
building for: FreeBSD freebsd_10-3x64-HEAD-job-04 10.3-RELEASE-p14 
FreeBSD 10.3-RELEASE-p14 amd64
maintained by: tz at FreeBSD.org
Makefile ident:      $FreeBSD: head/databases/php70-pdo_mysql/Makefile 
422569 2016-09-21 15:43:47Z tz $
Poudriere version: 3.1.14
Host OSVERSION: 1003000
Jail OSVERSION: 1003000

---Begin Environment---
SHELL=/bin/csh
UNAME_v=FreeBSD 10.3-RELEASE-p14
UNAME_r=10.3-RELEASE-p14
BLOCKSIZE=K
MAIL=/var/mail/root
STATUS=1
ARCH=amd64
SAVED_TERM=screen
MASTERMNT=/srv/poudriere/data/.m/freebsd_10-3x64-HEAD/ref
UID=0
FORCE_PACKAGE=yes
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/root/bin
_JAVA_VERSION_LIST_REGEXP=1.6\|1.7\|1.8\|1.6+\|1.7+\|1.8+
POUDRIERE_BUILD_TYPE=bulk
PKGNAME=php70-pdo_mysql-7.0.14
OSREL=10.3
_OSRELEASE=10.3-RELEASE-p14
PYTHONBASE=/usr/local
OLDPWD=/
_SMP_CPUS=4
PWD=/srv/poudriere/data/.m/freebsd_10-3x64-HEAD/ref/.p/pool
HAVE_COMPAT_IA32_KERN=YES OPSYS=FreeBSD
MASTERNAME=freebsd_10-3x64-HEAD
SCRIPTPREFIX=/usr/local/share/poudriere
_JAVA_VENDOR_LIST_REGEXP=openjdk\|oracle\|sun
USER=root
HOME=/root
POUDRIERE_VERSION=3.1.14
SCRIPTPATH=/usr/local/share/poudriere/bulk.sh
CONFIGURE_MAX_CMD_LEN=262144
LIBEXECPREFIX=/usr/local/libexec/poudriere
LOCALBASE=/usr/local
PACKAGE_BUILDING=yes
_JAVA_OS_LIST_REGEXP=native\|linux
OSVERSION=1003000
---End Environment---

---Begin OPTIONS List---
===> The following configuration options are available for 
php70-pdo_mysql-7.0.14:
      MYSQLND=on: Use MySQL Native Driver
===> Use 'make config' to modify these settings
---End OPTIONS List---

--CONFIGURE_ARGS--
--with-pdo-mysql=mysqlnd --with-php-config=/usr/local/bin/php-config 
--prefix=/usr/local ${_LATE_CONFIGURE_ARGS}
--End CONFIGURE_ARGS--

--CONFIGURE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/databases/php70-pdo_mysql/work 
XDG_CONFIG_HOME=/wrkdirs/usr/ports/databases/php70-pdo_mysql/work 
HOME=/wrkdirs/usr/ports/databases/php70-pdo_mysql/work TMPDIR="/tmp" 
SHELL=/bin/sh CONFIG_SHELL=/bin/sh 
AUTOCONF=/usr/local/bin/autoconf-2.69 
AUTOCONF_DIR=/usr/local/share/autoconf-2.69 
AUTOHEADER=/usr/local/bin/autoheader-2.69 
AUTOIFNAMES=/usr/local/bin/ifnames-2.69 
AUTOM4TE=/usr/local/bin/autom4te-2.69 
AUTORECONF=/usr/local/bin/autoreconf-2.69 
AUTOSCAN=/usr/local/bin/autoscan-2.69 
AUTOUPDATE=/usr/local/bin/autoupdate-2.69  AUTOCONF_VERSION=2.69 
CONFIG_SITE=/usr/ports/Templates/config.site lt_cv_sys_max_cmd_len=262144
--End CONFIGURE_ENV--

--MAKE_ENV--
XDG_DATA_HOME=/wrkdirs/usr/ports/databases/php70-pdo_mysql/work 
XDG_CONFIG_HOME=/wrkdirs/usr/ports/databases/php70-pdo_mysql/work 
HOME=/wrkdirs/usr/ports/databases/php70-pdo_mysql/work TMPDIR="/tmp" 
NO_PIE=yes WITHOUT_DEBUG_FILES=yes WITHOUT_KERNEL_SYMBOLS=yes 
SHELL=/bin/sh NO_LINT=YES  AUTOCONF=/usr/local/bin/autoconf-2.69 
AUTOCONF_DIR=/usr/local/share/autoconf-2.69 
AUTOHEADER=/usr/local/bin/autoheader-2.69 
AUTOIFNAMES=/usr/local/bin/ifnames-2.69 
AUTOM4TE=/usr/local/bin/autom4te-2.69 
AUTORECONF=/usr/local/bin/autoreconf-2.69 
AUTOSCAN=/usr/local/bin/autoscan-2.69 
AUTOUPDATE=/usr/local/bin/autoupdate-2.69  AUTOCONF_VERSION=2.69 
PREFIX=/usr/local  LOCALBASE=/usr/local  LIBDIR="/usr/lib"  CC="cc" 
CFLAGS="-O2 -pipe  -fstack-protector -fno-strict-aliasing"  CPP="cpp" 
CPPFLAGS=""  LDFLAGS=" -fstack-protector" LIBS=""  CXX="c++" 
CXXFLAGS="-O2 -pipe -fstack-protector -fno-strict-aliasing " 
MANPREFIX="/usr/local" BSD_INSTALL_PROGRAM="install  -s -m 555" 
BSD_INSTALL_LIB="install  -s -m 444"  BSD_INSTALL_SCRIPT="install  -m 
555"  BSD_INSTALL_DATA="install  -m 0644"  BSD_INSTALL_MAN="install  -m 444"
--End MAKE_ENV--

--PLIST_SUB--
PHP_EXT_DIR=20151012
OSREL=10.3
PREFIX=%D
LOCALBASE=/usr/local
RESETPREFIX=/usr/local
PORTDOCS=""
PORTEXAMPLES=""
LIB32DIR=lib
DOCSDIR="share/doc/php70"
EXAMPLESDIR="share/examples/php70"
DATADIR="share/php70"
WWWDIR="www/php70"
ETCDIR="etc/php70"
--End PLIST_SUB--

--SUB_LIST--
PHP_EXT_DIR=20151012
PREFIX=/usr/local
LOCALBASE=/usr/local
DATADIR=/usr/local/share/php70
DOCSDIR=/usr/local/share/doc/php70
EXAMPLESDIR=/usr/local/share/examples/php70
WWWDIR=/usr/local/www/php70
ETCDIR=/usr/local/etc/php70
--End SUB_LIST--

---Begin make.conf---
USE_PACKAGE_DEPENDS=yes
BATCH=yes
WRKDIRPREFIX=/wrkdirs
PORTSDIR=/usr/ports
PACKAGES=/packages
DISTDIR=/distfiles
#### /usr/local/etc/poudriere.d/freebsd_10-3x64-make.conf ####
WITH_PKGNG=yes

DEFAULT_VERSIONS= php=70 apache=2.4 python=2.7 python2=2.7 python3=3.3 
perl5=5.24 ssl=openssl postgresql=96
DISABLE_MAKE_JOBS=poudriere
---End make.conf---
=======================<phase: check-sanity   >============================
===>  License PHP301 accepted by the user
===========================================================================
=======================<phase: pkg-depends    >============================
===>   php70-pdo_mysql-7.0.14 depends on file: /usr/local/sbin/pkg - not 
found
===>   Installing existing package /packages/All/pkg-1.9.4.txz
[freebsd_10-3x64-HEAD-job-04] Installing pkg-1.9.4...
[freebsd_10-3x64-HEAD-job-04] Extracting pkg-1.9.4: .......... done
===>   php70-pdo_mysql-7.0.14 depends on file: /usr/local/sbin/pkg - found
===>   Returning to build of php70-pdo_mysql-7.0.14
===========================================================================
=======================<phase: fetch-depends  >============================
===========================================================================
=======================<phase: fetch          >============================
===>  License PHP301 accepted by the user
===> Fetching all distfiles required by php70-pdo_mysql-7.0.14 for building
===========================================================================
=======================<phase: checksum       >============================
===>  License PHP301 accepted by the user
===> Fetching all distfiles required by php70-pdo_mysql-7.0.14 for building
=> SHA256 Checksum OK for php-7.0.14.tar.xz.
===========================================================================
=======================<phase: extract-depends>============================
===========================================================================
=======================<phase: extract        >============================
===>  License PHP301 accepted by the user
===> Fetching all distfiles required by php70-pdo_mysql-7.0.14 for building
===>  Extracting for php70-pdo_mysql-7.0.14
=> SHA256 Checksum OK for php-7.0.14.tar.xz.
===========================================================================
=======================<phase: patch-depends  >============================
===========================================================================
=======================<phase: patch          >============================
===>  Patching for php70-pdo_mysql-7.0.14
===========================================================================
=======================<phase: build-depends  >============================
===>   php70-pdo_mysql-7.0.14 depends on file: /usr/local/bin/phpize - 
not found
===>   Installing existing package /packages/All/php70-7.0.14.txz
[freebsd_10-3x64-HEAD-job-04] Installing php70-7.0.14...
[freebsd_10-3x64-HEAD-job-04] `-- Installing libxml2-2.9.4...
[freebsd_10-3x64-HEAD-job-04] `-- Extracting libxml2-2.9.4: .......... done
[freebsd_10-3x64-HEAD-job-04] `-- Installing pcre-8.39_1...
[freebsd_10-3x64-HEAD-job-04] |   `-- Installing libedit-3.1.20150325_2,1...
[freebsd_10-3x64-HEAD-job-04] |   `-- Extracting 
libedit-3.1.20150325_2,1: .......... done
[freebsd_10-3x64-HEAD-job-04] `-- Extracting pcre-8.39_1: .......... done
[freebsd_10-3x64-HEAD-job-04] Extracting php70-7.0.14: .......... done
===>   php70-pdo_mysql-7.0.14 depends on file: /usr/local/bin/phpize - found
===>   Returning to build of php70-pdo_mysql-7.0.14
===>   php70-pdo_mysql-7.0.14 depends on file: 
/usr/local/bin/autoconf-2.69 - not found
===>   Installing existing package /packages/All/autoconf-2.69_1.txz
[freebsd_10-3x64-HEAD-job-04] Installing autoconf-2.69_1...
[freebsd_10-3x64-HEAD-job-04] `-- Installing indexinfo-0.2.6...
[freebsd_10-3x64-HEAD-job-04] `-- Extracting indexinfo-0.2.6: .... done
[freebsd_10-3x64-HEAD-job-04] `-- Installing autoconf-wrapper-20131203...
[freebsd_10-3x64-HEAD-job-04] `-- Extracting autoconf-wrapper-20131203: 
........ done
[freebsd_10-3x64-HEAD-job-04] `-- Installing perl5-5.24.1.r4...
[freebsd_10-3x64-HEAD-job-04] `-- Extracting perl5-5.24.1.r4: .......... 
done
[freebsd_10-3x64-HEAD-job-04] `-- Installing m4-1.4.17_1,1...
[freebsd_10-3x64-HEAD-job-04] `-- Extracting m4-1.4.17_1,1: .......... done
[freebsd_10-3x64-HEAD-job-04] Extracting autoconf-2.69_1: .......... done
Message from perl5-5.24.1.r4:
The /usr/bin/perl symlink has been removed starting with Perl 5.20.
For shebangs, you should either use:

#!/usr/local/bin/perl

or

#!/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.
===>   php70-pdo_mysql-7.0.14 depends on file: 
/usr/local/bin/autoconf-2.69 - found
===>   Returning to build of php70-pdo_mysql-7.0.14
===>   php70-pdo_mysql-7.0.14 depends on file: 
/usr/local/lib/php/20151012/pdo.so - not found
===>   Installing existing package /packages/All/php70-pdo-7.0.14.txz
[freebsd_10-3x64-HEAD-job-04] Installing php70-pdo-7.0.14...
[freebsd_10-3x64-HEAD-job-04] Extracting php70-pdo-7.0.14: .......... done
Message from php70-pdo-7.0.14:
****************************************************************************

The following line has been added to your /usr/local/etc/php/ext-20-pdo.ini
configuration file to automatically load the installed extension:

extension=pdo.so

****************************************************************************
===>   php70-pdo_mysql-7.0.14 depends on file: 
/usr/local/lib/php/20151012/pdo.so - not found
*** Error code 1

Stop.
make: stopped in /usr/ports/databases/php70-pdo_mysql
====>> Cleaning up wrkdir
===>  Cleaning for php70-pdo_mysql-7.0.14
build of databases/php70-pdo_mysql ended at Sun Dec 18 23:53:26 EST 2016
build time: 00:00:05
!!! build failure encountered !!!



More information about the freebsd-ports mailing list