[Top][All Lists]

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

coreutils-6.12 fails to build on Solaris

From: Andrew Benham
Subject: coreutils-6.12 fails to build on Solaris
Date: Thu, 23 Oct 2008 13:28:24 +0100
User-agent: Thunderbird (X11/20081001)

On Solaris (at least 8, 9, and 10; sparc and x86) coreutils v6.12
fails to build.

The 'make' phase instantly errors with:
Makefile:541: *** missing separator.  Stop.

If we look at the 'configure' file, it reads:

70547  # Change ginstall.1 to "install.h" in $MAN.
70548  MAN=`for m in $MAN; do test $m = ginstall.1 && m=install.1; echo $m; 
done \
70549    | tr '\015\012' ' '; echo`

'man tr' on Solaris states:

     When the -d option is not specified:

        o  Each input character found in the array  specified  by
           string1 is replaced by the character in the same rela-
           tive position in the array specified by string2.  When
           the array specified by string2 is shorter that the one
           specified by string1, the results are unspecified.

In this case, string1 has 2 characters, string2 has 1 character, and
the results are unspecified.  And bad.

What I've seen is that the result is that the Makefiles end up with
lines like:

MAN = uname.1

which 'make' doesn't like at all.

Changing line 70549 of 'configure' to:

  | tr '\015\012' '  '; echo`

(i.e. making string2 contain 2 spaces) is the fix for this - the
Makefiles then contain:

MAN = uname.1 chroot.1 hostid.1 nice.1 who.1 ...

Andrew Benham     address@hidden@Cable&Wireless     address@hidden
Finchley, London N3 2QQ, U.K.   Tel: 020 8495 6343  Fax: 020 8495 6037

reply via email to

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