binutils 2.34 on NixOS
Bernardo Meurer
bernardo@standard.ai
Fri Apr 24 17:55:50 GMT 2020
Here's the result of my exploration:
* coreutils 8.31 & binutils 2.31.1 => AOK
* coreutils 8.31 & binutils 2.32 => coreutils test failures
From 2.32 onwards coreutils fails to build with the test failures I
previously
listed.
Looking at those release notes[1] it doesn't seem to have any obviously
related changes.
[1]: https://lists.gnu.org/archive/html/info-gnu/2019-02/msg00000.html
Bernardo Meurer.
On 4/24/20 10:19 AM, Bernardo Meurer wrote:
> Hi Nick,
>
>> OK, so let me get this clear. You are saying that if you build the
>> coreutils using binutils 2.31.1 then it works and coreutils passes its
>> tests, but if you build the *exact same* coreutils sources using binutils
>> 2.33.1 or 2.34 then it breaks ? (Well the coreutils build, but then new
>> failures appear in the testsuite). Plus the only difference is the
>> changed binutils. Nothing else has changed, right ?
> That is correct, to recap:
> * coreutils 8.31 & binutils 2.31.1 => AOK
> * coreutils 8.31 & binutils 2.33.1 => coreutils test failures
> * coreutils 8.31 & binutils 2.34 => coreutils test failures
> * coreutils 8.32 & binutils 2.31.1 => AOK
> * coreutils 8.32 & binutils 2.33.1 => coreutils test failures
> * coreutils 8.32 & binutils 2.34 => coreutils test failures
>
> No other changes happened between these tests.
>
>> This is going to be a very hard one to reproduce. I am unfamiliar with
>> NixOS, and certainly do not have access to any systems using it.
> I understand, I will add that you can use Nix, the package manager, even
> outside
> of NixOS and then you'd be able to reliably reproduce this. If you're
> interested
> in doing this let me know and I can provide instructions :)
>
>> Really
>> you need to have somebody find out what has gone wrong with the coreutils
>> build, and this should provide a clue as to what is going wrong.
> So, another contributor added some information on the PR[1] which I will
> quote here:
>
>> @lovesegfault <https://github.com/lovesegfault> We disable various
>> syscalls that might produce files which we can't serialize into the
>> nix-store, see
>> https://github.com/NixOS/nix/blob/master/src/libstore/build.cc#L3001-L3028.
>>
>> In the case of coreutils' |tests/cp/parent-perm-race|, it tries to
>> |chmod g+s| a directory, which is disallowed by the seccomp configured
>> inside the first part of the linked code.
>>
> From this it seems like these tests were never supposed to pass anyway,
> and that
> they did was a bug. Did something change in the 2.31<->2.33.1 version
> span that
> could be the cause of this?
>
> I will try bisect on that version range and report back.
>
> Cheers!
> Bernardo.
>
> [1]: https://github.com/NixOS/nixpkgs/pull/78204#issuecomment-618955150
>
> On 4/24/20 12:43 AM, Nick Clifton wrote:
>> Hi Bernardo,
>>
>>> coreutils> FAIL: tests/misc/mknod
>>> coreutils> ======================
>>> coreutils> mknod: cannot set permissions of 'f1': Function not implemented
>>> coreutils> mkfifo: cannot set permissions of 'f2': Function not implemented
>>> coreutils> mkdir: cannot change permissions of 'f3': Function not
>>> implemented
>>>> I've been trying to get binutils 2.34 on nixpkgs so that those on
>>>> NixOS can benefit from it. The PR[1] has been open since January, for
>>>> version 2.33.1, and I've since attempted to upgrade to 2.34 also
>>>> without success. NixOS is currently on 2.31.1.
>> OK, so let me get this clear. You are saying that if you build the
>> coreutils using binutils 2.31.1 then it works and coreutils passes its
>> tests, but if you build the *exact same* coreutils sources using binutils
>> 2.33.1 or 2.34 then it breaks ? (Well the coreutils build, but then new
>> failures appear in the testsuite). Plus the only difference is the
>> changed binutils. Nothing else has changed, right ?
>>
>>
>> This is going to be a very hard one to reproduce. I am unfamiliar with
>> NixOS, and certainly do not have access to any systems using it. Really
>> you need to have somebody find out what has gone wrong with the coreutils
>> build, and this should provide a clue as to what is going wrong.
>>
>> Does this problem happen with all of the architectures supported by NixOS
>> or just some of them ?
>>
>> Cheers
>> Nick
>>
>>
>
More information about the Binutils
mailing list