make check fails

Daniel Macks dmacks at netspace.org
Fri Mar 17 10:29:08 PST 2006


On Sat, Dec 03, 2005 at 05:21:57PM +0100, Sven Strickroth wrote:
> 
> since version 0.19.1 "make check" fails:
[...]
> PASS: check-cflags
> ../pkg-config --libs simple :
> '-lsimple -lm' != '-lsimple'
> FAIL: check-libs
> PASS: check-define-variable
> PASS: check-libs-private
> ../pkg-config --libs requires-test :
> '-L/requires-test/lib -L/private-dep/lib -L/public-dep/lib -lrequires-test -
> lprivate-dep -lpublic-dep' !=
> '-L/requires-test/lib -L/public-dep/lib -lrequires-test -lpublic-dep'
> FAIL: check-requires-private
> PASS: check-includedir
> ===================
> 2 of 6 tests failed
> ===================

0.20 is probably just as bad. This same result can be reproduced on
any platform by passing --enable-indirect-deps to ./configure.

Regarding check-libs, according to parse.c:

    Private libraries are libraries which are needed [...] on
    platforms not supporting inter-library dependencies.

so -lm (from Libs.private in simple.pc) *should* be returned. The test
is bugged: the expected result is hard-coded for when indirect-deps is
disabled. To fix locally, edit check/check-libs and make this change:

  -RESULT="-lsimple"
  +RESULT="-lsimple -lm"

More generally, the test needs to be rewritten to account for how
pkg-config is configured, probably by extracting ENABLE_INDIRECT_DEPS
from config.h and choosing different RESULT values.

dan

-- 
Daniel Macks
dmacks at netspace.org
http://www.netspace.org/~dmacks



More information about the pkg-config mailing list