building an 8.4-STABLE i386 poudriere jail on an 10.0-STABLE amd64 host

Don Lewis truckman at FreeBSD.org
Fri Aug 29 07:09:10 UTC 2014


On 28 Aug, To: ian at freebsd.org wrote:
> On 28 Aug, Ian Lepore wrote:
>> On Wed, 2014-08-27 at 18:45 -0700, Don Lewis wrote:
>>> I'm trying to create an 8.4-STABLE i386 poudriere jail on a host that is
>>> running 10.0-STABLE amd64.  I'm running the following commmand:
>>> 
>>> poudriere jail -c -j 84STABLEi386 -m svn -v stable/8 -a i386 -p default
>>> 
>>> Unfortuantely, I'm getting stuck at this point:
>>> 
>>> ===> gnu/usr.bin/gperf/doc (obj)
>>> /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/doc created for /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/doc
>>> rm -f .depend
>>> mkdep -f .depend -a    -I/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/include -I/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib -I/var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf  /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/bool-array.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/hash-table.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/input.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/keyword-list.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/keyword.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/main.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/options.cc /var/poudriere/jails/84STABLEi386/usr/!
 s!
>  r!
>>  c/!
>>>  gnu/usr.bin/gperf/../../../contrib/gperf/src/output.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/positions.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/search.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/src/version.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib/getline.cc /var/poudriere/jails/84STABLEi386/usr/src/gnu/usr.bin/gperf/../../../contrib/gperf/lib/hash.cc   
>>> echo gperf: /usr/lib/libc.a /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/lib/libegacy.a >> .depend
>>> echo gperf: /usr/lib/libstdc++.a >> .depend
>>> ===> gnu/usr.bin/gperf/doc (depend)
>>> make: don't know how to make /usr/lib/libstdc++.a. Stop
>>> *** Error code 2
>>> 1 error
>>> *** Error code 2
>>> 1 error
>>> *** [buildworld] Error code 2
>>> 1 error
>>> ====>> Error: Failed to 'make buildworld'
>>> ====>> Error while creating jail, cleaning up.
>>> ====>> Removing 84STABLEi386 jail... done
>>> 
>>> 
>>> There's no /usr/lib/libstdc++.a on this machine because libstdc++ has
>>> been removed from /usr/src on FreeBSD 10.  If I set WITH_GCC=yes in
>>> /etc/src.conf, I get /usr/bin/gcc, but no g++ or libstdc++.  And why are
>>> gperf and groff bootstrap tools anyway???
>>> 
>> 
>> Try adding WITH_GNUCXX.
> 
> That worked, thanks!

Spoke too soon B-(

===> usr.sbin/wpa/hostapd_cli (depend)
rm -f .depend
mkdep -f .depend -a    -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/common -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/crypto -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/l2_packet -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/utils -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/common -I/var/poudriere/jails/84STABLEi386/!
 usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/crypto -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/l2_packet -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/utils -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX /var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//hostapd/hostapd_cli.c /var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/common/wpa_ctrl.c /var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/hostapd_cli/../../../contrib/wpa//src/utils/os_unix.c
echo hostapd_cli: /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/lib/libc.a  >> .depend
===> usr.sbin/wpa/ndis_events (depend)
rm -f .depend
mkdep -f .depend -a    -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/common -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/crypto -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/l2_packet -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/utils -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX /var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/ndis_events.c
echo ndis_events: /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/lib/libc.a  >> .depend
1 error
*** Error code 2
1 error
*** [buildworld] Error code 2
1 error
====>> Error: Failed to 'make buildworld'
====>> Error while creating jail, cleaning up.
====>> Removing 84STABLEi386 jail... done


Nothing obvious went wrong.  That last echo command succeeded:

%cat /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/.depend 
# -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/common -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/crypto -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/l2_packet -I/var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/../../../contrib/wpa//src/utils -DCONFIG_CTRL_IFACE -DCONFIG_CTRL_IFACE_UNIX /var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/ndis_events.c
ndis_events.o:  \
 /var/poudriere/jails/84STABLEi386/usr/src/usr.sbin/wpa/ndis_events/ndis_events.c \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/cdefs.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/types.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/machine/endian.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_types.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/machine/_types.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_pthreadtypes.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/select.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_sigset.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_timeval.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/timespec.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/param.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_null.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/syslimits.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/signal.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/machine/_limits.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/machine/signal.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/machine/trap.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/machine/param.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/limits.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/socket.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_iovec.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/ioctl.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/ioccom.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/filio.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/sockio.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/ttycom.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/errno.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/sysctl.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/queue.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/net/if.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/time.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/time.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/net/if_dl.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/net/if_var.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/lock.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_lock.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/mutex.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_mutex.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/machine/mutex.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/rwlock.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_rwlock.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/lock_profile.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/lockstat.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/sx.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_sx.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/event.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/_task.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/altq/if_altq.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/netinet/in.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/netinet6/in6.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/arpa/inet.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/netdb.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/net/route.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/net/radix.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/stdio.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/string.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/strings.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/stdlib.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/unistd.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/sys/unistd.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/err.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/syslog.h \
  /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/include/stdarg.h
ndis_events: /usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/lib/libc.a


The next thing should have been "make depend" for ypbind.  I actually
see a correct looking .depend file there, but why wasn't that logged?
All the rest rest of the yp* directories have valid-looking .depend
files as well, as do zic/zdump and zic/zic.  There's not a zzz/.depend
file, though.  Looks like this is optional, but spkrtest is under the
same switch and I do see a .depend for that.  Oh ... probably because
zzz is a shell script.  There's also a bunch of SUBDIR+='s, the last of
which is pkg and I see a valid pkg/.depend.

The stage 4.4 command that is supposed to be doing this stuff is:

cd /var/poudriere/jails/84STABLEi386/usr/src; MAKEOBJDIRPREFIX=/usr/obj/i386  MACHINE_ARCH=i386  MACHINE=i386  CPUTYPE=  GROFF_BIN_PATH=/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/bin  GROFF_FONT_PATH=/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/share/groff_font  GROFF_TMAC_PATH=/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/share/tmac  _SHLIBDIRPREFIX=/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp  _LDSCRIPTROOT=  VERSION="FreeBSD 10.0-STABLE amd64 1000714"  INSTALL="sh /var/poudriere/jails/84STABLEi386/usr/src/tools/install.sh"  PATH=/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/sbin:/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/bin:/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/legacy/usr/games:/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/sbin:/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/bin:/!
 usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp/usr/games:/sbin:/bin:/usr/sbin:/usr/bin /usr/obj/var/poudriere/jails/84STABLEi386/usr/src/make.amd64/make -f Makefile.inc1 DESTDIR=/usr/obj/i386/var/poudriere/jails/84STABLEi386/usr/src/tmp par-depend

If I try to run it manually, I don't even get this far:

"/var/poudriere/jails/84STABLEi386/usr/src/Makefile.inc1", line 361: Malformed conditional (${MK_BIND_LIBS} != "no")
"/var/poudriere/jails/84STABLEi386/usr/src/Makefile.inc1", line 364: if-less endif
make: fatal errors encountered -- cannot continue



More information about the freebsd-stable mailing list