Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c533bfa9-65c0-43b0-bcdb-4fd2b05d20e4@mailbox.org>
Date: Tue, 3 Aug 2021 21:11:48 +0200
From: bluemoon <blaumolch@...lbox.org>
To: musl@...ts.openwall.com
Subject: Re: Compilation error with mesa 21.1.6

Am 03.08.21 um 19:35 schrieb Érico Nogueira:
> 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 for your explanation. I’ll open an issue at Mesa’s GitLab 
repository.

For reference, the code in question is here:

https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/src/gallium/frontends/nine/nine_memory_helper.c#L1012

>>
>> 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
> 

Alpine disables gallium-nine for all targets (line 147 in the APKBUILD) 
so they don’t need to patch.

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.