Bug 226053 - sysutils/pcbsd-utils parallel build failure + chown failures when building as !root
Summary: sysutils/pcbsd-utils parallel build failure + chown failures when building as...
Status: New
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Kris Moore
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-02-20 00:02 UTC by Don Lewis
Modified: 2018-02-20 00:02 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Don Lewis freebsd_committer 2018-02-20 00:02:45 UTC
I attempted to do a parallel build of pcbsd-utils and observed this failure:

--- pc-krbconf.o ---
--- krb5-lexer.lex.c ---
--- krb5-parser.tab.c ---
--- pc-krbconf.o ---
cc -O2 -pipe  -fstack-protector -fno-strict-aliasing   -I. -I/wrkdirs/usr/ports/sysutils/pcbsd-utils/work/pcbsd-3c4d2b/src-sh/pcbsd-utils/pc-adct
l/pc-krbconf -MD  -MF.depend.pc-krbconf.o -MTpc-krbconf.o -std=gnu99 -fstack-protector-strong    -Qunused-arguments  -c pc-krbconf.c -o pc-krbcon
f.o
pc-krbconf.c:10:10: fatal error: 'krb5-parser.tab.h' file not found
#include "krb5-parser.tab.h"
         ^~~~~~~~~~~~~~~~~~~
1 error generated.
*** [pc-krbconf.o] Error code 1

make[3]: stopped in /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/pcbsd-3c4d2b/src-sh/pcbsd-utils/pc-adctl/pc-krbconf
--- krb5-lexer.lex.c ---
lex  -okrb5-lexer.lex.c krb5-lexer.l
--- krb5-parser.tab.c ---
yacc -okrb5-parser.tab.c -d krb5-parser.y
yacc: 1 rule never reduced
yacc: 10 shift/reduce conflicts, 4 reduce/reduce conflicts.
1 error

make[3]: stopped in /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/pcbsd-3c4d2b/src-sh/pcbsd-utils/pc-adctl/pc-krbconf


It is attempting to use a .h file generated by yacc before running yacc to generate the .h file.  Either the source Makefile should be patched to add the necessary dependency so that make runs the commands in the necessary order, or the MAKE_JOBS_UNSAFE=yes should be added to the port Makefile to force a single threaded build.

Also poudriere builds ports as the user nobody by default.  That causes these errors when building pcbsd-utils:

x ./bin/enable-tor-mode
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/.: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./bin: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./bin/restamp-grub: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./bin/disable-tor-mode: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./bin/enable-tor-mode: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/iso-mirror: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/pbi-mirror: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/smb4.conf: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/freebsd-update.conf: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/loader.conf.pcbsd: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/update-mirror: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/rc.conf.pcbsd: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/torrc: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/pcbsd-mirrors: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/pkg-mirror: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/loader.conf.trueos: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/conf/ntpd.conf: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/scripts: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/scripts/mkzfsdir.sh: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/scripts/sys-init.sh: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/scripts/rmzfsdir.sh: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/scripts/reset-firewall: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./share/pcbsd/scripts/reset-firewall-tor: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./etc: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./etc/fonts: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./etc/fonts/local.conf: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./etc/sudoers.d: Operation not permitted
chown: /wrkdirs/usr/ports/sysutils/pcbsd-utils/work/stage/usr/local/./etc/sudoers.d/pcbsd: Operation not permitted
cp -f install.sh install
chmod a+x install

Changing file ownership should be done using the knobs available in pkg-plist.