bug-automake
[Top][All Lists]
Advanced

[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





reply via email to

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