Bug 34574 - libbsd installs nlist.h, but it conflicts with the nlist.h provided by elfutils
libbsd installs nlist.h, but it conflicts with the nlist.h provided by elfutils
Product: libbsd
Classification: Unclassified
Component: libbsd
All Linux (All)
: medium normal
Assigned To: Guillem Jover
Depends on:
  Show dependency treegraph
Reported: 2011-02-22 08:08 UTC by Kevin McCarthy
Modified: 2012-06-27 05:12 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Note You need to log in before you can comment on or make changes to this bug.
Description Kevin McCarthy 2011-02-22 08:08:12 UTC
The fd.o libbsd provides a BSD-compatible nlist function, but on most modern Linux systems there is already an nlist provided by elfutils. This causes a file collision when installing libbsd into the standard system directories.

Since the BSD version works on a.out files, which are uncommon to say the least on modern Linux systems, I propose that it be moved to bsd/nlist.h to avoid this conflict. If any software really needs the a.out version provided in libbsd, it can include bsd/nlist.h.
Comment 1 Guillem Jover 2011-02-22 12:39:28 UTC
The BSD nlist works on both a.out and ELF, so it's more generic than the one provided by the libelf implementations, but yes I agree that's not much of selling point currently. Anyway I'm moving all headers from the base directory to /usr/include/bsd/. This will also allow downstreams to possibly install the headers directly under /usr/include/bsd/, instead of /usr/include/libbsd/bsd/.

I'll be removing the obsolete headers which have been issuing warnings now for a long time.
Comment 2 Guillem Jover 2011-06-03 11:47:21 UTC
I didn't end up removing the file in this release, as that might have broken existing software. What I did instead was move it under <includedir>bsd/, and add deprecation warnings and make them errors when LIBBSD_DISABLE_DEPRECATED is defined so that users of the library can easily spot those. The deprecated file will be removed on 0.4.0.
Comment 3 Guillem Jover 2012-06-27 05:12:56 UTC
This was fixed in libbsd 0.4.0, closing now.