pkg-fallout reports the build error below. From a quick round of googling it appears that some is/was amiss in the Go port. I'm opening this PR so others have a reference if they run into the same problem. You are receiving this mail as a port that you maintain is failing to build on the FreeBSD package build server. Please investigate the failure and submit a PR to fix build. Maintainer: stb@lassitu.de Last committer: tobik@FreeBSD.org Ident: $FreeBSD: head/www/gitea/Makefile 436065 2017-03-13 10:52:26Z tobik $ Log URL: http://beefy11.nyi.freebsd.org/data/head-i386-default/p436940_s315968/logs/gitea-1.1.0.log Build URL: http://beefy11.nyi.freebsd.org/build.html?mastername=head-i386-default&build=p436940_s315968 Log: ====>> Building www/gitea build started at Tue Mar 28 03:06:51 UTC 2017 port directory: /usr/ports/www/gitea building for: FreeBSD head-i386-default-job-01 12.0-CURRENT FreeBSD 12.0-CURRENT r315968 i386 maintained by: stb@lassitu.de Makefile ident: $FreeBSD: head/www/gitea/Makefile 436065 2017-03-13 10:52:26Z tobik $ Poudriere version: 3.1.16-15-g422980c5 Host OSVERSION: 1200020 Jail OSVERSION: 1200027 Job Id: 01 !!! Jail is newer than host. (Jail: 1200027, Host: 1200020) !!! !!! This is not supported. !!! !!! Host kernel must be same or newer than jail. !!! !!! Expect build failures. !!! ---Begin Environment--- SHELL=/bin/csh UNAME_p=i386 UNAME_m=i386 OSVERSION=1200027 UNAME_v=FreeBSD 12.0-CURRENT r315968 UNAME_r=12.0-CURRENT BLOCKSIZE=K MAIL=/var/mail/root STATUS=1 SAVED_TERM=screen MASTERMNT=/usr/local/poudriere/data/.m/head-i386-default/ref PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin POUDRIERE_BUILD_TYPE=bulk PKGNAME=gitea-1.1.0 OLDPWD=/ PWD=/usr/local/poudriere/data/.m/head-i386-default/ref/.p/pool MASTERNAME=head-i386-default SCRIPTPREFIX=/usr/local/share/poudriere USER=root HOME=/root POUDRIERE_VERSION=3.1.16-15-g422980c5 SCRIPTPATH=/usr/local/share/poudriere/bulk.sh LIBEXECPREFIX=/usr/local/libexec/poudriere LOCALBASE=/usr/local PACKAGE_BUILDING=yes POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin OPTIONS List--- ===> The following configuration options are available for gitea-1.1.0: CERT=on: Automatic creation of self-signed certificates PAM=on: Authentication using PAM SQLITE=on: SQLite database support ===> Use 'make config' to modify these settings ---End OPTIONS List--- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/www/gitea/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/gitea/work HOME=/wrkdirs/usr/ports/www/gitea/work TMPDIR="/tmp" SHELL=/bin/sh CONFIG_SHELL=/bin/sh --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/www/gitea/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/www/gitea/work HOME=/wrkdirs/usr/ports/www/gitea/work TMPDIR="/tmp" NO_PIE=yes MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES 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 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- GO_LIBDIR=share/go/pkg/freebsd_386 GO_SRCDIR=share/go/src GO_PKGNAME=code.gitea.io/gitea OSREL=12.0 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local PORTDOCS="" PORTEXAMPLES="" LIB32DIR=lib DOCSDIR="share/doc/gitea" EXAMPLESDIR="share/examples/gitea" DATADIR="share/gitea" WWWDIR="www/gitea" ETCDIR="etc/gitea" --End PLIST_SUB-- --SUB_LIST-- GITUSER=git PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/gitea DOCSDIR=/usr/local/share/doc/gitea EXAMPLESDIR=/usr/local/share/examples/gitea WWWDIR=/usr/local/www/gitea ETCDIR=/usr/local/etc/gitea --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles MACHINE=i386 MACHINE_ARCH=i386 ARCH=${MACHINE_ARCH} #### /usr/local/etc/poudriere.d/make.conf #### # XXX: We really need this but cannot use it while 'make checksum' does not # try the next mirror on checksum failure. It currently retries the same # failed mirror and then fails rather then trying another. It *does* # try the next if the size is mismatched though. #MASTER_SITE_FREEBSD=yes # Build ALLOW_MAKE_JOBS_PACKAGES with 2 jobs MAKE_JOBS_NUMBER=2 #### /usr/ports/Mk/Scripts/ports_env.sh #### ARCH=i386 CONFIGURE_MAX_CMD_LEN=262144 OPSYS=FreeBSD OSREL=12.0 OSVERSION=1200027 PYTHONBASE=/usr/local UID=0 _JAVA_OS_LIST_REGEXP=native\|linux _JAVA_VENDOR_LIST_REGEXP=openjdk\|oracle\|sun _JAVA_VERSION_LIST_REGEXP=1.6\|1.7\|1.8\|1.6+\|1.7+\|1.8+ _OSRELEASE=12.0-CURRENT #### Misc Poudriere #### GID=0 DISABLE_MAKE_JOBS=poudriere ---End make.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 524288 stack size (kbytes, -s) 65536 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 1024 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited --End resource limits-- =======================<phase: check-sanity >============================ ===> License MIT accepted by the user =========================================================================== =======================<phase: pkg-depends >============================ ===> gitea-1.1.0 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.10.0_2.txz [head-i386-default-job-01] Installing pkg-1.10.0_2... [head-i386-default-job-01] Extracting pkg-1.10.0_2: .......... done ===> gitea-1.1.0 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of gitea-1.1.0 =========================================================================== =======================<phase: fetch-depends >============================ =========================================================================== =======================<phase: fetch >============================ ===> License MIT accepted by the user ===> Fetching all distfiles required by gitea-1.1.0 for building =========================================================================== =======================<phase: checksum >============================ ===> License MIT accepted by the user ===> Fetching all distfiles required by gitea-1.1.0 for building => SHA256 Checksum OK for go-gitea-gitea-v1.1.0_GH0.tar.gz. =========================================================================== =======================<phase: extract-depends>============================ =========================================================================== =======================<phase: extract >============================ ===> License MIT accepted by the user ===> Fetching all distfiles required by gitea-1.1.0 for building ===> Extracting for gitea-1.1.0 => SHA256 Checksum OK for go-gitea-gitea-v1.1.0_GH0.tar.gz. =========================================================================== =======================<phase: patch-depends >============================ =========================================================================== =======================<phase: patch >============================ ===> Patching for gitea-1.1.0 =========================================================================== =======================<phase: build-depends >============================ ===> gitea-1.1.0 depends on file: /usr/local/bin/go - not found ===> Installing existing package /packages/All/go-1.8,1.txz [head-i386-default-job-01] Installing go-1.8,1... [head-i386-default-job-01] Extracting go-1.8,1: .......... done ===> gitea-1.1.0 depends on file: /usr/local/bin/go - found ===> Returning to build of gitea-1.1.0 =========================================================================== =======================<phase: lib-depends >============================ =========================================================================== =======================<phase: configure >============================ ===> Configuring for gitea-1.1.0 =========================================================================== =======================<phase: build >============================ ===> Building for gitea-1.1.0 syscall code.gitea.io/gitea/vendor/github.com/mcuadros/go-version code.gitea.io/gitea/modules/minwinsvc code.gitea.io/gitea/vendor/gopkg.in/bufio.v1 code.gitea.io/gitea/vendor/github.com/gogits/chardet code.gitea.io/gitea/vendor/golang.org/x/net/html/atom code.gitea.io/gitea/vendor/github.com/shurcooL/sanitized_anchor_name code.gitea.io/gitea/modules/util code.gitea.io/gitea/vendor/github.com/steveyen/gtreap code.gitea.io/gitea/vendor/github.com/blevesearch/go-porterstemmer code.gitea.io/gitea/vendor/golang.org/x/crypto/md4 code.gitea.io/gitea/vendor/github.com/lib/pq/oid code.gitea.io/gitea/vendor/golang.org/x/crypto/pbkdf2 code.gitea.io/gitea/vendor/github.com/nfnt/resize code.gitea.io/gitea/vendor/golang.org/x/crypto/curve25519 code.gitea.io/gitea/vendor/golang.org/x/crypto/ed25519/internal/edwards25519 code.gitea.io/gitea/vendor/golang.org/x/text/encoding/internal/identifier code.gitea.io/gitea/vendor/golang.org/x/text/transform code.gitea.io/gitea/vendor/golang.org/x/text/internal/utf8internal code.gitea.io/gitea/vendor/golang.org/x/text/internal/tag code.gitea.io/gitea/vendor/github.com/Unknwon/paginater code.gitea.io/gitea/vendor/github.com/klauspost/crc32 # syscall /usr/local/go/src/syscall/exec_unix.go:188: undefined: forkExecPipe code.gitea.io/gitea/vendor/golang.org/x/text/encoding code.gitea.io/gitea/vendor/golang.org/x/text/runes code.gitea.io/gitea/vendor/golang.org/x/text/encoding/internal code.gitea.io/gitea/vendor/golang.org/x/text/encoding/charmap code.gitea.io/gitea/vendor/golang.org/x/text/encoding/japanese code.gitea.io/gitea/vendor/golang.org/x/text/encoding/korean code.gitea.io/gitea/vendor/golang.org/x/text/encoding/simplifiedchinese code.gitea.io/gitea/vendor/golang.org/x/text/encoding/traditionalchinese code.gitea.io/gitea/vendor/golang.org/x/text/encoding/unicode *** Error code 2 Stop. make: stopped in /usr/ports/www/gitea
On amd64 with go-1.7.4,1 installed from pkg, the build appears to be working just fine.
Build with go-1.8_1,1 works as well.
I can't find a PR or mailing list post that discusses the issue explicitly, but from reading through a couple of PRs and Github issues, it appears that for Go to work correctly, COMPAT_FREEBSD32 and COMPAT_FREEBSD10 need to be enabled in the kernel. Go relies on certain syscalls being available, and in the FreeBSD 11 ABI, pipe(2) and a version of fork(2) were removed. Most binaries will pick up the compatibility wrapper from libc, but Go doesn't. https://github.com/golang/go/issues/18854