On Sun, Jan 22, 2006 at 05:56:36AM -0800, Fergal Daly wrote: > # New Ticket Created by Fergal Daly > # Please include the string: [perl #38307] > # in the subject line of all future correspondence about this issue. > # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=38307 > > > > I decided to change some config params (run Configure -D prefix=... > -d) and recompile. I cancelled the recompile very soon into it and > typed > > make clean > > but that sent it into more compilation. So it looks like the clean > target depends on something that causes compilation. Transcript of > make clean output below, > Making DynaLoader (clean) > make[1]: Entering directory `/home/fergal/src/perl-5.8.8-RC1/ext/DynaLoader' > Warning: ../../lib/Config.pm may be out of date with ../../config.sh > cd ../.. && make lib/Config.pm > make[2]: Entering directory `/home/fergal/src/perl-5.8.8-RC1' > `sh cflags "optimize='-O2'" gv.o` gv.c > CCCMD = cc -DPERL_CORE -c -fno-strict-aliasing -pipe > -Wdeclaration-after-statement -I/usr/local/include -D_LARGEFILE_SOURCE > -D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm -O2 -Wall I can't recreate this. I can start to see how you can get close to this situation - from a clean (complete) build touch config.sh ./Configure -S make at which point make depend is run, *but* for that make once it is complete the dependency rules it creates aren't used, so recompilation of all the object files is skipped, miniperl is assumed to be up to date, and the first real work is making a new lib/Config.pm Which is what is confusing me, because even when I rig things with some touch commands to make files such as lib/Config.pm several days old, I can't re-create the situation you seem to be in, where make thinks that lib/Config.pm is out of date, so attempts to re-make it, triggering the recompile of all the object files previously missed. Also, I don't think that it's possible to avoid the initial problem in my description, which is that the automatic re-running of make depend by the first Makefile means that all the objects aren't rebuilt on that make run, but are on the next. (Someone might prove me wrong on this one) There are also still some parallel make bugs in 5.8.8 - I managed to end up with 2 makes running lib/unicore/mktables Also in blead IIRC make of Math::BigInt::FastCalc failed once because overload.pm couldn't load Scalar::Util correctly. But I couldn't re-create this, even when I tried seeding lib with a Scalar/Util.pm that would fail. Nicholas ClarkThread Previous | Thread Next