Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Sep 2025 18:44:36 +0300
From:      Toomas Soome <tsoome@me.com>
To:        FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: git: d549de769055 - main - libc: Remove readdir_r(3) [This broke building rust 1.88]
Message-ID:  <C79DD894-11FD-4919-B3EE-147978D36AF8@me.com>
In-Reply-To: <aMLmbXgsjUm7GqEr@nuc>
References:  <1F6A4621-1505-4F78-97C6-85EA556B2165@yahoo.com> <86bjnhi7s2.fsf@ltc.des.dev> <CAOtMX2gJJ-wGtK3%2BQwyz_eODYWK6pwaMA6gbnN74Pvqc1QW6Mw@mail.gmail.com> <86zfb1ghj7.fsf@ltc.des.dev> <aMLmbXgsjUm7GqEr@nuc>

index | next in thread | previous in thread | raw e-mail

[-- Attachment #1 --]


> On 11. Sep 2025, at 18:10, Mark Johnston <markj@FreeBSD.org> wrote:
> 
> On Thu, Sep 11, 2025 at 05:01:16PM +0200, Dag-Erling Smørgrav wrote:
>> Alan Somers <asomers@freebsd.org> writes:
>>> Dag-Erling Smørgrav <des@freebsd.org> writes:
>>>> Tell that to the Rust developers.  They have been repeatedly warned
>>>> against using readdir_r(3) for years, as far back as 2016.
>>> Have they?  Looking at rust's github page, I see discussions about
>>> using readdir_r on Fuchsia and Linux, but nothing about BSD.
>> 
>> If you look at these tickets, there are people pointing out that
>> readdir_r() doesn't work correctly even on platforms where it isn't
>> formally deprecated.  The Rust developers chose to fix the Linux case
>> because it produced a link-time warning and ignored the rest.  That's on
>> them.
>> 
>> They also seem to be providing their own prototype for readdir_r(),
>> which suppresses the deprecation warning they should be getting on
>> FreeBSD 15, and turns the issue from a failure to compile into a failure
>> to link.  That's also on them.
> 
> It doesn't really matter whose responsibility it is.  If rust can't be
> compiled on FreeBSD after a FreeBSD change, then it's up to us to fix
> it.  The purpose of FreeBSD, like any other useful OS, is to run the
> software that people want to run.
> 
> +1 to Alan's request to back out the change for now.


How about putting up pull request for rust to fix it?;)

rgds,
toomas
[-- Attachment #2 --]
<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><br id="lineBreakAtBeginningOfMessage"><div><br><blockquote type="cite"><div>On 11. Sep 2025, at 18:10, Mark Johnston &lt;markj@FreeBSD.org&gt; wrote:</div><br class="Apple-interchange-newline"><div><meta charset="UTF-8"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">On Thu, Sep 11, 2025 at 05:01:16PM +0200, Dag-Erling Smørgrav wrote:</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><blockquote type="cite" style="font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;">Alan Somers &lt;asomers@freebsd.org&gt; writes:<br><blockquote type="cite">Dag-Erling Smørgrav &lt;des@freebsd.org&gt; writes:<br><blockquote type="cite">Tell that to the Rust developers. &nbsp;They have been repeatedly warned<br>against using readdir_r(3) for years, as far back as 2016.<br></blockquote>Have they? &nbsp;Looking at rust's github page, I see discussions about<br>using readdir_r on Fuchsia and Linux, but nothing about BSD.<br></blockquote><br>If you look at these tickets, there are people pointing out that<br>readdir_r() doesn't work correctly even on platforms where it isn't<br>formally deprecated. &nbsp;The Rust developers chose to fix the Linux case<br>because it produced a link-time warning and ignored the rest. &nbsp;That's on<br>them.<br><br>They also seem to be providing their own prototype for readdir_r(),<br>which suppresses the deprecation warning they should be getting on<br>FreeBSD 15, and turns the issue from a failure to compile into a failure<br>to link. &nbsp;That's also on them.<br></blockquote><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">It doesn't really matter whose responsibility it is. &nbsp;If rust can't be</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">compiled on FreeBSD after a FreeBSD change, then it's up to us to fix</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">it. &nbsp;The purpose of FreeBSD, like any other useful OS, is to run the</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">software that people want to run.</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"><span style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;">+1 to Alan's request to back out the change for now.</span><br style="caret-color: rgb(0, 0, 0); font-family: Hack-Regular; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none;"></div></blockquote></div><br><div><br></div><div>How about putting up pull request for rust to fix it?;)</div><div><br></div><div>rgds,</div><div>toomas</div></body></html>
help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C79DD894-11FD-4919-B3EE-147978D36AF8>