[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Regarding compilation of coreutils.

From: Sandeep Kumar Sah
Subject: Re: Regarding compilation of coreutils.
Date: Thu, 9 Jan 2020 16:29:54 +0530

Yes, it worked.
doing 'which' ,i found that the ls was from /usr/local/bin, i replaced this
ls from the /usr/bin ls.
Thankyou for the help.

On Tue, Jan 7, 2020 at 11:26 AM Kaz Kylheku (Coreutils) <
address@hidden> wrote:

> On 2020-01-06 11:53, Sandeep Kumar Sah wrote:
> > previously i edited ls.c to print "Hello World" before listing content
> > in a
> > directory.
> > Now i have deleted the coreutils folder and everything underneath it.
> > I want to get the original version of ls command for which i am unable
> > to
> > build the source file, it tells me that
> > "checking for a BSD-compatible install... /usr/local/bin/install -c
> > checking whether build environment is sane... configure: error: ls -t
> > appears to fail.  Make sure there is not a broken
> >   alias in your environment
> > configure: error: newly created file is older than distributed files!
> Did you install this modified ls into your /bin?
> Or is it in some non-system location that happens to be listed in your
> If you didn't clobber your system ls, so this is just a PATH issue,
> either
> edit PATH, or find out where this modified ls is and remove/rename it.
> If you clobbered your /bin/ls, you may be able to use your GNU/Linux
> distro's packaging system to refresh the installation.
> Assuming you added something like:
>    printf("Hello, World\n");
> to the code, then you can edit /bin/ls with a binary editor, such as,
> oh, "vim -b /bin/ls".  Find the "Hello World" string, and overwrite
> the "H" with a null byte to reduce it to zero length. Save the
> executable
> and try it. If it's something like
>    puts("Hello, World");
> where the newline is implicit in the function behavior, you may have
> to find the instructions which make this call and overwrite them with
> NOP (byte value 0x90 on Intel x86, IIRC).
> Other ideas/hacks:
> - Copy a working /bin/ls from another system that is identical or
> similar to yours.
>    E.g. say you're on 64 bit Ubuntu 18. If you happen to have 64 bit
> Ubuntu 16,
>    that system's /bin/ls should work.
> - Go into the Coreutils configure system and try to
>    defeat the test for a working "ls -t". Maybe the result of the test
>    is not needed for the sake of building a working ls.
> - Rename the funny ls binary to ls-funny, and write a /bin/ls shell
>    script wrapper which calls ls-funny "$@", and filters out the Hello,
> World
>    first line of output, as in something like:
>      #!/bin/sh
>      /bin/ls-funny "$@" | sed -n -e '2,$p'
> - Absolute last resort of the utter coward: Boot some rescue DVD-ROM.
> Mount
>    your install partition and copy the live system's /bin/ls into your
> install
>    partition's /bin/ls.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]