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.
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.
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.
This was fixed in libbsd 0.4.0, closing now.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct.