Date: Tue, 11 Feb 2014 11:42:12 -0700 From: John Nielsen <john@jnielsen.net> To: bdrewery@FreeBSD.org Cc: freebsd-pkg@FreeBSD.org Subject: Poudriere bug report Message-ID: <5FBD8707-CA24-4777-BF86-76C9C2C00942@jnielsen.net>
index | next in thread | raw e-mail
Hello- First off, thanks for all your work on poudriere and pkg, both are already making my life easier. I have an amd64 host running FreeBSD 10-STABLE which I use as a build host for another box with an Alix board (geode processor). I have, among other settings, "CPUTYPE=geode" in the make.conf for the poudriere 32-bit Alix jail. I've built packages for the Alix using poudriere before, but today I hit a snag. Running this command: # poudriere options -f /home/john/alix_ports.txt -j alix attempted to build dialog4ports numerous times, and each failed with this error (full text from one failure below): error: unknown target CPU 'geode' Since I didn't have dialog4ports installed on the host, I assume the "make config" job was trying to build it--apparently using the jail's generated "make.conf" from /usr/local/etc/poudriere.d/alix-make.conf. The 64-bit host doesn't know about the 32-bit geode CPU target, so it failed. Probably this doesn't happen very often (I was only missing dialog4ports on the host because I pruned a whole bunch of packages prior to a recent upgrade), but building anything for the host using anything other than the real /etc/make.conf seems like a bad idea. I was able to work around the problem by installing dialog4ports on the host myself before invoking "poudriere options". There are obviously a few ways to prevent this from happening, but here is my suggestion: * check for the existence of dialog4ports on the host before allowing "poudriere options" to run * If it doesn't exist, fail with an error message suggesting that the user either install dialog4ports on the host via "pkg install" or other means, or allow poudriere to work around the problem * add a flag or command to poudriere allowing it to build and install dialog4ports using the host's /etc/make.conf and whatever ports tree the user specifies (or poudriere's "default" tree by default), either separately from or prior to "poudriere options". Thanks! JN ===> Setting user-specified options for links-2.8,1 and dependencies ===> Building/installing dialog4ports as it is required for the config dialog ===> Cleaning for dialog4ports-0.1.5_2 ===> License BSD2CLAUSE accepted by the user ===> dialog4ports-0.1.5_2 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by dialog4ports-0.1.5_2 for building ===> Extracting for dialog4ports-0.1.5_2 => SHA256 Checksum OK for dialog4ports-0.1.5.tar.gz. ===> Patching for dialog4ports-0.1.5_2 ===> Configuring for dialog4ports-0.1.5_2 ===> Building for dialog4ports-0.1.5_2 --- objwarn --- --- dialog4ports.o --- --- objwarn --- Warning: Object directory not changed from original /opt/local/poudriere/ports/default/ports-mgmt/dialog4ports/work/dialog4ports-0.1.5 --- mixedlist.o --- --- dialog4ports.o --- cc -O2 -pipe -DNO_MALLOC_EXTRAS -march=geode -fno-strict-aliasing -std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wmissing-variable-declarations -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -c dialog4ports.c --- mixedlist.o --- cc -O2 -pipe -DNO_MALLOC_EXTRAS -march=geode -fno-strict-aliasing -std=gnu99 -Qunused-arguments -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -Wold-style-definition -Wmissing-variable-declarations -Wno-pointer-sign -Wno-empty-body -Wno-string-plus-int -c mixedlist.c --- dialog4ports.o --- error: unknown target CPU 'geode' *** [dialog4ports.o] Error code 1 make[5]: stopped in /opt/local/poudriere/ports/default/ports-mgmt/dialog4ports/work/dialog4ports-0.1.5 --- mixedlist.o --- error: unknown target CPU 'geode' *** [mixedlist.o] Error code 1 make[5]: stopped in /opt/local/poudriere/ports/default/ports-mgmt/dialog4ports/work/dialog4ports-0.1.5 2 errors make[5]: stopped in /opt/local/poudriere/ports/default/ports-mgmt/dialog4ports/work/dialog4ports-0.1.5 ===> Compilation failed unexpectedly. Try to set MAKE_JOBS_UNSAFE=yes and rebuild before reporting the failure to the maintainer. *** Error code 1 Stop. make[4]: stopped in /opt/local/poudriere/ports/default/ports-mgmt/dialog4ports *** Error code 1 Stop. make[3]: stopped in /opt/local/poudriere/ports/default/ports-mgmt/dialog4portshome | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5FBD8707-CA24-4777-BF86-76C9C2C00942>
