Re: Compiling problems with gtk+ 1.3.1



On Thu, Sep 07, 2000 at 02:34:08PM -1000, Tony Denault wrote:
> I had the same problem in the 1.2.x series. I used a mounted source code
> partition (/usr/shared/src), and tried to compile gtk on different
> version of solaris (2.6, 2.7) on our network. I keep getting an error
> on one machine until I manually deleted ./config.cashe. I assumed 'make
> clean' would be enough - I think is a fair assumption.

Some might think so, but automake, which generates, from the Makefile.am
files in the GTK+ distribution, the Makefile.in files whence the
Makefiles are generated, doesn't think so - and, it appears, the GNU
coding standards may not think so either.

GTK+ isn't the only package that uses automake, so you'll probably find
said assumption not honored by a lot of other software, and some
software that doesn't use automake also doesn't honor that assumption,
e.g. libpcap and tcpdump.

> I would really suggest that make clean deletes this files.
> Is the makefile maintainer listening?

That depends on whether one can make a Perl script listen:

	% file `which automake`
	/usr/local/bin/automake: perl script text executable

The "clean" rule is "maintained" by automake, not by a human; it doesn't
appear in "Makefile.am", it's generated by automake.

The same applies to the "distclean" rule; it removes a number of files
that "make clean" doesn't, including...

..."config.cache".

The GNU Coding Standards document at

	http://www.gnu.org/prep/standards.html

says, in the "Standard Targets for Users" section at

	http://www.gnu.org/prep/standards.html#SEC53

the following:

	`clean' 
	       Delete all files from the current directory that are normally
	       created by building the program.  Don't delete the files that
						 ^^^^^^^^^^^^^^^^^^^^^^^^^^^
	       record the configuration.  Also preserve files that could be
	       ^^^^^^^^^^^^^^^^^^^^^^^^
	       made by building, but normally aren't because the distribution
	       comes with them.  Delete `.dvi' files here if they are not part
	       of the distribution.

	`distclean'
	       Delete all files from the current directory that are created by
	       configuring or building the program.  If you have unpacked the
	       source and built the program without creating any other files,
	       `make distclean' should leave only the files that were in the
	       distribution.

Depending on whether you consider "config.cache" to "record the
configuration" or not, that might say that "clean" *shouldn't* delete
"config.cache".

It also says that "distclean" should delete "config.cache", as it's
"created by configuring ... the program".

I'd suggest using "make distclean", not just "make clean", before
reconfiguring on a different platform.




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]