mainline broken in 'make install', problem with libffi mkinstalldirs

Michael Elizabeth Chastain mec@shout.net
Fri Jan 31 10:52:00 GMT 2003


Environment: gcc HEAD%20030130, native i686-pc-linux-gnu, red hat linux 8,
gnu make 3.79.1.  My last successful build was gcc HEAD%20030128.

config.status says (pretty-printed):

  /berman/fsf/_today_/source/gcc/HEAD/gcc/configure
    --prefix=/berman/fsf/_today_/berman/install/target/native/gcc/gcc-HEAD-binutils-HEAD 
    --disable-shared 
    --with-gnu-as
    --with-as=/berman/fsf/_today_/berman/install/target/native/binutils/HEAD/bin/as
    --with-gnu-ld
    --with-ld=/berman/fsf/_today_/berman/install/target/native/binutils/HEAD/bin/ld
    --with-gcc-version-trigger=/berman/fsf/_today_/source/gcc/HEAD/gcc/gcc/version.c

I got this error from 'make install'.

  # make install
  make[3]: Entering directory `/berman/fsf/_today_/berman/build/target/native/gcc/gcc-HEAD-binutils-HEAD/i686-pc-linux-gnu/libffi'
  /bin/sh /berman/fsf/_today_/source/gcc/HEAD/gcc/libffi//berman/fsf/_today_/source/gcc/HEAD/gcc/libffi/../mkinstalldirs /berman/fsf/_today_/berman/install/target/native/gcc/gcc-HEAD-binutils-HEAD/lib/.
  /berman/fsf/_today_/source/gcc/HEAD/gcc/libffi//berman/fsf/_today_/source/gcc/HEAD/gcc/libffi/../mkinstalldirs: /berman/fsf/_today_/source/gcc/HEAD/gcc/libffi//berman/fsf/_today_/source/gcc/HEAD/gcc/libffi/../mkinstalldirs: No such file or
  directory                                                                       make[3]: *** [install-toolexeclibLTLIBRARIES] Error 127                         make[3]: Leaving directory `/berman/fsf/_today_/berman/build/target/native/gcc/g
  cc-HEAD-binutils-HEAD/i686-pc-linux-gnu/libffi'

Note the dupled name '/berman/fsf/.../...//berman/fsf/...'.

This happens because of a funky definition:

  # gcc/libffi/Makefile.in
  mkinstalldirs = $(SHELL) $(top_srcdir)/${libffi_basedir}/../mkinstalldirs

'top_srcdir' is an absolute path, and so is 'libffi_basedir'.

The change came from this patch:

  http://gcc.gnu.org/ml/gcc-cvs/2003-01/msg01395.html

libffi/Makefile.in 1.29 was generated with automake 1.4-p5.
It has this line:

  mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs

libffi/Makefile.in 1.30 was generated with automake 1.4.
It has this line:

  mkinstalldirs = $(SHELL) $(top_srcdir)/${libffi_basedir}/../mkinstalldirs

This looks like a simple gotcha in using the wrong automake version,
but it might be more messy than that.  This is probably related to the
problem that Christian Cornelssen is having over in the 3.3 branch.

Michael C



More information about the Gcc-bugs mailing list