On 03/06/2013 02:12 PM, Mark Wielaard wrote:
On Wed, 2013-03-06 at 10:44 +0200, Panu Matilainen wrote:
On 03/05/2013 11:15 PM, Mark Wielaard wrote:
I also tried with srcdir == builddir and with the latest release
4.10.3.1 instead of a git checkout and on fedora 18. But the issue
is always the same with lots of failures because something seems to
use '${prefix}' literally.
I am configuring with: --with-external-db \
CPPFLAGS="-I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/include/db4"
Does this ring any bell?
Indeed it does... there's an ages old flaw in the configure/make system
that causes this unless you pass an explicit --prefix or --localstatedir
to configure. Should really do something about it, just never gotten
around to it :-/
Aha, thanks. Would you mind providing the way you setup things to get
make check to work? I assume you are using srcdir == buildir and some
--prefix= configure flag. But which one? Using --prefix=/usr doesn't
really seem to help, still lots of failures. --prefix=/tmp just says
that it cannot create testing/tmp... --prefix=/usr/local/rpm gives 116
failed out of 266 run (I dunno what to expect, but that seems a rather
high number of failures).
The expectation is that breaking the test-suite is strictly forbidden at
all times, ie everything must pass. So whenever you see failures, its
either some configuration thing or somebody deserves a spanking :)
That said, the test-suite has been far too dependent on rpm
configuration and other such things. I just pushed a pile of fixes to
address some of the worst offenders, so that the test-suite is supposed
to now pass without specifying any --prefix or --localdir or other
switches. And its supposed to work with srcdir != builddir too.
There are still at least two things that depend on configuration though:
python bindings and lua are tested whether support for them is built in
or not, but other than that the test-suite should be much closer to
working out of the box regardless of how rpm was configured. So for
example this (which is basically what you were using) works now:
./configure CPPFLAGS="`pkg-config --cflags nss`" --with-external-db
make
make check
...and ditto with a separate build-dir. Note that you'll want to do
"make clean" first to force a clean starting point for the test-suite,
it doesn't always get properly regenerated when eg test specs change.
It shouldn't be so stricly needed anymore but I'm attaching my "rpmgit"
script anyway, that's what I normally use for building rpm out of git
(in part because of the bugs wrt --prefix and all...)
And finally, thanks for complaining about this, really. One can only
explain known bugs so many times before it gets so irritating as to
mandate a fix, which was the case here :)
- Panu -
#!/bin/sh
#export CPPFLAGS="-I/usr/include/beecrypt"
export CPPFLAGS="`pkg-config --cflags nss`"
#export CFLAGS="`rpm --eval %{optflags}`"
export CFLAGS="-O0 -g"
# to compile with llvm / clang
#export CC=clang
#export CFLAGS="-O2 -g"
./autogen.sh --noconfigure && \
$WRAP ./configure \
--build=`rpm --eval %{_target_platform}` \
--prefix=/usr \
--libdir=`rpm --eval %{_libdir}` \
--sysconfdir=/etc \
--localstatedir=/var \
--enable-python \
--with-vendor=redhat \
--with-external-db \
--without-apidocs \
--with-cap \
--with-lua \
--with-selinux $* && \
$WRAP make -j4
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint