Project

General

Profile

Actions

Bug #3675

closed

pfPorts failed builds on RELENG_2_2

Added by Anonymous over 10 years ago. Updated over 10 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Unknown
Target version:
Start date:
05/21/2014
Due date:
% Done:

0%

Estimated time:
Plus Target Version:
Release Notes:
Affected Version:
2.2
Affected Architecture:
All

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
Actions

Also available in: Atom PDF