Hi,

I originally sent this to the gcc-help list [1].  I'm not sure if it's a
bug in GCC or just an issue of some kind with my environment.

[1]: http://gcc.gnu.org/ml/gcc-help/2013-04/msg00090.html

I'm trying to build and install GCC 4.7.2, and I'm getting the following
error from the "install-mkheaders" target of gcc/Makefile:

    [...]
    /usr/bin/install -c -m 644 
/home/pj/distro/pkg/gcc-4.7/tmp/src/gcc/gsyslimits.h \
              
/home/pj/distro/pkg/gcc-4.7/tmp/dest/usr/lib/amd64-linux-eglibc/gcc/x86_64-unknown-linux-gnu/4.7.2/install-tools/gsyslimits.h
    /usr/bin/install -c -m 644 macro_list 
/home/pj/distro/pkg/gcc-4.7/tmp/dest/usr/lib/amd64-linux-eglibc/gcc/x86_64-unknown-linux-gnu/4.7.2/install-tools/macro_list
    /usr/bin/install -c -m 644 fixinc_list 
/home/pj/distro/pkg/gcc-4.7/tmp/dest/usr/lib/amd64-linux-eglibc/gcc/x86_64-unknown-linux-gnu/4.7.2/install-tools/fixinc_list
    set -e; for ml in `cat fixinc_list`; do \
              multi_dir=`echo ${ml} | sed -e 's/^[^;]*;//'`; \
              /bin/bash 
/home/pj/distro/pkg/gcc-4.7/tmp/src/gcc/../mkinstalldirs 
/home/pj/distro/pkg/gcc-4.7/tmp/dest/usr/lib/amd64-linux-eglibc/gcc/x86_64-unknown-linux-gnu/4.7.2/install-tools/include${multi_dir};
 \
              /usr/bin/install -c -m 644 include-fixed${multidir}/limits.h 
/home/pj/distro/pkg/gcc-4.7/tmp/dest/usr/lib/amd64-linux-eglibc/gcc/x86_64-unknown-linux-gnu/4.7.2/install-tools/include${multi_dir}/limits.h;
 \
            done
    /usr/bin/install: cannot stat `include-fixed/limits.h': No such file or 
directory
    make[3]: *** [install-mkheaders] Error 1
    make[3]: Leaving directory `/home/pj/distro/pkg/gcc-4.7/tmp/gcc-build/gcc'
    make[2]: *** [install-gcc] Error 2
    make[2]: Leaving directory `/home/pj/distro/pkg/gcc-4.7/tmp/gcc-build'
    make[1]: *** [install] Error 2
    make[1]: Leaving directory `/home/pj/distro/pkg/gcc-4.7/tmp/gcc-build'
    make: *** [install] Error 2

I've confirmed that gcc/include-fixed/limits.h is generated when I
build GCC.

I watched for changes to gcc/include-fixed/limits.h while I updated the
"install" target of the top-level makefile:

    $ inotifywait --monitor --format '[%T] %f: %e' --timefmt '%T' 
gcc/include-fixed/ | grep -F -C 2 limits.h
    Setting up watches.
    Watches established.
    [08:08:21] python2.6_d: DELETE,ISDIR
    [08:08:21] gnu: DELETE
    [08:08:21] syslimits.h: DELETE
    [08:08:21] limits.h: MOVED_FROM
    [08:08:21] syslimits.h: MOVED_TO
    [08:08:21] syslimits.h: ATTRIB
    [08:08:45] : OPEN,ISDIR
    [08:08:45] xorg: OPEN,ISDIR
    [08:08:45] xorg: CLOSE_NOWRITE,CLOSE,ISDIR
    [08:08:45] syslimits.h: OPEN
    [08:08:45] syslimits.h: ACCESS
    [08:08:45] syslimits.h: CLOSE_NOWRITE,CLOSE
    [08:08:45] irrlicht: OPEN,ISDIR
    [08:08:45] irrlicht: CLOSE_NOWRITE,CLOSE,ISDIR

The deletion of syslimits.h, movement of limits.h to syslimits.h, and
change to the metadata of syslimits.h all look like the behavior of the
"stmp-fixinc" target.  But as far as I can tell that target isn't being
updated with the top-level "install" target.  (Nor should it be, as far
as I know.)

Does anyone have any idea what's happening here?  Why is
gcc/include-fixed/limits.h being moved when updating the "install"
target?

Let me know if I can provide any other information that may help.

My build system:

  * Linux 3.2.0
  * EGLIBC 2.13
  * GCC 4.7.2
  * Binutils 2.22

Thanks,
-- 
Patrick "P. J." McDermott
http://www.pehjota.net/
http://www.pehjota.net/contact.html

Reply via email to