[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
problem building on AIX 4
From: |
Bruno Haible |
Subject: |
problem building on AIX 4 |
Date: |
Wed, 11 Jun 2008 02:18:55 +0200 |
User-agent: |
KMail/1.5.4 |
Hi,
I'm trying to build coreutils-6.12.29-a16be on AIX 4.3.2. It was built
with autoconf 2.62.
$ ./configure
...
$ make
"Makefile", line 541: make: 1254-055 Dependency line needs colon or double
colon operator.
"Makefile", line 542: make: 1254-055 Dependency line needs colon or double
colon operator.
...
make: 1254-058 Fatal errors encountered -- cannot continue.
The Makefile contains this at line 540ff:
----------------------------
MAN = uname.1
chroot.1
hostid.1
nice.1
who.1
users.1
pinky.1
uptime.1
stty.1
df.1
chcon.1
chgrp.1
chown.1
chmod.1
cp.1
dd.1
dircolors.1
du.1
\.1
install.1
link.1
ln.1
dir.1
vdir.1
ls.1
mkdir.1
\.1
mkfifo.1
mknod.1
mktemp.1
\.1
mv.1
nohup.1
readlink.1
rm.1
rmdir.1
shred.1
stat.1
sync.1
touch.1
unlink.1
\.1
cat.1
cksum.1
comm.1
csplit.1
cut.1
expand.1
fmt.1
fold.1
head.1
join.1
groups.1
md5sum.1
\.1
nl.1
od.1
paste.1
pr.1
ptx.1
sha1sum.1
sha224sum.1
sha256sum.1
sha384sum.1
sha512sum.1
\.1
shuf.1
sort.1
split.1
sum.1
tac.1
tail.1
tr.1
tsort.1
unexpand.1
uniq.1
wc.1
\.1
basename.1
date.1
dirname.1
echo.1
env.1
expr.1
factor.1
false.1
\.1
id.1
kill.1
logname.1
pathchk.1
printenv.1
printf.1
pwd.1
\.1
runcon.1
seq.1
sleep.1
tee.1
\.1
test.1
timeout.1
true.1
truncate.1
tty.1
whoami.1
yes.1
\.1
base64.1
MKDIR_P = /opt/gnu/bin/mkdir -p
-------------------------------------
As you can see, there is a problem with missing backslashes.
Makefile.in has this:
-------------------------------------
MAN = @MAN@
MKDIR_P = @MKDIR_P@
-------------------------------------
config.status has this:
-------------------------------------
AWK='nawk'
...
S["MAN"]="uname.1\n"\
"chroot.1\n"\
"hostid.1\n"\
"nice.1\n"\
"who.1\n"\
"users.1\n"\
"pinky.1\n"\
"uptime.1\n"\
"stty.1\n"\
"df.1\n"\
"\n"\
"chcon.1\n"\
"chgrp.1\n"\
"chown.1\n"\
"chmod.1\n"\
"cp.1\n"\
"dd.1\n"\
"dircolors.1\n"\
"du.1\n"\
"\\.1\n"\
"install.1\n"\
"link.1\n"\
"ln.1\n"\
"dir.1\n"\
"vdir.1\n"\
"ls.1\n"\
"mkdir.1\n"\
"\\.1\n"\
"mkfifo.1\n"\
"mknod.1\n"\
"mktemp.1\n"\
"\\.1\n"\
"mv.1\n"\
"nohup.1\n"\
"readlink.1\n"\
"rm.1\n"\
"rmdir.1\n"\
"shred.1\n"\
"stat.1\n"\
"sync.1\n"\
"touch.1\n"\
"unlink.1\n"\
"\\.1\n"\
"cat.1\n"\
"cksum.1\n"\
"comm.1\n"\
"csplit.1\n"\
"cut.1\n"\
"expand.1\n"\
"fmt.1\n"\
"fold.1\n"\
"head.1\n"\
"join.1\n"\
"groups.1\n"\
"md5sum.1\n"\
"\\.1\n"\
"nl.1\n"\
"od.1\n"\
"paste.1\n"\
"pr.1\n"\
"ptx.1\n"\
"sha1sum.1\n"\
"sha224sum.1\n"\
"sha256sum.1\n"\
"sha384sum.1\n"\
"sha512sum.1\n"\
"\\.1\n"\
"shuf.1\n"\
"sort.1\n"\
"split.1\n"\
"sum.1\n"\
"tac.1\n"\
"tail.1\n"\
"tr.1\n"\
"tsort.1\n"\
"unexpand.1\n"\
"uniq.1\n"\
"wc.1\n"\
"\\.1\n"\
"basename.1\n"\
"date.1\n"\
"dirname.1\n"\
"echo.1\n"\
"env.1\n"\
"expr.1\n"\
"factor.1\n"\
"false.1\n"\
"\\.1\n"\
"id.1\n"\
"kill.1\n"\
"logname.1\n"\
"pathchk.1\n"\
"printenv.1\n"\
"printf.1\n"\
"pwd.1\n"\
"\\.1\n"\
"runcon.1\n"\
"seq.1\n"\
"sleep.1\n"\
"tee.1\n"\
"\\.1\n"\
"test.1\n"\
"timeout.1\n"\
"true.1\n"\
"truncate.1\n"\
"tty.1\n"\
"whoami.1\n"\
"yes.1\n"\
"\\.1\n"\
"base64.1"
S["U"]=""
---------------------
and also
S["SHELL"]="/bin/sh"
S["POSIX_SHELL"]="/bin/sh"
S["PREFERABLY_POSIX_SHELL"]="/bin/sh"
The problem lies in the second MAN assignment in configure.ac:
MAN=`for m in $MAN; do test $m = ginstall.1 && m=install.1; echo $m; done \
| tr '\015\012' ' '; echo`
On Linux:
$ MAN="abc.1 def.1 "; for m in $MAN; do echo $m; done | tr '\015\012' ' '; echo
abc.1 def.1
On AIX:
$ MAN="abc.1 def.1 "; for m in $MAN; do echo $m; done | tr '\015\012' ' '; echo
abc.1
def.1
The fix is to change the second argument of the 'tr' command from a single space
to a double space; then it works.
2008-06-10 Bruno Haible <address@hidden>
* configure.ac: Fix unportable invocation of 'tr', introduced on
2008-04-22.
--- configure.ac.bak 2008-06-08 15:16:02.000000000 +0200
+++ configure.ac 2008-06-11 02:15:48.000000000 +0200
@@ -313,7 +313,7 @@
# Change ginstall.1 to "install.h" in $MAN.
MAN=`for m in $MAN; do test $m = ginstall.1 && m=install.1; echo $m; done \
- | tr '\015\012' ' '; echo`
+ | tr '\015\012' ' '; echo`
# Remove [.1, since writing a portable rule for it in man/Makefile.am
# is not practical. The sed LHS below uses the autoconf quadrigraph
- problem building on AIX 4,
Bruno Haible <=