Open MPI logo

Hardware Locality Development Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Hardware Locality Development mailing list

Subject: Re: [hwloc-devel] hwloc trunk nightly 1.3a1r3511 fails to build on CentOS 5.6 & RHEL 5.6
From: Brice Goglin (Brice.Goglin_at_[hidden])
Date: 2011-06-17 03:14:00

Le 17/06/2011 08:40, Christopher Samuel a écrit :
> On 17/06/11 05:32, Jeff Squyres wrote:
> > Ok, good. I'll see if I can code this up.
> > ...done. Try a nightly trunk tarball >=r3516
> > (new nightly should be made in about 6 hours).
> Hmm, now it looks like it doesn't correctly enable
> pci support..
> checking pci/pci.h usability... yes
> checking pci/pci.h presence... yes
> checking for pci/pci.h... yes
> checking for pci_init in -lpci... yes
> checking for pci_lookup_name in -lpci... no
> checking for inet_ntoa in -lresolv... yes
> checking for pci_lookup_name in -lpci... (cached) no

The problem is that it's cached so the first failure to find
pci_lookup_name causes the second check to be bypassed. When fixing
similar -lz problems, I had to look for another libpci symbol
(pci_cleanup instead of pci_init) to prevent such caching problems. It
makes the configure output strange because it may say that pci_init
isn't available, add -lz and then say that pci_cleanup is available.

Anyway, pci_lookup_name seems to be the only API function that ends up
using the resolv code, so I don't see which other symbol to check for.

Is there anyway to tell autoconf to ignore/drop some cached results?
Resetting the value of ac_cv_lib_pci_pci_lookup_name may work but I
don't know if we can do that (if we can, we should do it for
pci_init/pci_cleanup vs -lz too).