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