[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference smurf::buildhelp

Title:USG buildhelp questions/answers
Moderator:SMURF::FILTER
Created:Mon Apr 26 1993
Last Modified:Mon Jan 20 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2763
Total number of notes:5802

1294.0. "Re: Make: Hash table overflow. Stop." by AOSG::FILTER (Automatic Posting Software - mail to flume::puck) Fri Feb 24 1995 14:16

Date Of Receipt: 	24-FEB-1995 10:52:40.96
From: 	SMURF::FLUME::"vandyck@cardinal.zk3.dec.com" "24-Feb-1995 1050"
To: 	schloss@zk3.dec.com
CC: 	buildhelp@zk3.dec.com, smart@zk3.dec.com
Subj: 	Re: Make: Hash table overflow. Stop.

OK, I put a beefier make into ptos and ptos.nightly - give it a whirl.

If this overflows then its a problem in your sandbox.



	-Grant


| I have been dead in the water on this for two days now.
| Is anybody looking into this?
| 
| Mike Schloss
| 
| = To: buildhelp
| = Subject: problems building ptos
| = Date: Wed, 22 Feb 95 17:57:06 -0500
| = From: schloss
| = X-Mts: smtp
| = 
| = I am currently unable to build a platinum kernel due to the following
| = problem:
| = 
| = Make: Hash table overflow.  Stop.
| = *** Exit 1
| = Stop.
| = 
| = This occurs immediately after building MODULE_vm.o and before MODULE_advfs.
o
| = is built.  MODULE_advfs.o is an unusually large modual (~2MB) but the night
ly
| = build does not seem to have a problem.  Is there some configuration issue
| = that I should know about?
| = 
| = Mike Schloss
| = 


T.RTitleUserPersonal
Name
DateLines
1294.1Re: Make: Hash table overflow. Stop.AOSG::FILTERAutomatic Posting Software - mail to flume::puckMon Feb 27 1995 14:4217
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: 	vandyck@zk3.dec.com, johnf@zk3.dec.com, rmiller@zk3.dec.com
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.2Re: Make: Hash table overflow. Stop.AOSG::FILTERAutomatic Posting Software - mail to flume::puckMon Feb 27 1995 14:4550
Date Of Receipt: 	27-FEB-1995 11:01:37.02
From: 	SMURF::FLUME::"vandyck@cardinal.zk3.dec.com" "27-Feb-1995 1100"
To: 	schloss@zk3.dec.com
CC: 	buildhelp@zk3.dec.com, vandyck@zk3.dec.com, johnf@zk3.dec.com,
	rmiller@zk3.dec.com
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.3Re: Make: Hash table overflow. Stop.AOSG::FILTERAutomatic Posting Software - mail to flume::puckMon Feb 27 1995 14:4815
Date Of Receipt: 	27-FEB-1995 11:25:49.49
From: 	SMURF::WASTED::rmiller "Robin Miller uhs"
To: 	schloss@zk3.dec.com, vandyck@zk3.dec.com
CC: 	buildhelp@zk3.dec.com, johnf@zk3.dec.com, rmiller@zk3.dec.com
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.4Re: Make: Hash table overflow. Stop.AOSG::FILTERAutomatic Posting Software - mail to flume::puckMon Feb 27 1995 15:5037
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" <vandyck@zk3.dec.com>
CC: 	buildhelp@zk3.dec.com, johnf@zk3.dec.com, rmiller@zk3.dec.com
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