[ccontrol] ccontrol 0.6 make bug

Martin Schwenke martin at meltin.net
Wed Dec 14 21:32:36 EST 2005


In ccontrol version 0.6 (Tony Breeds) there seems to be a subtle bug
somewhere in the make code.  I'm trying to use crosstool (to build a
cross compiler :-).  At the following stage glibc has been built and
an attempt is made to install it:

  make install_root=/opt/crosstool/gcc-4.0.2-glibc-2.2.5/powerpc-604-linux-gnu/powerpc-604-linux-gnu prefix= install

This causes the following rule to be invoked:

install:
        LANGUAGE=C LC_ALL=C; export LANGUAGE LC_ALL; \
        $(MAKE) -r PARALLELMFLAGS="$(PARALLELMFLAGS)" CVSOPTS="$(CVSOPTS)" -C $(srcdir) objdir=`pwd` $@

Somewhere in the depths of the Makefile in srcdir (and its include
files), the value of install_root gets overridden (with /usr :-),
presumably because some bizarre test indicates it is unset.  Luckily
I'm running as me, not root, and the installation fails...  otherwise
this might have been rescue disk time.

Running without make linked to ccontrol the install works as expected
- install_root keeps its value and things get successfuly installed.

I've tried constructing the obvious test case, but I can't seem to
trip ccontrol up.  This looks subtle...  :-(

peace & happiness,
martin




More information about the ccontrol mailing list