Date: Tue, 03 Aug 2021 14:35:05 -0300 From: Érico Nogueira <ericonr@...root.org> To: <musl@...ts.openwall.com> Subject: Re: Compilation error with mesa 21.1.6 On Tue Aug 3, 2021 at 4:18 AM -03, bluemoon wrote: > Hi, > > I’m trying to compile mesa 21.1.6 for i686 (Void Linux i686-musl). > When > Gallium Nine is enabled compilation fails. It works on x86_64 but they > branch off on 32-bit systems and use memfd. In that code they use > > ulimit(__UL_GETOPENMAX) The ulimit(3) man page documents that a value of 4 doesn't have a macro for it but is implemented to return the max number of fds. Apparently it isn't up to date with the fact that glibc declares a macro, even if prefixed with '__'... musl definitely doesn't implement this extension to ulimit(3), though. > > which is not available in musl. However, in glibc __UL_GETOPENMAX is > assigned the return value of > > sysconf(_SC_OPEN_MAX) > > (cf. sysdeps/posix/ulimit.c) which is defined in musl. > > So before reporting this issue to the mesa developers, I would like to > ask if replacing the former with the latter is ok or if there is a > caveat I don’t see. That is the portable way of obtaining the value; fixing the ulimit call to use sysconf directly sounds like the only correct way forward. They are using a non-documented internal macro in a function that for some reason was stretched out to do more. > > Thank you! PS: might be worth investigating the build configuration, Alpine doesn't carry a patch for this part: https://git.alpinelinux.org/aports/tree/main/mesa?h=master
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.