Open MPI logo

Hardware Locality Development Mailing List Archives

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

Subject: Re: [hwloc-devel] [hwloc-svn] svn:hwloc r5324 - branches/libpciaccess/doc
From: Jeff Squyres (jsquyres) (jsquyres_at_[hidden])
Date: 2013-02-16 09:22:04

On Feb 16, 2013, at 8:59 AM, Brice Goglin <Brice.Goglin_at_[hidden]> wrote:

>> +<li> libpciaccess. The relevant development package is usually
>> +<tt>libpciaccess-devel</tt>.
> Please keep libpciaccess-dev as well (debian/ubuntu devel packages are
> "-dev").

Oops -- typo; will fix.

>> This package is preferred by hwloc
>> +because it uses the BSD license, and is therefore license-compatible
>> +with hwloc. Unfortunately, libpciaccess is not pre-installed on most
>> +systems, and must be obtained from
>> +>
> It's not preinstalled, but it's available as a package in all distribs
> that contain (even non-Linux distrib).

No, it's not. RHEL6, for example, does have libpciaccess, but does not have a libpciaccess-dev (or devel). Ergo, you have to get externally.

> If we add the upstream URL for all packages that are not available by
> default, we need one for libxml-devel and numactl-devel too since devel
> headers are rarely installed by default.
> In brief, just remove that URL :)

Since this is a GPL taint issue, and since PCI support is pretty important, I think it's worth listing that URL -- especially since the first hit for googling libpciaccess reveals developer tarballs (, not official release tarballs (e.g.,

So having this URL *somewhere* would be a good idea, IMHO.

>> +
>> +<li>pciutils (libpci). The relevant development package is usually
>> +<tt>pciutils-devel</tt> or <tt>libpci-dev</tt>. Unfortunately, while
>> +the libpci library from the pciutils package is pre-installed (or
>> +readily available) on many platforms, it is licensed under the GPL.
>> +Hence, if hwloc is configured to build/link against libpci, the hwloc
>> +library and binaries will be tainted with GPL (<strong>this has
>> +serious implications for 3rd parties developing tools that link
>> +against libhwloc!</strong>)</li>
>> +</ol>
>> </li>
>> +
> This text is way too long. That section about dependencies was meant to
> be easy to read before a first manual build of hwloc, that's why it's
> a small list of short items. You're adding half a page about libpci in the
> middle, making it hard to read. That long discussion can move somewhere
> else, I'd say a FAQ entry at the end of doxy.

I can see moving it out of this short list, but something like it should stay within the installation section. If you move it to the FAQ section, no one will see/read it, and one of two things will happen:

1. Build without PCI support, because many people just blindly "./configure ; make install" (i.e., not see the configure warning about lack of PCI support).

2. Build with libpci support without understanding the GPL taint issue. I.e., people will see "Built without PCI support ... --enable-libpci" in a very Far Side way (, and just gloss over the GPL taint issue.

Jeff Squyres
For corporate legal information go to: