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

Reply via email to