With gcc-4.0.0 on GNU/Linux (specifically, Red Hat WS 4), GNU make 3.80, I get an error when trying to build with srcdir = objdir. Since the documentation says this "should" work, even though it recommends compiling with srcdir != objdir, I'm reporting it. (The problem does not happen when srcdir != objdir.)
Here's the configure line: ./configure --prefix=/usr/local/gnu --enable-languages=c,c++ And then the make: make bootstrap And the error: make[1]: Entering directory `/usr/local/gnu/src/gcc-4.0.0/build-i686-pc-linux-gnu/libiberty' if [ x"" != x ] && [ ! -d pic ]; then \ mkdir pic; \ else true; fi touch stamp-picdir make[1]: *** No rule to make target `../include/ansidecl.h', needed by `regex.o'. Stop. make[1]: Leaving directory `/usr/local/gnu/src/gcc-4.0.0/build-i686-pc-linux-gnu/libiberty' make: *** [all-build-libiberty] Error 2 Full output below. Regards, karl $ ./configure --prefix=/usr/local/gnu --enable-languages=c,c++ creating cache ./config.cache checking host system type... i686-pc-linux-gnu checking target system type... i686-pc-linux-gnu checking build system type... i686-pc-linux-gnu checking for a BSD compatible install... /usr/local/gnu/bin/install -c checking whether ln works... yes checking whether ln -s works... yes checking for gcc... gcc checking whether the C compiler (gcc ) works... yes checking whether the C compiler (gcc ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for gnatbind... gnatbind checking whether compiler driver understands Ada... no checking how to compare bootstrapped objects... cmp --ignore-initial=16 $$f1 $$f2 checking for correct version of gmp.h... yes checking for MPFR... yes *** This configuration is not supported in the following subdirectories: target-libada target-libgfortran target-libffi target-boehm-gc target-zlib target-libjava zlib fastjar target-libobjc (Any other directories should still work fine.) checking for bison... bison checking for bison... bison -y checking for gm4... no checking for gnum4... no checking for m4... m4 checking for flex... flex checking for flex... flex checking for makeinfo... makeinfo checking for i686-pc-linux-gnu-ar... no checking for ar... ar checking for i686-pc-linux-gnu-as... no checking for as... as checking for i686-pc-linux-gnu-dlltool... no checking for dlltool... dlltool checking for i686-pc-linux-gnu-ld... no checking for ld... ld checking for i686-pc-linux-gnu-nm... no checking for nm... nm checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for i686-pc-linux-gnu-windres... no checking for windres... windres checking for i686-pc-linux-gnu-objcopy... no checking for objcopy... objcopy checking for i686-pc-linux-gnu-objdump... no checking for objdump... objdump checking for i686-pc-linux-gnu-ar... no checking for ar... ar checking for i686-pc-linux-gnu-as... no checking for as... as checking for i686-pc-linux-gnu-dlltool... no checking for dlltool... dlltool checking for i686-pc-linux-gnu-ld... no checking for ld... ld checking for i686-pc-linux-gnu-nm... no checking for nm... nm checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for i686-pc-linux-gnu-windres... no checking for windres... windres checking whether to enable maintainer-specific portions of Makefiles... no checking if symbolic links between directories work... yes updating cache ./config.cache creating ./config.status creating Makefile $ make bootstrap mkdir -p -- build-i686-pc-linux-gnu/libiberty Configuring in build-i686-pc-linux-gnu/libiberty COPYING.LIB ..linked ChangeLog ..linked Makefile.in ..linked README ..linked _doprnt.c ..linked aclocal.m4 ..linked alloca.c ..linked argv.c ..linked asprintf.c ..linked atexit.c ..linked basename.c ..linked bcmp.c ..linked bcopy.c ..linked bsearch.c ..linked bzero.c ..linked calloc.c ..linked choose-temp.c ..linked clock.c ..linked concat.c ..linked config ..working in mh-aix ..linked mh-cxux7 ..linked mh-fbsd21 ..linked mh-openedition ..linked mh-windows ..linked config.h-vms ..linked config.in ..linked config.table ..linked configure ..linked configure.ac ..linked copying-lib.texi ..linked copysign.c ..linked cp-demangle.c ..linked cp-demangle.h ..linked cp-demint.c ..linked cplus-dem.c ..linked dyn-string.c ..linked fdmatch.c ..linked ffs.c ..linked fibheap.c ..linked floatformat.c ..linked fnmatch.c ..linked fnmatch.txh ..linked functions.texi ..linked gather-docs ..linked getcwd.c ..linked getopt.c ..linked getopt1.c ..linked getpagesize.c ..linked getpwd.c ..linked getruntime.c ..linked hashtab.c ..linked hex.c ..linked index.c ..linked insque.c ..linked lbasename.c ..linked libiberty.texi ..linked lrealpath.c ..linked maint-tool ..linked make-relative-prefix.c ..linked make-temp-file.c ..linked makefile.vms ..linked md5.c ..linked memchr.c ..linked memcmp.c ..linked memcpy.c ..linked memmove.c ..linked mempcpy.c ..linked memset.c ..linked mkstemps.c ..linked mpw-config.in ..linked mpw-make.sed ..linked mpw.c ..linked msdos.c ..linked objalloc.c ..linked obstack.c ..linked obstacks.texi ..linked partition.c ..linked pex-common.h ..linked pex-djgpp.c ..linked pex-mpw.c ..linked pex-msdos.c ..linked pex-os2.c ..linked pex-unix.c ..linked pex-win32.c ..linked pexecute.txh ..linked physmem.c ..linked putenv.c ..linked random.c ..linked regex.c ..linked rename.c ..linked rindex.c ..linked safe-ctype.c ..linked setenv.c ..linked sigsetmask.c ..linked snprintf.c ..linked sort.c ..linked spaces.c ..linked splay-tree.c ..linked stpcpy.c ..linked stpncpy.c ..linked strcasecmp.c ..linked strchr.c ..linked strdup.c ..linked strerror.c ..linked strncasecmp.c ..linked strncmp.c ..linked strrchr.c ..linked strsignal.c ..linked strstr.c ..linked strtod.c ..linked strtol.c ..linked strtoul.c ..linked ternary.c ..linked testsuite ..working in Makefile.in ..linked demangle-expected ..linked test-demangle.c ..linked tmpnam.c ..linked vasprintf.c ..linked vfork.c ..linked vfprintf.c ..linked vmsbuild.com ..linked vprintf.c ..linked vsnprintf.c ..linked vsprintf.c ..linked waitpid.c ..linked xatexit.c ..linked xexit.c ..linked xmalloc.c ..linked xmemdup.c ..linked xstrdup.c ..linked xstrerror.c ..linked configure: creating cache ../config.cache checking whether to enable maintainer-specific portions of Makefiles... no checking for makeinfo... makeinfo checking for perl... perl checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for i686-pc-linux-gnu-ar... no checking for ar... ar checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for i686-pc-linux-gnu-gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ANSI C... none needed checking how to run the C preprocessor... gcc -E checking whether gcc and cc understand -c and -o together... yes checking for an ANSI C-conforming const... yes checking for inline... inline checking whether byte ordering is bigendian... no checking for a BSD-compatible install... /usr/local/gnu/bin/install -c checking for sys/file.h... yes checking for sys/param.h... yes checking for limits.h... yes checking for stdlib.h... yes checking for malloc.h... yes checking for string.h... yes checking for unistd.h... yes checking for strings.h... yes checking for sys/time.h... yes checking for time.h... yes checking for sys/resource.h... yes checking for sys/stat.h... yes checking for sys/mman.h... yes checking for fcntl.h... yes checking for alloca.h... yes checking for sys/pstat.h... no checking for sys/sysmp.h... no checking for sys/sysinfo.h... yes checking for machine/hal_sysinfo.h... no checking for sys/table.h... no checking for sys/sysctl.h... yes checking for sys/systemcfg.h... no checking for stdint.h... yes checking for sys/wait.h that is POSIX.1 compatible... yes checking whether time.h and sys/time.h may both be included... yes checking whether errno must be declared... no checking for egrep... grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for memory.h... yes checking for strings.h... (cached) yes checking for inttypes.h... yes checking for stdint.h... (cached) yes checking for unistd.h... (cached) yes checking for int... yes checking size of int... 4 checking for uintptr_t... yes checking for a 64-bit type... uint64_t checking for pid_t... yes checking for library containing strerror... none required checking for asprintf... yes checking for atexit... yes checking for basename... yes checking for bcmp... yes checking for bcopy... yes checking for bsearch... yes checking for bzero... yes checking for calloc... yes checking for clock... yes checking for ffs... yes checking for getcwd... yes checking for getpagesize... yes checking for index... yes checking for insque... yes checking for memchr... yes checking for memcmp... yes checking for memcpy... yes checking for memmove... yes checking for mempcpy... yes checking for memset... yes checking for mkstemps... no checking for putenv... yes checking for random... yes checking for rename... yes checking for rindex... yes checking for setenv... yes checking for snprintf... yes checking for sigsetmask... yes checking for stpcpy... yes checking for stpncpy... yes checking for strcasecmp... yes checking for strchr... yes checking for strdup... yes checking for strncasecmp... yes checking for strrchr... yes checking for strstr... yes checking for strtod... yes checking for strtol... yes checking for strtoul... yes checking for tmpnam... yes checking for vasprintf... yes checking for vfprintf... yes checking for vprintf... yes checking for vsnprintf... yes checking for vsprintf... yes checking for waitpid... yes checking whether alloca needs Cray hooks... no checking stack direction for C alloca... -1 checking for unistd.h... (cached) yes checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking for _doprnt... no checking for sys_errlist... yes checking for sys_nerr... yes checking for sys_siglist... yes checking for external symbol _system_configuration... no checking for getrusage... yes checking for on_exit... yes checking for psignal... yes checking for strerror... yes checking for strsignal... yes checking for sysconf... yes checking for times... yes checking for sbrk... yes checking for gettimeofday... yes checking for realpath... yes checking for canonicalize_file_name... yes checking for pstat_getstatic... no checking for pstat_getdynamic... no checking for sysmp... no checking for getsysinfo... no checking for table... no checking for sysctl... yes checking whether canonicalize_file_name must be declared... yes checking for stdlib.h... (cached) yes checking for unistd.h... (cached) yes checking for getpagesize... (cached) yes checking for working mmap... yes checking for working strncmp... yes updating cache ../config.cache configure: creating ./config.status config.status: creating Makefile config.status: creating testsuite/Makefile config.status: creating config.h config.status: executing default commands make[1]: Entering directory `/usr/local/gnu/src/gcc-4.0.0/build-i686-pc-linux-gnu/libiberty' if [ x"" != x ] && [ ! -d pic ]; then \ mkdir pic; \ else true; fi touch stamp-picdir make[1]: *** No rule to make target `../include/ansidecl.h', needed by `regex.o'. Stop. make[1]: Leaving directory `/usr/local/gnu/src/gcc-4.0.0/build-i686-pc-linux-gnu/libiberty' make: *** [all-build-libiberty] Error 2