make test doesn't work.

Denys Vlasenko vda.linux at googlemail.com
Mon Jun 14 12:27:10 UTC 2010


On Mon, Jun 14, 2010 at 7:42 AM, Rob Landley <rob at landley.net> wrote:
> So I'm trying to set up the cron job to run the test suite each night,and I'm
> getting this from today's -git:
>
> landley at driftwood:~/busybox/git$ make test
> test -d /home/landley/busybox/git/testsuite || cp -pPR
> /home/landley/busybox/git/testsuite /home/landley/busybox/git
> bindir=/home/landley/busybox/git srcdir=/home/landley/busybox/git/testsuite \
>        /bin/sh -c "cd /home/landley/busybox/git/testsuite &&
> /home/landley/busybox/git/testsuite/runtest "
> /tmp/ccURAQUg.o: In function `main':
> echo.c:(.text+0x1d3): undefined reference to `fflush_all'
> collect2: ld returned 1 exit status
> make: *** [test] Error 1

Fixed in git.

> Why on earth do we have a scripts/echo.c?  What's it for?

Sometimes host's echo has no -e and/or -n. Standard even says:
"Implementations shall not support any options"
http://www.opengroup.org/onlinepubs/9699919799/utilities/echo.html

If we detect that this is the case:

test x"$ECHO" != x"" || {
        ECHO="echo"
        test x"`echo -ne`" = x"" || {
                # Compile and use a replacement 'echo' which understands -e -n
                ECHO="$PWD/echo-ne"
                test -x "$ECHO" || {
                        gcc -Os -o "$ECHO" ../scripts/echo.c || exit 1
                }
        }
        export ECHO
}

then we compile and use our own version.

> Isn't there already a coreutils/echo.c?

scripts/echo.c is a self-contained version, without libbb.h etc.

--
vda


More information about the busybox mailing list