Skip site navigation (1)Skip section navigation (2)
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>

next in thread | raw e-mail | index | archive | help
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=3Dgeode" 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


=3D=3D=3D> Setting user-specified options for links-2.8,1 and =
dependencies
=3D=3D=3D> Building/installing dialog4ports as it is required for the =
config dialog
=3D=3D=3D>  Cleaning for dialog4ports-0.1.5_2
=3D=3D=3D>  License BSD2CLAUSE accepted by the user
=3D=3D=3D>   dialog4ports-0.1.5_2 depends on file: /usr/local/sbin/pkg - =
found
=3D=3D=3D> Fetching all distfiles required by dialog4ports-0.1.5_2 for =
building
=3D=3D=3D>  Extracting for dialog4ports-0.1.5_2
=3D> SHA256 Checksum OK for dialog4ports-0.1.5.tar.gz.
=3D=3D=3D>  Patching for dialog4ports-0.1.5_2
=3D=3D=3D>  Configuring for dialog4ports-0.1.5_2
=3D=3D=3D>  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/dialog4por=
ts-0.1.5
--- mixedlist.o ---
--- dialog4ports.o ---
cc -O2 -pipe -DNO_MALLOC_EXTRAS -march=3Dgeode -fno-strict-aliasing  =
-std=3Dgnu99 -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=3Dgeode -fno-strict-aliasing  =
-std=3Dgnu99 -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/dialog4por=
ts-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/dialog4por=
ts-0.1.5
2 errors

make[5]: stopped in =
/opt/local/poudriere/ports/default/ports-mgmt/dialog4ports/work/dialog4por=
ts-0.1.5
=3D=3D=3D> Compilation failed unexpectedly.
Try to set MAKE_JOBS_UNSAFE=3Dyes 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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5FBD8707-CA24-4777-BF86-76C9C2C00942>