Bug 240886 - ports-mgmt/poudriere: jail -c -m src fails during make installworld
Summary: ports-mgmt/poudriere: jail -c -m src fails during make installworld
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Bryan Drewery
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-09-27 21:26 UTC by Dwayne MacKinnon
Modified: 2019-09-27 21:55 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dwayne MacKinnon 2019-09-27 21:26:02 UTC
I use an amd64 FreeBSD workstation to compile packages for an old i386 laptop using poudriere. 

I recently updated the amd64 workstation to 12.0-RELEASE-p10 and wished to update the poudriere jail to the same release.

I maintain an i386 jail to do build i386 world and kernel to keep the laptop up to date. I also use it as a basis for the poudriere jail.

I updated the build jail to 12.0-RELEASE-p10 no problem. However, when I attempted to update the poudriere jail with poudriere jail -u -j laptop it failed.

I decided to start over (the jail update would force a full rebuild of every pkg anyways) and deleted the jail with poudriere jail -d -j laptop .

I then tried to create a new i386 poudriere jail using poudriere jail -c -j laptop -m src=/usr/src -a i386 it failed. Messages as follows:

===> include/xlocale (install)
install -N /usr/src/etc  -C -o root -g wheel -m 444  /usr/src/include/xlocale/_ctype.h /usr/src/include/xlocale/_inttypes.h /usr/src/include/xlocale/_langinfo.h /usr/src/include/xlocale/_locale.h /usr/src/include/xlocale/_monetary.h /usr/src/include/xlocale/_stdio.h /usr/src/include/xlocale/_stdlib.h /usr/src/include/xlocale/_string.h /usr/src/include/xlocale/_strings.h /usr/src/include/xlocale/_time.h /usr/src/include/xlocale/_uchar.h /usr/src/include/xlocale/_wchar.h /usr/local/poudriere/jails/laptop/usr/include/xlocale/
===> include/gssapi (install)
install -N /usr/src/etc  -C -o root -g wheel -m 444  /usr/src/include/gssapi/gssapi.h /usr/local/poudriere/jails/laptop/usr/include/gssapi/
env NEWVERS_SH=/usr/src/sys/conf/newvers.sh PARAMFILE=/usr/src/sys/sys/param.h SYSDIR=/usr/src/sys  sh /usr/src/include/mk-osreldate.sh
sh: env: not found
*** [osreldate.h] Error code 127

make[4]: stopped in /usr/src/include
1 error

make[4]: stopped in /usr/src/include
*** [realinstall_subdir_include] Error code 2

make[3]: stopped in /usr/src
1 error

make[3]: stopped in /usr/src
*** [reinstall] Error code 2

make[2]: stopped in /usr/src
1 error

make[2]: stopped in /usr/src
*** [installworld] Error code 2

make[1]: stopped in /usr/src
1 error

make[1]: stopped in /usr/src
*** [installworld] Error code 2

make: stopped in /usr/src
1 error

make: stopped in /usr/src
[00:02:03] Error: Failed to 'make installworld'
[00:02:03] Error while creating jail, cleaning up.
[00:02:03] Removing laptop jail... done
[00:02:05] Cleaning laptop data... done
Comment 1 Bryan Drewery freebsd_committer freebsd_triage 2019-09-27 21:28:58 UTC
What version of Poudriere?
Comment 2 Dwayne MacKinnon 2019-09-27 21:31:26 UTC
Ack, my apologies, that should've been in the original comment: poudriere-3.3.2_1
.
Comment 3 Bryan Drewery freebsd_committer freebsd_triage 2019-09-27 21:38:05 UTC
The error there means that osreldate.h is trying to build during install
which isn't supported.
Basically you need to go do a buildworld in /usr/src first.

man poudriere-jail (might be man poudriere in 3.2):

                  src=PATH       Install from the given src directory at PATH.  This directory will not be built from.  It is expected that it is already built and maps to a corresponding /usr/obj directory.
Comment 4 Dwayne MacKinnon 2019-09-27 21:55:49 UTC
I see my error now. My /usr/obj tree wasn't properly configured, confusing poudriere jail. (My buildworld was compiled in an off-tree location.) Sorry.