Closed Bug 140512 Opened 23 years ago Closed 23 years ago

test for gmake fails on debian 3.0 (sid)

Categories

(Developer Documentation Graveyard :: General, defect)

x86
Linux
defect
Not set
trivial

Tracking

(Not tracked)

RESOLVED INVALID

People

(Reporter: micheas, Assigned: endico)

Details

the make files test for gmake does not test $(which make) to see if it is gmake. A work around for this is to issue the command: su -c "ln -s $(which make) /usr/bin/gmake" or better yet fix the test in configure.in for gmake.
the problem is that configure asumes that gmake is installed as both gmake and make, and that they are the same version. A more robust configure would test that make --version returns the string "GNE Make" instead of just testing that gmake --version == make --version If it is considered a resonable expectation that GNU Make be installed with a link to gmake I will file a bug report with Debian.
Summary: test for gmake fails on debian 3.0 (sid) → test for gmake fails on debian 3.0 (sid)
chris, is this yours? sounds like a real build config bug, not just documentation.
> the problem is that configure asumes that gmake is installed as both gmake and > make, and that they are the same version. No, it doesn't. Configure looks for the make binary in your path; first as 'gmake' then as 'make'. Configure then tests to see if the binary that it finds is a version of GNU make. $MAKE is never called from inside the configure script after that. $MAKE is used during the actual build process (whenever 'gmake' or 'make' is called) but in that case, it is the binary itself that sets $MAKE. I don't understand why this is a problem unless you've got gmake as a symlink to a non-GNU version of make. And it is customary for gmake to be a symlink to make if make is a version of GNU make. This is why we search for gmake before make.
This turned out to be a different problem then I thought. The problem was that I ran: make clean instead of make distclean This should probably be either relabeled or marked invalid. It would be nice if there was a quick list of the Makefile options, but I guess it's good to look at the file anyways. Thanks for all the help.
Marking invalid per reporter's comments.
Status: NEW → RESOLVED
Closed: 23 years ago
Resolution: --- → INVALID
I just hit this problem, using an old tree on a newer ubuntu (edgy) install. And of course the advice to run make distclean doesn't work unless you make the gmake symlink by hand, since you can't make distclean until configure has generated the makefiles sucessfully. So here's a faster solution, in case anyone else hits it too: It turned out config.cache had the location stored as /usr/bin/gmake (apparently I had built this tree on a machine which had that symlink) and configure was insisting on using that, and not falling back to where make lives on the current machine. rm config.cache followed by another make -f client.mk (to re-run configure) fixed the problem.
Component: Mozilla Developer → Documentation Requests
Product: Documentation → Mozilla Developer Center
Component: Documentation Requests → Documentation
Component: Documentation → General
Product: Mozilla Developer Network → Developer Documentation
You need to log in before you can comment on or make changes to this bug.