[Bug 217291] librt empty, man pages should not tell users to link with -lrt

bugzilla-daemon
2023-04-07T23:28:40Z

Alejandro Colomar (alx@kernel.org) changed:

What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |alx@kernel.org
Resolution|--- |INVALID

--- Comment #3 from Alejandro Colomar (alx@kernel.org) ---
On 4/5/23 07:02, bugzilla-daemon@kernel.org wrote:
> I'm not sure the man-pages project really concerns itself with non-glibc
> libc's.

It does.

> Of course you're right that a project that wants to be portable to
> multiple libc's will need configure tests (or equivalent). But that doesn't
> mean that a project that aims to document how to use glibc shouldn't tell
> users
> how to use it.

POSIX says that we should use -lrt, so I document that. If glibc makes it
easier by putting everything in -lc, that's sugar for us, but unless the
entire world follows glibc in that, or at least POSIX, I prefer to document
POSIX.

>
> My suggestion is that the man pages I mentioned above should have languages
> like clock_gettime and friends already have. That is, from
> https://www.man7.org/linux/man-pages/man3/clock_gettime.3.html :

I should rather fix clock_gettime(3) to show only what POSIX requires, which
is -lrt. I just didn't find the time to compare all the pages with POSIX.

What's the benefit of removing -lrt?

>
> Link with -lrt (only for glibc versions before 2.17).
>
> Or in the current repo:
>
> .SH LIBRARY
> Standard C library
> .RI ( libc ", " \-lc ),
> since glibc 2.17
> .PP
> Before glibc 2.17,
> Real-time library
> .RI ( librt ", " \-lrt )
>
> (Not sure why one needs to explicitly tell to link with libc (-lc) and thus
> how
> this is an improvement over the older version published on the web page (and
> in
> most Linux distros man pages), but I digress)

Consistency. If you see -lc, you know where it is. If you don't see it,
then there are two options: either it is in libc, or the author forgot to
document where it is.

Also, while it's often unnecessary to specify -lc, it may in some corner cases
be
necessary, so I prefer specifying it.

Thanks for reporting! However, I don't agree with the report :)