T.R | Title | User | Personal Name | Date | Lines |
---|
1294.1 | Re: Make: Hash table overflow. Stop. | AOSG::FILTER | Automatic Posting Software - mail to flume::puck | Mon Feb 27 1995 11:42 | 17 |
| Date Of Receipt: 27-FEB-1995 10:47:21.21
From: SMURF::ALPHA::schloss "Mike Schloss usg 27-Feb-1995 1045"
To: buildhelp@DEC:.zko.alpha
CC: [email protected], [email protected], [email protected]
Subj: Re: Make: Hash table overflow. Stop.
The new version of make did not appear to work either but closer examination
reveled that it was not being executed. I placed it in a new directory and
stuck that directory at the front of my PATH (after workon). That didn't
work. I checked the conf directory for the makefile template and can't see
anywhere it overrides the path. I am currently trying the second suggestion
that I edit the Makefile to trip the dependencies but even that is proving
to be a non-trivial problem as the build regenerates the makefile as part of
the build process. Any ideas?
Mike Schloss
|
1294.2 | Re: Make: Hash table overflow. Stop. | AOSG::FILTER | Automatic Posting Software - mail to flume::puck | Mon Feb 27 1995 11:45 | 50 |
| Date Of Receipt: 27-FEB-1995 11:01:37.02
From: SMURF::FLUME::"[email protected]" "27-Feb-1995 1100"
To: [email protected]
CC: [email protected], [email protected], [email protected],
[email protected]
Subj: Re: Make: Hash table overflow. Stop.
How did you determine it was not being executed? Just curious.
When you do a workon, your path gets redefined - `which make` does not return
the value of the make that build finds.
workon -sb ptos
cd'ing to sandbox source directory: /home_alone/sandboxes/ptos/src.
starting new shell: /bin/tcsh.
cardinal ptos/src [20] sbinfo PATH
/home_alone/sandboxes/ptos/tools/alpha/hostbin:/home_alone/sandboxes/ptos/tools
/alpha/bin:/home_alone/sandboxes/ptos/tools/alpha/acc:
/usr/sde/osf1/build/ptos/tools/alpha_OSF1/alpha/hostbin: # make lives here
/usr/sde/osf1/build/ptos/tools/alpha_OSF1/alpha/bin:/usr/sde/osf1/build/ptos/to
ols/alpha_OSF1/alpha/acc:/usr/sde/ode2.0/tools/alpha_ace/bin:/usr/ucb:/bin:/usr
/bin:/sbin:/usr/sbin
cardinal ptos/src [21]
Robin had included his comments previously about size of the hash table. HE ad
increased it from 8191 to 16383. The version you are using in ptos is TWICE
that size at 32767. If the nightly build works at 16383, I can't imagine what
you changed to have it still fail with a hash table twice that size.
-Grant
|
| The new version of make did not appear to work either but closer examination
| reveled that it was not being executed. I placed it in a new directory and
| stuck that directory at the front of my PATH (after workon). That didn't
| work. I checked the conf directory for the makefile template and can't see
| anywhere it overrides the path. I am currently trying the second suggestion
| that I edit the Makefile to trip the dependencies but even that is proving
| to be a non-trivial problem as the build regenerates the makefile as part of
| the build process. Any ideas?
|
| Mike Schloss
|
1294.3 | Re: Make: Hash table overflow. Stop. | AOSG::FILTER | Automatic Posting Software - mail to flume::puck | Mon Feb 27 1995 11:48 | 15 |
| Date Of Receipt: 27-FEB-1995 11:25:49.49
From: SMURF::WASTED::rmiller "Robin Miller uhs"
To: [email protected], [email protected]
CC: [email protected], [email protected], [email protected]
Subj: Re: Make: Hash table overflow. Stop.
I agree with Grant, that if you are picking up the 'make' with the
larger hash table size, than something is drastically wrong (i.e., infinite
recursion can cause this problem as well).
I usually do an "export MAKE=/.../make" to have my builds pickup a
modified Make that I'm testing with.
-Robin
|
1294.4 | Re: Make: Hash table overflow. Stop. | AOSG::FILTER | Automatic Posting Software - mail to flume::puck | Mon Feb 27 1995 12:50 | 37 |
| Date Of Receipt: 27-FEB-1995 11:39:00.96
From: SMURF::ALPHA::schloss "Mike Schloss usg 27-Feb-1995 1137"
To: "Grant Van Dyck" <[email protected]>
CC: [email protected], [email protected], [email protected]
Subj: Re: Make: Hash table overflow. Stop.
> How did you determine it was not being executed? Just curious.
First off, niehter your version nor Robin's version appeared to work when
I dropped it into my normal PATH. Second, when I replaced the new version
of make with a script that logged its invocation, nothing got logged.
> When you do a workon, your path gets redefined - `which make` does not return
>
> the value of the make that build finds.
It is more then just redefined, I changed my PATH variable after the workon
and still no effect. I will try Robin's suggestion of 'export MAKE=foo'.
I understand that workon needs to change the PATH variable and I have no
problem with that. I do not understand why it ignores the PATH variable
and uses it's own hidden variable they may or may not be directly settable
and sure as heck in non-obvious. I have been a UNIX user (kernel hacker)
for more than 13 years now and I can't believe that it has taken me this
long to make my build use a different version of make. This is ludicrous
and goes against every design rule in UNIX. This is just broken and should
be fixed (and I bet the fix would involve ripping out code making things
smaller, faster, and easier to maintain).
As for the problem being in my code, there is non-zero chance of this but
I have cut my changes down to a small number of lines in two (2) files. There
are no new files and only one new dependency (which I eliminated in a test
version and still couldn't get the thing to build). I will let you know
If Robin's suggestion (along with Robin's make) get me out of this rut.
Mike Schloss
|