Since I threw away everything I tried to repeat the problem. I will try to explain what I did using a log:
% which gpc /dutw54/deruiter/system/bin/gpc % mv /dutw54/deruiter/system/bin/gpc /dutw54/deruiter/system/bin/gpc.hide % rehash % which gpc /usr/tm/bin/gpc % gpc --version 2.95.2 19991024 (release) % make_clean % time make_fem >& /dev/null 169.390u 15.880s 4:31.73 68.1% 0+0k 0+0io 257172pf+0w % make_clean % mv /dutw54/deruiter/system/bin/gpc.hide /dutw54/deruiter/system/bin/gpc % which gpc /dutw54/deruiter/system/bin/gpc % gpc --version 20020910, based on gcc-2.95.2 19991024 (release) % make_clean %time make_fem > & ! make_log 1502.410u 434.950s 46:40.99 69.1% 0+0k 0+0io 11139770pf+0w % mv make_log make_log_first % time make_fem > & ! make_log 0.170u 0.090s 18:11:58.94 0.0% 0+0k 0+0io 4003pf+0w % grep gpcpp make_log_first | wc 43327 2166121 70806935 % grep gpcpp make_log | wc 177116 8855798 287544862 % grep gpcpp make_log | cut -f49 -d\ >make_log_gpcpp % grep gpcpp_first make_log | cut -f49 -d\ >make_log_first_gpcpp % ls -l make_log* -rw-r--r-- 1 deruiter staff 377521106 Sep 20 09:53 make_log -rw-r--r-- 1 deruiter staff 93209349 Sep 19 15:00 make_log_first -rw-r--r-- 1 deruiter staff 1043211 Sep 20 09:53 make_log_first_gpcpp -rw-r--r-- 1 deruiter staff 2388112 Sep 20 09:55 make_log_gpcpp
make_clean is a script that removes all the object and gpi files make_fem builds the executable.
So, I hid the new binary to use the old compiler, made sure that the old compiler was used, and nothing was compiled, and managed to obtain a executable in 4:31.73 (
Then I trew everything away, restored the new compiler, and obtained an executable in 46:40.99, which is considerably longer
After moving the log file only, I tried to compile again (overnight!), without succes. I interrupted the process after 18:11:58.94
The last lines tell that gpcpp was invoked 43327 times in the first run, that yielded an executable, and 177116 times in the interrupted last. The 48-th arguments, that are the unit file names, are selected and put in the _gpcpp files
Since I do not want to flush the entire gpc mailinglist with (hundreds of) megabytes of log files, I do not include the logfiles to this mail, but I hope I can highlight some of the output, that points in the right direction.
More commands follow: % head -50 make_log > make_log.firstlines % head -200 make_log_first_gpcpp > make_log_first_gpcpp.firstlines % head -200 make_log_gpcpp > make_log_gpcpp.firstlines % cat -n make_log_first_gpcpp | grep NODES | head -40 > make_log_first_gpcpp_NODES % cat -n make_log_gpcpp | grep NODES | head -40 > make_log_gpcpp_NODES
The attachment make_log.firstlines shows the first lines of the logfile, hopefully showing all that is used invoking the compilation.
The other attachments show that NODES/*/*.p are compiled in one row of invocations of gpcpp, in the `clean' invocation of make_fem, namely line 18-29, whereas when all units are already compiled and available, then all dependencies are checked and double checked, so that the invocations are 6 apart, and cover 51 to 117.
Hoping this helps to pinpoint the problem,
regards, Marten Jan