GNU bug report logs -
#39929
coreutils-8.32 fails to build on aarch64
Previous Next
Reported by: Kamil Dudka <kdudka <at> redhat.com>
Date: Thu, 5 Mar 2020 16:23:01 UTC
Severity: normal
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 39929 in the body.
You can then email your comments to 39929 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Thu, 05 Mar 2020 16:23:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Kamil Dudka <kdudka <at> redhat.com>
:
New bug report received and forwarded. Copy sent to
bug-coreutils <at> gnu.org
.
(Thu, 05 Mar 2020 16:23:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
While trying to build coreutils-8.32 for Fedora on aarch64, I got the following
compilation failure:
../src/ls.c: In function 'print_dir':
../src/ls.c:3026:24: error: 'SYS_getdents' undeclared (first use in this function); did you mean 'SYS_getdents64'?
3026 | if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
| ^~~~~~~~~~~~
| SYS_getdents64
../src/ls.c:3026:24: note: each undeclared identifier is reported only once for each function it appears in
Sorry for reporting it late. I tried to build 8.31.90-cc4c and 8.31.99-f2034
in Fedora copr but forgot to enable aarch64, so these builds succeeded :-/
Kamil
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Thu, 05 Mar 2020 17:40:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 39929 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 05/03/2020 16:21, Kamil Dudka wrote:
> While trying to build coreutils-8.32 for Fedora on aarch64, I got the following
> compilation failure:
>
> ../src/ls.c: In function 'print_dir':
> ../src/ls.c:3026:24: error: 'SYS_getdents' undeclared (first use in this function); did you mean 'SYS_getdents64'?
> 3026 | if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
> | ^~~~~~~~~~~~
> | SYS_getdents64
> ../src/ls.c:3026:24: note: each undeclared identifier is reported only once for each function it appears in
>
>
> Sorry for reporting it late. I tried to build 8.31.90-cc4c and 8.31.99-f2034
> in Fedora copr but forgot to enable aarch64, so these builds succeeded :-/
Ah well.
Does the attached address this for you.
[coreutils-getdents64.patch (text/x-patch, attachment)]
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Thu, 05 Mar 2020 21:44:01 GMT)
Full text and
rfc822 format available.
Message #11 received at 39929 <at> debbugs.gnu.org (full text, mbox):
On 3/5/20 9:39 AM, Pádraig Brady wrote:
> Ah well.
> Does the attached address this for you.
Eeeuw.
Why is this code even there at all? If readdir(3) says that the current
directory has no entries, shouldn't 'ls' just say that? Why should ls
report an error simply because the current directory isn't reachable
from the filesystem? Whether the current directory is unreachable has
nothing to do with ls's job, which is to report whether the current
directory has entries.
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Fri, 06 Mar 2020 01:28:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 39929 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 3/5/20 1:43 PM, Paul Eggert wrote:
> Why is this code even there at all? If readdir(3) says that the current
> directory has no entries, shouldn't 'ls' just say that? Why should ls
> report an error simply because the current directory isn't reachable
> from the filesystem? Whether the current directory is unreachable has
> nothing to do with ls's job, which is to report whether the current
> directory has entries.
Attached is a proposed patch to fix this.
[0001-ls-restore-8.31-behavior-on-removed-directories.patch (text/x-patch, attachment)]
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Fri, 06 Mar 2020 07:32:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 39929 <at> debbugs.gnu.org (full text, mbox):
On 2020-03-06 02:27, Paul Eggert wrote:
> On 3/5/20 1:43 PM, Paul Eggert wrote:
>
>> Why is this code even there at all? If readdir(3) says that the current
>> directory has no entries, shouldn't 'ls' just say that? Why should ls
>> report an error simply because the current directory isn't reachable
>> from the filesystem? Whether the current directory is unreachable has
>> nothing to do with ls's job, which is to report whether the current
>> directory has entries.
>
> Attached is a proposed patch to fix this.
I tend to agree (now): returning an error when there was none seems at least
unlucky. Sorry I didn't comment in the original discussion.
> diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh
That test was also added in commit 05a99f7d7f8e, so the the description
at the top does not match after reverting:
#!/bin/sh
# If ls is asked to list a removed directory (e.g. the parent process's
# current working directory that has been removed by another process), it
# emits an error message.
s/emits/shall not emit/
Thanks & have a nice day,
Berny
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Fri, 06 Mar 2020 07:37:02 GMT)
Full text and
rfc822 format available.
Message #20 received at 39929 <at> debbugs.gnu.org (full text, mbox):
On 2020-03-06 08:31, Bernhard Voelker wrote:
> On 2020-03-06 02:27, Paul Eggert wrote:
>> On 3/5/20 1:43 PM, Paul Eggert wrote:
>>
>>> Why is this code even there at all? If readdir(3) says that the current
>>> directory has no entries, shouldn't 'ls' just say that? Why should ls
>>> report an error simply because the current directory isn't reachable
>>> from the filesystem? Whether the current directory is unreachable has
>>> nothing to do with ls's job, which is to report whether the current
>>> directory has entries.
>>
>> Attached is a proposed patch to fix this.
>
> I tend to agree (now): returning an error when there was none seems at least
> unlucky. Sorry I didn't comment in the original discussion.
>
>> diff --git a/tests/ls/removed-directory.sh b/tests/ls/removed-directory.sh
>
> That test was also added in commit 05a99f7d7f8e, so the the description
> at the top does not match after reverting:
>
> #!/bin/sh
> # If ls is asked to list a removed directory (e.g. the parent process's
> # current working directory that has been removed by another process), it
> # emits an error message.
>
> s/emits/shall not emit/
P.S. Also the check for $host_triplet containing 'linux' in test is:
a) no longer needed, and
b) looks like a good argument to revert 05a99f7d7f8e, because it introduced
different (and user-visible) behavior just because of the platform.
Have a nice day,
Berny
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Fri, 06 Mar 2020 08:49:01 GMT)
Full text and
rfc822 format available.
Message #23 received at 39929 <at> debbugs.gnu.org (full text, mbox):
On Thursday, March 5, 2020 6:39:23 PM CET Pádraig Brady wrote:
> On 05/03/2020 16:21, Kamil Dudka wrote:
> > While trying to build coreutils-8.32 for Fedora on aarch64, I got the
> > following compilation failure:
> >
> > ../src/ls.c: In function 'print_dir':
> > ../src/ls.c:3026:24: error: 'SYS_getdents' undeclared (first use in this
> > function); did you mean 'SYS_getdents64'?>
> > 3026 | if (syscall (SYS_getdents, dirfd (dirp), NULL, 0) == -1
> >
> > | ^~~~~~~~~~~~
> > | SYS_getdents64
> >
> > ../src/ls.c:3026:24: note: each undeclared identifier is reported only
> > once for each function it appears in
> >
> >
> > Sorry for reporting it late. I tried to build 8.31.90-cc4c and
> > 8.31.99-f2034 in Fedora copr but forgot to enable aarch64, so these
> > builds succeeded :-/
> Ah well.
> Does the attached address this for you.
Thanks! I confirm that the ls/removed-directory test passes with the patch
on all architectures that Fedora builds for:
https://koji.fedoraproject.org/koji/taskinfo?taskID=42242960
Kamil
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Fri, 06 Mar 2020 10:49:01 GMT)
Full text and
rfc822 format available.
Message #26 received at 39929 <at> debbugs.gnu.org (full text, mbox):
On 05/03/2020 21:43, Paul Eggert wrote:
> On 3/5/20 9:39 AM, Pádraig Brady wrote:
>> Ah well.
>> Does the attached address this for you.
>
> Eeeuw.
>
> Why is this code even there at all? If readdir(3) says that the current
> directory has no entries, shouldn't 'ls' just say that? Why should ls
> report an error simply because the current directory isn't reachable
> from the filesystem? Whether the current directory is unreachable has
> nothing to do with ls's job, which is to report whether the current
> directory has entries.
I'm not very attached to the new behavior so feel free to apply this.
As per the original discussion, the change was made to distinguish
unreachable directories from empty directories.
Unreachable dirs are not common, but it seems useful for the user
to know they're in one
cheers,
Pádraig
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Sat, 07 Mar 2020 18:33:02 GMT)
Full text and
rfc822 format available.
Message #29 received at 39929 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On 3/5/20 11:36 PM, Bernhard Voelker wrote:
>> s/emits/shall not emit/
> P.S. Also the check for $host_triplet containing 'linux' in test is:
> a) no longer needed, ...
Thanks for catching those; I installed the attached further patch.
[0001-ls-improve-removed-directory-test.patch (text/x-patch, attachment)]
bug closed, send any further explanations to
39929 <at> debbugs.gnu.org and Kamil Dudka <kdudka <at> redhat.com>
Request was from
Paul Eggert <eggert <at> cs.ucla.edu>
to
control <at> debbugs.gnu.org
.
(Sat, 07 Mar 2020 18:33:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-coreutils <at> gnu.org
:
bug#39929
; Package
coreutils
.
(Sat, 07 Mar 2020 20:34:02 GMT)
Full text and
rfc822 format available.
Message #34 received at 39929 <at> debbugs.gnu.org (full text, mbox):
On 3/6/20 2:48 AM, Pádraig Brady wrote:
>
> I'm not very attached to the new behavior so feel free to apply this.
> As per the original discussion, the change was made to distinguish
> unreachable directories from empty directories.
> Unreachable dirs are not common, but it seems useful for the user
> to know they're in one
Thanks, I applied the patch. My feeling is that 'ls' is about listing directory
contents, which is a different issue than reachability. A user wanting to know
whether they're in an unreachable directory can use a reachability-tester, like
'pwd'.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 05 Apr 2020 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 262 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.