[OpenAFS] Re: openafs on debian with linux 2.6.18 kernel

Lester Barrows barrows@email.arc.nasa.gov
Wed, 25 Oct 2006 11:37:27 -0700

On Wednesday 25 October 2006 10:35 am, Jeffrey Hutzelman wrote:
> > it is not in /lib/cpp, but
> > in /usr/bin/cpp. This is the standard location on all Linuxes I've ever
> > seen (Debian, RH, SuSe, Scientific, ...).
> If there's no /lib/cpp, then you have a problem.  Fix the problem, instead
> of trying to argue with me about filesystem policy or, worse, history.  If
> your unix experience is limited to four relatively recent Linux
> distributions, you don't have enough of a sample to say what the "standard
> location" is of anything as old as the C preprocessor.

FWIW, and history notwithstanding, cpp is in /usr/bin on most current Redhat 
and similar systems. The /lib/cpp file tends to be a symlink - it is in RHEL 
4 at the very least, and on some systems like Ubuntu and Mandriva 
both /usr/bin/cpp and /lib/cpp are links to /etc/alternatives/cpp which 
itself points to another file. I'm not saying it's a good or bad idea, but it 
came with the tendency of moving all system binaries 
into /bin, /sbin, /usr/bin and /usr/sbin. I have seen systems (Solaris and 
Irix mostly) where the compiler and preprocessor is sitting in its own 
directory under the /usr/local, /usr/freeware or even /opt tree, with no 
compiler at all in the typical /bin or /usr/bin directories. The path, or 
sometimes even the CPP environment variable, is the only way to find the 
preprocessor binary in some cases.

Perhaps my experience is relatively limited, having only used and administered 
UNIX and UNIX-like systems for a bit over a decade, but there's no reason a 
build system couldn't check to see if cpp is in an alternate location in the 
path. Maybe one could even check the shell environment's CPP value. 
Symlinking /lib/cpp to /usr/bin/cpp should solve the issue in this case, but 
assuming the path of a binary is still an assumption (with the associated 
logical conclusions.)


Lester Barrows
Asani Solutions, LLC
Code TI Systems Group
NASA Ames Research Center

"I am not a NASA employee, and my opinions are neither those of my employer 
nor NASA."