Poudriere bug report
Bryan Drewery
bdrewery at FreeBSD.org
Wed Feb 19 13:30:12 UTC 2014
On 2/11/2014 12:42 PM, John Nielsen wrote:
> 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/dialog4ports
>
Thanks for reporting. I will get to this eventually and fix soon.
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 553 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-pkg/attachments/20140219/95b03609/attachment.sig>
More information about the freebsd-pkg
mailing list