Bug #3675
closedpfPorts failed builds on RELENG_2_2
0%
Description
I'm trying to build pfPorts as the first step of the whole build as I was instructed to do. I'm doing it like this in the tools/builder_scripts directory:
sh build.sh --build-pfPorts
The ports that fail to build are sysutils/squashfs-tools (part of sysutils/pcbsd-utils build) and www/pecl-APC.
In the case of sysutils/squashfs-tools the error message is very puzzling one:
===> Building for squashfs-tools-4.2 gmake[2]: Entering directory `/usr/ports/sysutils/squashfs-tools/work/squashfs4.2/squashfs-tools' cc -O2 -pipe -fno-strict-aliasing -std=gnu89 -I. -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DFNM_EXTMATCH=0 -D_GNU_SOURCE -DCOMP_DEFAULT=\"gzip\" -Wall -DGZIP_SUPPORT -DXZ_SUPPORT -DLZO_SUPPORT i386 -c -o mksquashfs.o mksquashfs.c cc -O2 -pipe -fno-strict-aliasing -std=gnu89 -I. -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DFNM_EXTMATCH=0 -D_GNU_SOURCE -DCOMP_DEFAULT=\"gzip\" -Wall -DGZIP_SUPPORT -DXZ_SUPPORT -DLZO_SUPPORT i386 -c -o read_fs.o read_fs.c cccc -O2 -pipe -fno-strict-aliasing -std=gnu89 -I. -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DFNM_EXTMATCH=0 -D_GNU_SOURCE -DCOMP_DEFAULT=\"gzip\" -Wall -DGZIP_SUPPORT -DXZ_SUPPORT -DLZO_SUPPORT i386 -c -o sort.o sort.c : error: no such file or directory: 'i386' cc -O2 -pipe -fno-strict-aliasing -std=gnu89 -I. -I/usr/local/include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -DFNM_EXTMATCH=0 -D_GNU_SOURCE -DCOMP_DEFAULT=\"gzip\" -Wall -DGZIP_SUPPORT -DXZ_SUPPORT -DLZO_SUPPORT i386 -c -o swap.o swap.c cc: error: no such file or directory: 'i386' gmake[2]: *** [mksquashfs.o] Error 1 gmake[2]: *** Waiting for unfinished jobs.... cc: error: no such file or directory: 'i386' gmake[2]: *** [read_fs.o] Error 1 cc: error: no such file or directory: 'i386' gmake[2]: *** [sort.o] Error 1 gmake[2]: *** [swap.o] Error 1 gmake[2]: Leaving directory `/usr/ports/sysutils/squashfs-tools/work/squashfs4.2/squashfs-tools' ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[1]: stopped in /usr/ports/sysutils/squashfs-tools *** Error code 1 Stop. make: stopped in /usr/ports/sysutils/pcbsd-utils
I can build sysutils/squashfs-tools just fine outside the pfSense build tools but here something causes the command lines to include a spurious 'i386' that the compiler thinks as a file name to read for source code and fails.
The www/pecl-APC port fails like this:
---------------------------------------------------------------------- --- all --- Build complete. Don't forget to run 'make test'. ===> Deinstalling for www/pecl-APC ===> pecl-APC not installed, skipping ===> Staging for pecl-APC-3.1.14_1 ===> pecl-APC-3.1.14_1 depends on file: /usr/local/include/php/main/php.h - found ===> Generating temporary packing list install: /usr/ports/www/pecl-APC/work/APC-3.1.13/modules/PORTNAME.so: No such file or directory *** Error code 71 Stop. make: stopped in /usr/ports/www/pecl-APC
To me that looks like the PORTNAME macro doesn't get expanded when needed. This error I can reproduce on the real build host using my poudriere-based package builder so this one seems like a real bug with the port and not with the pfSense build system.
My build environment is:
FreeBSD freebsd10.rdnzl.info 10.0-STABLE FreeBSD 10.0-STABLE #3 r266423: Mon May 19 13:52:59 EEST 2014 kimmo@freebsd10.rdnzl.info:/usr/obj/usr/src/sys/VT i386
I have the tools repo set up in a jail to separate the build from the real host. I have a jail-local /usr/ports fetched with portsnap(8) without any modifications and nullfs mounted /usr/src from the real host.
This is my pfsense-build.conf (/home/pfsense is relative to the jail root):
# set_version.sh generated defaults export PFSENSE_VERSION=2.2-DEVELOPMENT export FREEBSD_VERSION=10 export FREEBSD_BRANCH=stable/10 export FREEBSD_REPO_BASE=https://github.com/freebsd/freebsd.git export PFSENSETAG=RELENG_2_2 export CUSTOM_COPY_LIST=/home/pfsense/tools/builder_scripts/conf/copylist/copy.list.RELENG_2_2 export BASE_DIR=/home/pfsense export BUILDER_TOOLS=/home/pfsense/tools export BUILDER_SCRIPTS=/home/pfsense/tools/builder_scripts export PFSPATCHFILE=/home/pfsense/tools/builder_scripts/conf/patchlist/stable/10/patches export PFSPATCHDIR=/home/pfsense/tools/patches/stable/10 export EXTRA_DEVICES= export GIT_FREEBSD_COSHA1=e852cd69383058c931f6f569329eed128eb9d109 #export BUILD_ERROR_MAIL= #export BUILD_COMPLETED_MAIL= export PFSPORTSFILE=buildports.RELENG_2_2 #export NO_CLEANFREEBSDOBJDIR=YES #export NO_CLEANREPOS=YES GIT_REPO_BSDINSTALLER=git@git.pfsense.org:bsdinstaller.git GIT_REPO_PFSENSE=git@github.com:pfsense/pfsense.git