Wandering Thoughts archives

2006-10-31

A Solaris 8 make bug

; cat Makefile
foo : /tmp/bar
	touch foo
; mkdir /tmp/bar
; make
touch foo
; make
`foo' is up to date.
; touch /tmp/bar/t
; make
`foo' is up to date.
; gmake
touch foo

As 'make -ndd' shows, for some reason Solaris 8's version of make decides that directories always have a timestamp of 0. It knows that they exist, because if you remove /tmp/bar it complains about it. This behavior is the same for both /usr/ccs/bin/make and /usr/xpg4/bin/make.

On a quick test, this bug appears to be gone in Solaris 9. There's a Solaris 8 make patch not applied to our systems, but the README doesn't mention anything like this bug.

(Depending on a directory is the kind of thing you do if you're building something from a bunch of files dropped into a directory, and you need to do something every time a file is added or removed.)

I note in passing that make problems that cause things to not get rebuilt are much more annoying than make problems that cause things to get rebuilt all the time.

solaris/MakeDirectoryBug written at 23:11:15; Add Comment

An Internet rule of thumb

Any Internet protocol change that requires everyone's participation is dead on arrival.

This often applies to would-be antispam efforts such as SPF.

(Superficially, SPF looks like it is an isolated thing that only involves the sender having SPF records and the receiver checking them. It's not, and the way it requires everyone's participation is illustrated by the need for the Sender Rewriting Scheme.)

spam/AnInternetRule written at 14:32:17; Add Comment


Page tools: See As Normal.
Search:
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.