-
Notifications
You must be signed in to change notification settings - Fork 372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
2.3.0 build error: implicit declaration of function 'faccessat'; did you mean 'access'? [-Wimplicit-function-declaration]
#6339
Comments
Could we have more information? What architecture and macOS version is that? |
@kit-ty-kate It is absent prior to macOS 10.10 (and not architecture-specific), as well as on some other platforms: https://www.gnu.org/software/gnulib/manual/html_node/faccessat.html |
I'm not sure we want to spend the time to support such old systems. I'm personally happy to support older hardware to avoid them being thrown in the landfill or for conservation effort but older hardware should have reasonably up-to-date software in my opinion (either by installing an up-to-date Linux/BSD or using the various macOS patches going around on the internet), especially when it comes to specialized tools such as opam |
Given that
|
sure, but any legacy code has some amount of crust that keeps adding up and costs precious maintenance time in the long term. |
It depends, of course, but usually just having a clear condition in a macro works fine, as long as the new code is a drop-in replacement. Nothing is needed to maintain a fallback, since legacy systems won’t change. |
I strongly disagree with the notion that "nothing is needed to maintain a fallback". The maintenance argument notwithstanding, having any kind of automatic fallback means that if something in future were to go wrong with our detection code, we'd suddenly start building a less secure or even buggy opam, where without having the fallback code we'd instead have a very obvious build error. |
@dra27 Since it is known which systems do not have |
The macro itself can go wrong (I'm thinking of fun unintended consequences like ocaml/ocaml#13520). If this wants to be maintained downstream as a priority for MacPorts, that's fine, but I don't think that any code associated with this has a place upstream here. |
Happy to revisit this if there's any supported or modern OS exhibiting this problem, but otherwise closing this. |
For the record, if someone bumps into this looking for a fix, it is done in MacPorts now: macports/macports-ports@fae7017 |
The text was updated successfully, but these errors were encountered: