[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
stamp-vti and OpenBSD make
From: |
Bruno Haible |
Subject: |
stamp-vti and OpenBSD make |
Date: |
Sat, 15 May 2010 15:13:07 +0200 |
User-agent: |
KMail/1.9.9 |
Hi,
I'm trying to build a slightly modified libunistring-0.9.3
on OpenBSD 4.5. With GNU make, there is no problem. But with
/usr/bin/make, I get this error:
$ wget http://www.haible.de/bruno/gnu/libunistring-0.9.3a.tar.gz
[This tarball was generated with automake's "make distcheck" rule.]
$ tar xvfz libunistring-0.9.3a.tar.gz
$ cd libunistring-0.9.3
$ ./configure --prefix=$HOME/gnu
$ make
make all-recursive
Making all in doc
restore=: && backupdir=".am$$" && am__cwd=`pwd` &&
CDPATH="${ZSH_VERSION+.}:" && cd . && rm -rf $backupdir && mkdir $backupdir &&
if (env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= /bin/sh
/home/bruno/libunistring-0.9.3/build-aux/missing --run makeinfo --version)
>/dev/null 2>&1; then for f in ./libunistring.info ./libunistring.info-[0-9]
./libunistring.info-[0-9][0-9] ./libunistring.i[0-9]
./libunistring.i[0-9][0-9]; do if test -f $f; then mv $f $backupdir;
restore=mv; else :; fi; done; else :; fi && cd "$am__cwd"; if env LANG=
LC_MESSAGES= LC_ALL= LANGUAGE= /bin/sh
/home/bruno/libunistring-0.9.3/build-aux/missing --run makeinfo -I .
--no-split -I . -o ./libunistring.info ./libunistring.texi; then rc=0;
CDPATH="${ZSH_VERSION+.}:" && cd .; else rc=$?; CDPATH="${ZSH_VERSION+.}:"
&& cd . && $restore $backupdir/* `echo "././libunistring.info" | sed
's|[^/]*$||'`; fi; rm -rf $backupdir; exit $rc
./libunistring.texi:5: warning: unrecognized encoding name `UTF-8'.
.//uninorm.texi:198: Unknown command `arrow'.
.//uninorm.texi:198: Misplaced {.
.//uninorm.texi:198: Misplaced }.
.//uninorm.texi:198: Unknown command `arrow'.
.//uninorm.texi:198: Misplaced {.
.//uninorm.texi:198: Misplaced }.
makeinfo: Removing output file `./libunistring.info' due to errors; use
--force to preserve.
*** Error code 1
Stop in /home/bruno/libunistring-0.9.3/doc (line 846 of Makefile).
*** Error code 1
Stop in /home/bruno/libunistring-0.9.3 (line 885 of Makefile).
*** Error code 1
Stop in /home/bruno/libunistring-0.9.3 (line 788 of Makefile).
The problem is in the doc/ directory the order of the time stamps:
$ cd doc
$ ls -lrt libunistring.texi libunistring.info version.texi stamp-vti
-rw-r--r-- 1 bruno users 35868 Jan 1 03:38 libunistring.texi
-rw-r--r-- 1 bruno users 98 Mar 29 11:16 version.texi
-rw-r--r-- 1 bruno users 295312 Mar 30 00:11 libunistring.info
-rw-r--r-- 1 bruno users 98 May 2 23:30 stamp-vti
together with these rules and dependencies:
(1) all: all-am
(2) all-am: Makefile $(INFO_DEPS) all-local
INFO_DEPS = $(srcdir)/libunistring.info
(3) .texi.info:
...
(4) $(srcdir)/libunistring.info: libunistring.texi $(srcdir)/version.texi
$(libunistring_TEXINFOS)
(5) $(srcdir)/version.texi: $(srcdir)/stamp-vti
(6) $(srcdir)/stamp-vti: libunistring.texi $(top_srcdir)/configure
...
Rules (1)-(6) are all generated by automake.
The problem is that the stamp-vti rule (6) can leave on disk a stamp-vti
file that is newer than version.texi. The OpenBSD 'make' then interprets
rule (5) as a declaration that version.texi is out-of-date. But when
version.texi is out-of-date, rule (4) says that libunistring.info
should be rebuilt, and this requires more than the "usual tools"
(namely, a new enough 'makeinfo' program).
Can the stamp-vti handling be rewritten some way?
Or should the GNU standards and the INSTALL file be changed to specify
that on OpenBSD, GNU 'make' is necessary for building packages?
Bruno
- stamp-vti and OpenBSD make,
Bruno Haible <=